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