https://llvm.org/bugs/show_bug.cgi?id=23640
Hal Finkel <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Hal Finkel <[email protected]> --- (In reply to comment #1) > So I took a look at this in a testcase I had and basically the compare is > actually in a different basic block from the branch that it's dependent upon > and not getting put into the value map so we can't look up the actual > compare result we wanted to use. > A hammer of "CI->getParent() != BI->getParent()" in selectBranch does > "solve" the problem as would constructing selectCompare. Ah, indeed. That's the case here too. Also, there is this large FIXME in the current code: // FIXME: ARM looks for a case where the block containing the compare // has been split from the block containing the branch. If this happens, // there is a vreg available containing the result of the compare. I'm // not sure we can do much, as we've lost the predicate information with // the compare instruction -- we have a 4-bit CR but don't know which bit // to test here. return false; and we should be ending up here (unfortunately). We did not have the right check, however. Should be fixed by r238097. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
