[PATCH] D15707: [Thumb] Fix assembler error 'cannot honor width suffix pop {lr}'

Ana Pazos via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 23 15:59:12 PST 2015


apazos added a comment.

Still some remaining issues... it does not seem you can assume that the instruction preceding the branch is the POP instruction.  Looks like we just need to search back in the block for a POP that has LR as operand and then remove the operand  (like I had in my original patch).

See the piece of code that is triggering a new assertion in Thumb1FrameLowering.cpp:543:

  tPOP pred:14, pred:%noreg, %R4<def>, %R5<def>, %R7<def>, %LR<def>, %SP<imp-def>, %SP<imp-use>
   %R12<def> = tMOVr %R0<kill>, pred:14, pred:%noreg
   tBcc <BB#4>, pred:1, pred:%CPSR<kill>


http://reviews.llvm.org/D15707





More information about the llvm-commits mailing list