Displaying 3 results from an estimated 3 matches for "_tmp7".
Did you mean:
tmp7
2016 Feb 08
2
LoopIdiomRegognize vs Preserved
Hi,
I'm having problems with the LoopIdiomRegognizer crashing on me with
An asserting value handle still pointed to this value!
UNREACHABLE executed at ../lib/IR/Value.cpp:695!
If I remove
AU.addPreserved<LoopInfoWrapperPass>();
or
AU.addPreserved<AAResultsWrapperPass>();
everything goes well.
The C-code triggering this is
void foo(int a[10][10])
{
int i, j,
2016 Feb 09
2
LoopIdiomRegognize vs Preserved
...; preds = %bb3
store i8 0, i8* %k.4
br label %bb5
bb6: ; preds = %bb5
%_tmp31 = sext i8 %_tmp3 to i64
%_tmp4 = mul i64 %_tmp31, 10
%_tmp5 = getelementptr i8, i8* undef, i64 %_tmp4
%_tmp6 = load i8, i8* %k.4
%_tmp7 = getelementptr i8, i8* %_tmp5, i8 %_tmp6
store i8 42, i8* %_tmp7
%_tmp8 = load i8, i8* %k.4
%_tmp9 = add i8 %_tmp8, 1
store i8 %_tmp9, i8* %k.4
br label %bb5
bb5: ; preds = %bb6, %bb4
%_tmp10 = load i8, i8* %k.4
%_tmp11 = icmp slt i8 %_tm...
2017 Jan 13
4
Wrong code bug after GVN/PRE?
...a let someone who knows the code look at
it instead.
Anyway, for the bug to trigger I need to run the following passes in the
same opt invocation:
-sroa -instcombine -simplifycfg -instcombine -gvn
The problem seems to be that GVN::PerformLoadPRE triggers and I see a
GVN REMOVING PRE LOAD: %_tmp79 = load i16, i16* %_tmp78, align 2
printout.
If I instead first run
-sroa -instcombine -simplifycfg -instcombine
and then
-gvn
I don't get the
GVN REMOVING PRE LOAD
printout, and the resulting code looks ok to me.
Is this expected? Should the output differ in these two cases?
The...