[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