[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