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

           Summary: instcombine form still confuses basicaa
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core LLVM classes
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


Instcombine continues to put code in forms that confuse basicaa.

Attached are 3 files

primary.ll is quite big, but easily shows instcombine creating the bad form:

llvm-as < primary.ll | opt -instcombine | llvm-dis > primary-bad.ll
diff -u primary.ll primary-bad.ll

It's easy to see instcombine flipping BC(GEP)'s to strange GEP(BC)'s. It's
these GEP(BC) forms that confuse basicaa. Which brings me to the other two
files.

gep_bc.ll shows a reduced form of the code in primary.ll, using the GEP(BC)
forms that instcombine creates. Running this through opt will result in no
change to the output.


bc_gep.ll is the same as gep_bc.ll, but the GEP(BC) forms are undone back to
BC(GEP) forms, the same as before instcombine changed them.

Running bc_gep.ll through opt -std-compile-opts, you'll see significant
optimization.


-- 
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to