Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(239)

Issue 7792066: [llvm] Conditionally include target intrinsics, based on --enable-target

Created:
9 years, 3 months ago by jvoung - send to chromium...
Modified:
9 years, 3 months ago
Reviewers:
Base URL:
https://llvm.org/svn/llvm-project/llvm/trunk/
Visibility:
Public.

Description

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.

Patch Set 1 #

Patch Set 2 : Move some more tests #

Patch Set 3 : cleanups #

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

Powered by Google App Engine
This is Rietveld 408576698