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

           Summary: Implement support for Type Based Alias Analysis
           Product: libraries
           Version: 1.0
          Platform: PC
        OS/Version: All
            Status: NEW
          Keywords: code-quality
          Severity: normal
          Priority: P2
         Component: Core LLVM classes
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [email protected]


TBAA is a feature that llvm has never supported, and it is capable of providing
significant speedups.  For example, here is the performance of
SingleSource/Benchmarks/Himeno with various compilers:

gcc 4.0 -O3: 4.69
gcc 4.0 -O3 -fno-strict-aliasing: 5.93
gcc 4.2 -O3: 4.54
gcc 4.2 -O3 -fno-strict-aliasing: 6.14
llvm-gcc -O3: 5.43 [which is no strict aliasing]
llvm-gcc -O4: 3.46 [which is no strict aliasing]

As you can see, at -O3, we lose to GCC by ~20%.  Empirically, looking at the
code, this is because loads aren't getting hoisted out of loops, which makes
strides loop variant, which prevents LSR from eliminating multiplies.  -O4/LTO
makes up for the lack of TBAA in this case with extra inlining etc.

An interesting detail is that TBAA is disabled by default in GCC on the mac,
but enabled by default everywhere else.  This is probably why our performance
is generally seen as worse (compared to GCC) on linux than it is on the mac.

-Chris


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