<div dir="ltr"><div><div><div>Hi,<br><br></div>  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.<br>
<br>Sincerely,<br>Logan<br><br></div>p.s.<br></div>[1] The patch file consists of the patch to ARMISelLowering.cpp and a new .ll test case for Thumb code generator.<br>[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.<br>
</div>