[LLVMbugs] [Bug 2547] New: Implement support for Type Based Alias Analysis

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Jul 13 21:15:03 PDT 2008


           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: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org
                CC: llvmbugs at cs.uiuc.edu

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.


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