|
Some work to shrink the size of llvm binaries. Saves ~100KB. Avoid including Intrinsics-X.td files and generating code for targets that are not specified by --enable-target=X,Y,Z.
BEFORE: "size llc" w/ only x86
text data bss dec hex filename
11328502 502632 36976 11868110 b517ce Release+Asserts/bin/llc
AFTER:
text data bss dec hex filename
11232165 499080 36976 11768221 b3919d Release+Asserts/bin/llc
(a) This is done by adding "include_if" directive to TableGen (vs trying to do a full fledge #if def / #else / #endif).
(b) CPP defines for inline code the depends on these intrinsics (e.g., in InstCombine). See http://codereview.chromium.org/7824006/ for clang side changes. I have no idea about llvm-gcc or dragon egg dependencies on LLVM.
(c) move tests that are target dependent into target-specific directories. Previously tests would assume that "opt" understood target specific intrinsics.
TEST= build w/ --enable-targets=all, --enable-targets=x86, --enable-targets=arm, run "make check" in each case.
I had a bit of trouble w/ "make check" for --enable-target=arm in the case of JIT tests and generic tests, since I was running on an x86 machine.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+198 lines, -644 lines) |
Patch |
|
M |
Makefile.rules
|
View
|
|
2 chunks |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
docs/TableGenFundamentals.html
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
include/llvm/Intrinsics.td
|
View
|
|
1 chunk |
+7 lines, -7 lines |
0 comments
|
Download
|
|
M |
lib/Analysis/BasicAliasAnalysis.cpp
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
lib/Analysis/ConstantFolding.cpp
|
View
|
|
4 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
lib/Analysis/ValueTracking.cpp
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
lib/Target/CBackend/CBackend.cpp
|
View
|
|
4 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
lib/Transforms/InstCombine/InstCombineCalls.cpp
|
View
|
|
6 chunks |
+56 lines, -52 lines |
0 comments
|
Download
|
|
M |
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
|
View
|
|
3 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
lib/Transforms/Scalar/LoopStrengthReduce.cpp
|
View
|
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
A |
test/Analysis/BasicAA/ARM/dg.exp
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
D |
test/Analysis/BasicAA/intrinsics.ll
|
View
|
|
1 chunk |
+0 lines, -39 lines |
0 comments
|
Download
|
|
D |
test/Analysis/TypeBasedAliasAnalysis/intrinsics.ll
|
View
|
1
|
1 chunk |
+0 lines, -27 lines |
0 comments
|
Download
|
|
M |
test/Assembler/AutoUpgradeIntrinsics.ll
|
View
|
1
|
1 chunk |
+0 lines, -32 lines |
0 comments
|
Download
|
|
A + |
test/Assembler/X86/AutoUpgradeIntrinsics.ll
|
View
|
1
|
1 chunk |
+0 lines, -8 lines |
0 comments
|
Download
|
|
D |
test/Bitcode/sse42_crc32.ll
|
View
|
1
|
1 chunk |
+0 lines, -28 lines |
0 comments
|
Download
|
|
D |
test/Bitcode/sse42_crc32.ll.bc
|
View
|
1
|
Binary file |
0 comments
|
Download
|
|
D |
test/Bitcode/ssse3_palignr.ll
|
View
|
1
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
|
D |
test/Bitcode/ssse3_palignr.ll.bc
|
View
|
1
|
Binary file |
0 comments
|
Download
|
|
A + |
test/Transforms/ConstProp/X86/calls.ll
|
View
|
|
1 chunk |
+0 lines, -27 lines |
0 comments
|
Download
|
|
A |
test/Transforms/ConstProp/X86/dg.exp
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/Transforms/ConstProp/calls.ll
|
View
|
|
1 chunk |
+0 lines, -33 lines |
0 comments
|
Download
|
|
D |
test/Transforms/InstCombine/2008-07-16-sse2_storel_dq.ll
|
View
|
1
|
1 chunk |
+0 lines, -13 lines |
0 comments
|
Download
|
|
A |
test/Transforms/InstCombine/ARM/dg.exp
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
A |
test/Transforms/InstCombine/X86/dg.exp
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
A + |
test/Transforms/InstCombine/X86/vec_demanded_elts.ll
|
View
|
|
2 chunks |
+0 lines, -51 lines |
0 comments
|
Download
|
|
D |
test/Transforms/InstCombine/neon-intrinsics.ll
|
View
|
|
1 chunk |
+0 lines, -25 lines |
0 comments
|
Download
|
|
D |
test/Transforms/InstCombine/pr2645-1.ll
|
View
|
1
|
1 chunk |
+0 lines, -39 lines |
0 comments
|
Download
|
|
D |
test/Transforms/InstCombine/shufflemask-undef.ll
|
View
|
1
|
1 chunk |
+0 lines, -109 lines |
0 comments
|
Download
|
|
M |
test/Transforms/InstCombine/vec_demanded_elts.ll
|
View
|
|
3 chunks |
+0 lines, -102 lines |
0 comments
|
Download
|
|
D |
test/Transforms/InstCombine/x86-crc32-demanded.ll
|
View
|
|
1 chunk |
+0 lines, -17 lines |
0 comments
|
Download
|
|
D |
test/Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll
|
View
|
1
|
1 chunk |
+0 lines, -20 lines |
0 comments
|
Download
|
|
M |
utils/TableGen/TGLexer.h
|
View
|
1
2
|
3 chunks |
+11 lines, -3 lines |
0 comments
|
Download
|
|
M |
utils/TableGen/TGLexer.cpp
|
View
|
1
2
|
7 chunks |
+50 lines, -5 lines |
0 comments
|
Download
|
|
M |
utils/TableGen/TGParser.h
|
View
|
|
1 chunk |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
utils/TableGen/TableGen.cpp
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
|