[llvm-commits] [PATCH] Fix LLVM error after lowering thumb tMOVCCr_pseudo
Logan Chien
tzuhsiang.chien at gmail.com
Thu Dec 20 00:25:13 PST 2012
Hi,
It seems that ARMISelLowering is lowering tMOVCCr_pseudo instruction with
an if-then-else. The original MachineBasicBlock will be splitted into 3
MachineBasicBlocks. However, if we don't update the live-ins register
information properly, an LLVM error will occur in some complex test case.
The attached patch should resolve this issue, and the test case is
included. Please have a look. Thanks.
Sincerely,
Logan
p.s.
[1] The patch file consists of the patch to ARMISelLowering.cpp and a new
.ll test case for Thumb code generator.
[2] The "arm-tmovcc_pseudo.cpp" is the minimal example I can construct in
C++, and the .ll test case is generated from this file.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121220/f394c1b6/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: arm-tmovcc_pseudo.cpp
Type: text/x-c++src
Size: 1000 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121220/f394c1b6/attachment.cpp>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-live-ins-to-the-splitted-MachineBasicBlock.patch
Type: application/octet-stream
Size: 5878 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121220/f394c1b6/attachment.obj>
More information about the llvm-commits
mailing list