[PATCH] D33037: [IfConversion] Keep the CFG updated incrementally in IfConvertTriangle

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 11 10:58:03 PDT 2017


MatzeB added a comment.

In https://reviews.llvm.org/D33037#751973, @uabelho wrote:

> Btw, without the fix we get the following result from IfConversion for the testcase:
>
> body:             |
>
>   bb.0:
>  
>   bb.1:
>     successors: %bb.2(0x40000000), %bb.1(0x00000000)
>  
>     BX_RET 14, 0
>  
>   bb.2:
>   
>
> ...
>
> So bb.1 has both bb.2 and itself as successors, even if it only contains an unconditional return.


This is indeed wrong (but hard to catch with the MachineVerifier so it probably went unnoticed).

I leave the patch review to @iteratee.



================
Comment at: test/CodeGen/MIR/ARM/PR32721_ifcvt_triangle_unanalyzable.mir:6
+  bb.0:
+    successors: %bb.2
+
----------------
FYI: The latest MIR parser can finally deduce the successor lists in most cases if you leave them out. It should work for this test.


https://reviews.llvm.org/D33037





More information about the llvm-commits mailing list