implementation
void "test function"(int %i0, int %j0)
- %x = int 1
+ %x = const int 1
begin
Startup: ; Basic block #0
%i1 = add int %i0, 1
; format looks anyways (except for negative vs positive offsets)...
;
void "void"(int, int) ; Def %0, %1
- int 0 ; Def 2
- int -4 ; Def 3
+ const int 0 ; Def 2
+ const int -4 ; Def 3
begin
add int %0, %1 ; Def 4
sub int %4, %3 ; Def 5
; This function always returns zero
int "zarro"()
- uint 4000000000 ; Def 0 - uint plane
- int 0 ; Def 0 - int plane
+ const uint 4000000000 ; Def 0 - uint plane
+ const int 0 ; Def 0 - int plane
begin
Startup:
ret int %0
; This function always returns zero
int "zarro"(int %Func)
- %q = uint 4000000000
- %p = int 0
+ %q = const uint 4000000000
+ %p = const int 0
begin
Startup:
add int %p, 10
- long 12
+ const long 12
implementation
ulong "const removal"()
- long 12345
- %q = uint 4000000000 ; Def 0 - uint plane
- ulong 123 ; Def 0 - ulong plane
- ulong 4000000000000 ; Def 1 - ulong plane
+ const long 12345
+ %q = const uint 4000000000 ; Def %q - uint plane
+ const ulong 123 ; Def 0 - ulong plane
+ const ulong 4000000000000 ; Def 1 - ulong plane
begin
ret ulong %1
end
void "dce #1"()
- int 0
+ const int 0
begin
ret void
end
void "const prop #1"()
- %x = int 0 ; Def %x - int plane
- int 0 ; Def 0 - int plane
- bool false
+ %x = const int 0 ; Def %x - int plane
+ const int 0 ; Def 0 - int plane
+ const bool false
begin
Startup:
%x = seteq int %0, %x
implementation
int "test function"(int %i0, int %j0)
- %i1 = int 1
- %j1 = int 1
- %k1 = int 0
+ %i1 = const int 1
+ %j1 = const int 1
+ %k1 = const int 0
begin
BB1:
br label %BB2
; 2. cannot be folded because result of comparison is used twice
;
void "testbool"(int, int) ; Def %0, %1
- int 0 ; Def 2
- int -4 ; Def 3
+ const int 0 ; Def 2
+ const int -4 ; Def 3
begin
add int %0, %1 ; Def 4
sub int %4, %3 ; Def 5