Displaying 3 results from an estimated 3 matches for "r309240".
2017 Aug 02
3
[InstCombine] Simplification sometimes only transforms but doesn't simplify instruction, causing side effect in other pass
...n
TwoAddressInstruction pass for it. After instcombine, %conv.i's live
range is extended, both %and7.i and %conv.i are alive after the "and"
instruction, so TwoAddressInstruction pass will generate an extra mov
for %and7.i = and i32 %conv.i.
*** After instcombine: ***
~/workarea/llvm-r309240/rbuild1/bin/opt -instcombine -S < a.ll > b.ll; cat b.ll
@a = global i64 0, align 8
@b = global i32 0, align 8
define i32 @_Z25InternalUncompressAllTagsv(i16* %arrayidx) local_unnamed_addr {
entry:
%t1 = load i16, i16* %arrayidx, align 2
%conv.i = zext i16 %t1 to i32
%and.i = and i32 %c...
2017 Aug 02
3
[InstCombine] Simplification sometimes only transforms but doesn't simplify instruction, causing side effect in other pass
...e, %conv.i's live
>> range is extended, both %and7.i and %conv.i are alive after the "and"
>> instruction, so TwoAddressInstruction pass will generate an extra mov
>> for %and7.i = and i32 %conv.i.
>>
>> *** After instcombine: ***
>> ~/workarea/llvm-r309240/rbuild1/bin/opt -instcombine -S < a.ll > b.ll; cat b.ll
>> @a = global i64 0, align 8
>> @b = global i32 0, align 8
>>
>> define i32 @_Z25InternalUncompressAllTagsv(i16* %arrayidx) local_unnamed_addr {
>> entry:
>> %t1 = load i16, i16* %arrayidx, align 2
&...
2017 Aug 02
2
[InstCombine] Simplification sometimes only transforms but doesn't simplify instruction, causing side effect in other pass
...for it. After instcombine, %conv.i's live
> range is extended, both %and7.i and %conv.i are alive after the "and"
> instruction, so TwoAddressInstruction pass will generate an extra mov
> for %and7.i = and i32 %conv.i.
>
> *** After instcombine: ***
> ~/workarea/llvm-r309240/rbuild1/bin/opt -instcombine -S < a.ll > b.ll; cat
> b.ll
> @a = global i64 0, align 8
> @b = global i32 0, align 8
>
> define i32 @_Z25InternalUncompressAllTagsv(i16* %arrayidx)
> local_unnamed_addr {
> entry:
> %t1 = load i16, i16* %arrayidx, align 2
> %conv.i = z...