Regression in SPEC2006/gcc caused by LoopLoadElimination

Hi Adam,

I find LoopLoadElimination (r262250) causes SPEC2006/gcc generate wrong result (166.s) in AArch64 when running with ref data set. The error happens when I use either “-Ofast -flto -fuse-ld=gold” or “-O3 -fno-strict-aliasing”. Please let me know if you need more information.

Best,

Haicheng

Hi Haicheng,

Sorry about the breakage. I reverted it in r262839.

I will try to reproduce it locally. Please don’t blow away your directories yet in case I need further help.

Thanks,
Adam

Hi Haicheng,

Sorry about the breakage. I reverted it in r262839.

I will try to reproduce it locally. Please don’t blow away your directories yet in case I need further help.

OK, I managed to reproduce this locally. Should be able to make progress from here without further help from you.

Adam

I’ve committed the fix in r263058. Haicheng, Eric/Benjamin, can you guys please give it a test with your codebase. (You need to enable the pass with -mllvm -enable-loop-load-elim.)

Thanks!
Adam

Thank you, Adam.

It passes all the benchmarks I have.

Haicheng

Thank you, Adam.

It passes all the benchmarks I have.

Haicheng

I’ll try to get this tested today.

I’ve committed the fix in r263058. Haicheng, Eric/Benjamin, can you guys
please give it a test with your codebase. (You need to enable the pass with
-mllvm -enable-loop-load-elim.)

The miscompilation I was seeing is gone now, too. Thanks!

Or Ben will test. :slight_smile:

Thanks Adam!

Thanks!

Cool, thanks guys!

Ben and Eric,

Are you guys still running some tests or you’re done? Now that the two issues are fixed, I’d like to flip this on again.

Thanks,
Adam

LLE is now on again (r263472). Thanks, everybody!