Open
Description
ldc fe 2.107 as per run.dlang.org
void main()
{
int d = 42;
bool o = d > d++;
}
define i32 @_Dmain({ i64, ptr } %unnamed) #0 {
%d = alloca i32, align 4 ; [#uses = 4, size/byte = 4]
%o = alloca i8, align 1 ; [#uses = 1, size/byte = 1]
store i32 42, ptr %d, align 4
%1 = load i32, ptr %d, align 4 ; [#uses = 2]
%2 = add i32 %1, 1 ; [#uses = 1]
store i32 %2, ptr %d, align 4
%3 = load i32, ptr %d, align 4 ; [#uses = 1]
%4 = icmp sgt i32 %3, %1 ; [#uses = 1]
%5 = zext i1 %4 to i8 ; [#uses = 1]
store i8 %5, ptr %o, align 1
ret i32 0
}
Note; the icmp is after the add, which it shouldn't be.
Source: https://twitter.com/marcos_don/status/1787629240550150361
Metadata
Metadata
Assignees
Labels
No labels