[LLVMbugs] [Bug 7372] New: If conversion brakes TargetInstrInfo.cpp

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Jun 13 22:09:03 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7372

           Summary: If conversion brakes TargetInstrInfo.cpp
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rafael.espindola at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Sorry about the not fully reduced testcase.  Will reduce it a bit more if no
one gets to it first.

This brakes clang bootstrap on linux ARM.


The best way to reproduce now is to run llc twice

 ./Debug/bin/llc  -O1 -o TargetInstrInfo-bad.s -relocation-model=pic
-regalloc=linearscan -pre-RA-sched=list-hybrid -disable-spill-fusing
-spiller=splitting -schedule-spills TargetInstrInfo.ll -asm-verbose=false
-ifcvt-fn-stop=0 -disable-ifcvt-diamond -disable-ifcvt-triangle-false-rev
-disable-ifcvt-triangle-false -disable-ifcvt-triangle-rev -disable-ifcvt-simple
-ifcvt-limit=3


./Debug/bin/llc  -O1 -o TargetInstrInfo-good.s -relocation-model=pic
-regalloc=linearscan -pre-RA-sched=list-hybrid -disable-spill-fusing
-spiller=splitting -schedule-spills TargetInstrInfo.ll -asm-verbose=false
-ifcvt-fn-stop=0 -disable-ifcvt-diamond -disable-ifcvt-triangle-false-rev
-disable-ifcvt-triangle-false -disable-ifcvt-triangle-rev -disable-ifcvt-simple
-ifcvt-limit=2

if you compare the two produced files, you will noticed that if conversion
tried to move in a block that has two tst instructions in it (one already
conditional) and inserted a branch after two conditional branches.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list