[llvm-commits] [llvm] r127518 - in /llvm/trunk: lib/Target/ARM/ARMFastISel.cpp test/CodeGen/ARM/fast-isel-pred.ll
Eric Christopher
echristo at apple.com
Mon Mar 14 11:38:42 PDT 2011
>>
>> I make no claims about how well fast-isel works for darwin targets so it's turned off there - so this testcase isn't valid for non-darwin at the moment.
>
> Ah, right. Forgot it was turned off entirely for non-darwin. Just putting the info on the RUN line should take care of it, then.
>
>>
>>> This was code-gen OK before, but failed when trying to assemble due to an invalid instruction (predicate on a non-predicable instruction), right? If so, this test won't catch that as it doesn't try to assemble the assembly file. Adding a CHECK-NOT for the particular instruction that was bogus and a CHECK for what it actually should be would be good.
>>
>> This would assert with a Debug+Asserts build.
>
> It'd still be good for the -Asserts build to be able to detect the failure, though, right? The CHECK/CHECK-NOT also help self-document what was going wrong.
>
That's fair, and probably useful too. :)
>>> Not a huge deal, but seems a bit largish for this sort of test. Does it reduce down at all? I would, perhaps naively, expect that a conditional followed by the vcvt (sitofp <4 x i32> %1 to <4 x float>) would do the trick.
>>
>> I believed the original submitter when she said she couldn't get it any smaller :)
>
> As we talked about offline, we can probably get a bit smaller, but not too much. Fast-isel heuristics are probably playing some games here. IMO, worth trying a bit, but not spending a huge amount of time on it. Maybe just reduce to a single function and add an explanatory comment about what's really being checked for?
I'll see what I can do :)
-eric
More information about the llvm-commits
mailing list