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

            Bug ID: 22578
           Summary: [Reassociate] Use localized Changed flag to avoid
                    calls to RewriteExprTree
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Scalar Optimizations
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

The Reassociation pass uses a global flag to determine if something in the IR
has changed.  The flag should be maintained per expression to avoid calls to
RewriteExprTree.  

If the expression hasn't changed in some non-trivial way, then the rewriting is
unnecessary.  Rewriting an unchanged expressions increases compile-time, drops
unsigned/signed wrap flags and generally results in a completely different
expression topology.  I'm seeing that the rewriting generally produces the
longest critical path, which is especially bad for FP code.

-- 
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