[llvm-bugs] [Bug 28348] Regression(r272251): error in backend: Cannot select: t45: i32 = ARMISD::BFI t4, Constant:i32<1>, t34

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jul 4 09:43:15 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28348

James Molloy <james.molloy at arm.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #10 from James Molloy <james.molloy at arm.com> ---
Hi Nico,

Thanks for bringing this to my attention, and sorry that I didn't act on it
quickly as I was on vacation.

The underlying problem is actually my use of DAG->getConstant. I should be
using DAG->getTargetConstant.

The use of getConstant() in this testcase actually increments the use count of
Constant<4095> from one to two. In this case, the lowering of ARMISD::BFI is
contingent on its constant argument only having one use - if it's shared, ISel
falls over.

I've committed a fixed version in r274510.

Cheers,

James

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160704/44f0f6fd/attachment.html>


More information about the llvm-bugs mailing list