[llvm-commits] [llvm] r172534 - /llvm/trunk/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll

Andrew Trick atrick at apple.com
Fri Jan 18 14:22:50 PST 2013


Manish,

For some reason, the arm-hosted LSR does not seem to recognize -1 as a legal address here.

I'm baffled at how a fundamental problem would only show up in one test, but as a quick sanity check you can add an unreachable statement to X86TargetLowering::isLegalAddressingMode and make sure LSR is hitting it.

I suggest opening a PR.

-Andy

On Jan 15, 2013, at 11:45 AM, Manish Verma <Manish.Verma at arm.com> wrote:

> Hi,
> 
> I thought it would be my first harmless commit to LLVM. Apparently not! :-)
> 
> I am attaching the output generated by debug and release version of ARM
> native opt, and the output generated by the release version of x86 opt.
> 
> - post-inc-icmpzero.arm.debug.ll 
> - post-inc-icmpzero.arm.opt.ll 
> - post-inc-icmpzero.x86.opt.ll
> 
> Upon diff'ing the files, you can see that post-inc-icmpzero.arm.opt.ll 
> is different the other two files. 
> 
> My setup is also fairly similar to Renato's. The ARM native opt is built
> using autoconf, while x86 opt is built using CMake. I don't think
> this should make a difference, but I am rebuilding my x86 compiler with 
> autoconf to be sure.
> 
> 
> Manish
> 
>> -----Original Message-----
>> From: Dmitri Gribenko [mailto:gribozavr at gmail.com]
>> Sent: 15 January 2013 19:21
>> To: Renato Golin
>> Cc: Rafael EspĂ­ndola; llvm-commits at cs.uiuc.edu for LLVM; Manish Verma
>> Subject: Re: [llvm-commits] [llvm] r172534 -
>> /llvm/trunk/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
>> 
>> On Tue, Jan 15, 2013 at 9:16 PM, Renato Golin
>> <rengolin at systemcall.org> wrote:
>>> On 15 January 2013 18:55, Dmitri Gribenko <gribozavr at gmail.com>
>> wrote:
>>>>> Back to the issue at hand, I couldn't find any difference on the
>>>>> outputs on x86_64, A9 and A15, (literally, identical outputs),
>> which
>>>>> shows that the issue has nothing to do with ARM and the test
>> should
>>>>> also be failing on other architectures as of r171697-ish.
>>>>> 
>>>>> All outputs had:
>>>>> 
>>>>>  %4 = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
>>>> 
>>>> OK, but the outputs are different *now*.
>>> 
>>> And why I asked if it shouldn't be failing on x86 as well, but it
>> seems not:
>>> 
>>> http://lab.llvm.org:8011/builders/llvm-x86_64-ubuntu/builds/6935
>>> 
>>> That's after r171697 and before 172534, so it *should* be failing,
>> but
>>> it didn't.
>>> 
>>> Don't ask me why not. As far as I can see, it should fail on all
>>> architectures. The only differences between my Intel binaries and
>> my
>>> ARM  ones is that I used CMake to build the Intel ones and autoconf
>> on
>>> ARM ones, and I'm building outside the tree, when the buildbots are
>>> not.
>> 
>> So what is the difference between outputs on ARM and x86 right now?
>> 
>> Dmitri
>> 
>> --
>> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
>> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
> <post-inc-icmpzero.arm.opt.ll><post-inc-icmpzero.arm.debug.ll><post-inc-icmpzero.x86.opt.ll>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list