[llvm-commits] [PATCH] Fix LLVM error after lowering thumb tMOVCCr_pseudo
Evan Cheng
evan.cheng at apple.com
Thu Dec 20 00:45:52 PST 2012
You may want to specify the CPU name in the test run line. It might be a good idea to specify -verify-machineinstrs as well. Otherwise the patch seems obvious to me.
Evan
Sent from my iPad
On Dec 20, 2012, at 12:25 AM, Logan Chien <tzuhsiang.chien at gmail.com> wrote:
> 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.
> <arm-tmovcc_pseudo.cpp>
> <0001-Add-live-ins-to-the-splitted-MachineBasicBlock.patch>
> _______________________________________________
> 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