Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 12 11 15 v2 #122

Merged
merged 365 commits into from
Dec 16, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
365 commits
Select commit Hold shift + click to select a range
543e02b
[llvm-dwp] Support debug_tu_index
dwblaikie Dec 5, 2015
32ad075
[llvm-dwp] clang-format this to catch anything I've missed along the way
dwblaikie Dec 5, 2015
eaf992c
[llvm-dwp] Rename the sufficiently-modified test to reflect it's non-…
dwblaikie Dec 5, 2015
28683ac
[llvm-dwp] Fix the type_units.test since I renamed its inputs as well
dwblaikie Dec 5, 2015
2b76269
[llvm-dwp] Add coverage for both the presence and absence of type uni…
dwblaikie Dec 5, 2015
c7d0ead
Normalize successors' probabilities when building MBBs for jump table.
Dec 5, 2015
a8bc4db
[PGO] Add version to getPGOFuncName method
david-xl Dec 5, 2015
fbbab8b
[X86][FMA4] Explicitly set the domain of FMA4 float/double scalar ins…
RKSimon Dec 5, 2015
83f50fa
Use std::fill instead of memset to initialize an array to avoid hardc…
topperc Dec 5, 2015
79402ee
Replace uint16_t with the MCPhysReg typedef in many places. A lot of …
topperc Dec 5, 2015
092921b
[X86][ADX] Added memory folding patterns and stack folding tests
RKSimon Dec 5, 2015
b2387dc
[ASAN] Add doFinalization to reset state
Keno Dec 5, 2015
5fa3976
[Hexagon] Don't call getNumImplicitDefs and then iterate over the cou…
topperc Dec 5, 2015
e05c0df
[WebAssembly] Expand frem as a floating point library function.
Dec 5, 2015
e7174bd
[WebAssembly] Call TargetPassConfig base class functions in overridin…
Dec 5, 2015
ecc4567
[WebAssembly] Move useAA() out of line to make it more convenient to …
Dec 5, 2015
1f5f023
WebAssembly: improve readme, add placeholder for tests.
jfbastien Dec 5, 2015
64d85bf
[WebAssembly] Update a stale comment. NFC.
Dec 5, 2015
26a006a
fix typo; NFC
rotateright Dec 5, 2015
b975ecb
[WebAssembly] Support inline asm constraints of type i16 and similar.
Dec 5, 2015
27951cf
Add vector fmaxnum tests that correspond to the existing fminnum tests
rotateright Dec 5, 2015
76e67ad
[WebAssembly] Implement direct calls to external symbols.
Dec 5, 2015
39f84fd
[WebAssembly] Replace the fake JUMP_TABLE instruction with a def : Pa…
Dec 5, 2015
9eb9258
[WebAssembly] Don't perform the returned-argument optimization on con…
Dec 5, 2015
3aa1034
[llvm-readobj] report_error() does not return, so we can simplify.
dcci Dec 5, 2015
a8231e7
[InstCombine] Call getCmpPredicateForMinMax only with a valid SPF
sanjoy Dec 5, 2015
eb32659
Minor formatting fix. NFC
topperc Dec 6, 2015
e6bc7d1
Use make_range to reduce mentions of iterator type. NFC
topperc Dec 6, 2015
e407ee0
AVX512: support AVX512BW Intrinsic in 32bit mode.
Dec 6, 2015
f7fc15e
[X86] Always generate precise CFA adjustments.
Dec 6, 2015
023610a
[X86][AVX512] add vmovss/sd missing encoding
Dec 6, 2015
1c73aa0
[X86] Add support for loopz, loopnz for Intel syntax
Dec 6, 2015
e89ea49
Create llvm.global_ctors in the new format.
espindola Dec 6, 2015
180d5cb
[x86] add missing maxnum/minnum tests for 256-bit vectors
rotateright Dec 6, 2015
51b079c
[WebAssembly] Add some more ideas to README.txt.
Dec 6, 2015
d749dbb
[WebAssembly] Tighten up some testcase regular expressions.
Dec 6, 2015
4693393
[WebAssembly] Enable folding of offsets into global variable addresses.
Dec 6, 2015
577f887
[WebAssembly] Make tableswitch's 'default' operand explicit. NFC.
Dec 6, 2015
001f341
[WebAssembly] Factor out a TypeToString function, since we need it in…
Dec 6, 2015
1ecc6c0
[Orc] Rename IndirectStubsManagerBase to IndirectStubsManager.
lhames Dec 6, 2015
3b8cbda
[X86][AVX] Tidied up BROADCASTPD/BROADCASTPS tests
RKSimon Dec 6, 2015
41e546b
[Verifier] Fix !dbg validation if Scope is the Subprogram
Keno Dec 6, 2015
0511c3b
[llvm-objdump/MachoDump] Make code much more concise.
dcci Dec 7, 2015
260f72a
Add uint8_t size to LegalizeAction enum so we can use the enum type d…
topperc Dec 7, 2015
1632a3b
Add uint8_t size to LegalizeTypeAction enum and use the enum type dir…
topperc Dec 7, 2015
01654c4
[mips][microMIPS] Implement LH, LHE, LHU and LHUE instructions
Dec 7, 2015
0239b75
[X86][AVX] Added tests to load+broadcast non-zero'th vector elements
RKSimon Dec 7, 2015
8205637
[ARM] Flag vcvt{t,b} with an f16 type specifier as part of the FP16 e…
brads55 Dec 7, 2015
5c239f4
[X86] Adding support for FWORD type for MS inline asm
Dec 7, 2015
fbb9115
[avx512] rename gcc intrinsics to be align with gcc format
Dec 7, 2015
35ecd26
Change how the linker handles the old llvm.global_ctors.
espindola Dec 7, 2015
eea645e
AVX-512: implement kunpck intrinsics.
Dec 7, 2015
b06ff9b
AVX-512: Fixed masked load / store instruction selection for KNL.
Dec 7, 2015
0284291
[mips][ias] Removed DSP/DSPr2 instructions from base architecture val…
dsandersllvm Dec 7, 2015
fad998f
[ARM] Generate ABI_optimization_goals build attribute, as described i…
Dec 7, 2015
3b45f26
VX-512: Fixed a bug in FP logic operation lowering
Dec 7, 2015
fda49fd
[ThinLTO] Support cloning of temporary DILocation metadata
teresajohnson Dec 7, 2015
c4724f6
Silence all C4592 warnings with MSVC 2015 Update 1. This warning prod…
AaronBallman Dec 7, 2015
7218e37
Simplify test.
espindola Dec 7, 2015
0178d23
Link declaration lazily.
espindola Dec 7, 2015
07b637e
[Orc] Removing traces of takeOwnershipOfBuffers left after r251560.
lhames Dec 7, 2015
bd58adf
Tighten checks so we can see existing codegen
rotateright Dec 7, 2015
f8a6223
[llvm-dwp] Restructure inputs for test case so they're all grouped to…
dwblaikie Dec 7, 2015
55aaa98
[Hexagon] Adding v60 test, vasr in particular.
Dec 7, 2015
fbee4fa
remove redundant check: optForSize() includes a check for the minsize…
rotateright Dec 7, 2015
5d0d98f
[ThinLTO] Support for specifying function index from pass manager
teresajohnson Dec 7, 2015
322ee9e
fix 'the the '; NFC
rotateright Dec 7, 2015
3317c77
don't repeat function names in comments; NFC
rotateright Dec 7, 2015
a16511b
Fix function return type in declaration (bot errors from r254926).
teresajohnson Dec 7, 2015
7d9752d
Fix line endings
RKSimon Dec 7, 2015
4e2c148
[PPC64] Convert bool literals to i32
kitbarton Dec 7, 2015
aa464aa
Use updated threshold for indirect call bonus
Dec 7, 2015
3f8a944
[EarlyCSE] Simplify and invert ParseMemoryInst [NFCI]
preames Dec 7, 2015
73036ce
Simplify the error handling a bit. NFC.
espindola Dec 7, 2015
8d6e45b
Update doc for C++ TLS calling convention.
manman-ren Dec 7, 2015
1440f53
Revert 254950
preames Dec 7, 2015
3ff1b16
Remove useless hack that avoids calling LLVMLinkInInterpreter()
joker-eph Dec 7, 2015
0890b95
Reapply 254950 w/fix
preames Dec 7, 2015
ba40ae0
Remove debug output that snuck into 254957
preames Dec 7, 2015
5b1522a
Let llvm-lto installed. A few tests in clang/test are using it.
chapuni Dec 7, 2015
d5841c9
Support: Teach Asan about BumpPtrAllocator
bogner Dec 7, 2015
b69b6b5
Stabilize llvm/test/Object/archive-update.test a bit.
chapuni Dec 7, 2015
e826a2e
Factor two calls to a common location.
espindola Dec 7, 2015
afd3f07
fix return values to match bool return type; NFC
rotateright Dec 7, 2015
a187d6f
[PassManager] Tuning Memory Usage of AnalysisUsage
preames Dec 8, 2015
c11338c
Add Instruction::getFunction; NFC
sanjoy Dec 8, 2015
51d40ae
[SCEVExpander] Have hoistIVInc preserve LCSSA
sanjoy Dec 8, 2015
ca40161
[IndVars] Have getInsertPointForUses preserve LCSSA
sanjoy Dec 8, 2015
23ae772
[CXX TLS calling convention] Add support for AArch64.
manman-ren Dec 8, 2015
4609cb7
Simplify test. NFC.
espindola Dec 8, 2015
cbf2c65
AsmPrinter: Use emitGlobalConstantFP to emit elements of constant data
bogner Dec 8, 2015
fcb0893
Add a test showing that we internalize lazily linked GVs.
espindola Dec 8, 2015
f276576
[llvm-objdump/MachO] Don't cut'n'paste the same code over and over.
dcci Dec 8, 2015
e32f0e2
IR: Allow vectors of halfs to be ConstantDataVectors
bogner Dec 8, 2015
c2d82ef
[WebAssembly] Remove the override of haveFastSqrt.
Dec 8, 2015
579ccfd
[WebAssembly] Trim some unneeded #includes.
Dec 8, 2015
55a29f7
[WebAssembly] Assert MRI.isSSA() in passes that depend on SSA form.
Dec 8, 2015
1acb066
[WebAssembly] Convert a file-level comment to doxygen style.
Dec 8, 2015
7710c66
[WebAssembly] Fix an emacs syntax highlighting comment.
Dec 8, 2015
ca9fa31
[WebAssembly] Remove an unneeded static_cast.
Dec 8, 2015
4474471
[WebAssembly] Fix a typo in a comment.
Dec 8, 2015
43a68c8
[OperandBundles] Remove unncessary constructor
sanjoy Dec 8, 2015
354f221
[SCEV] Fix indentation; NFC
sanjoy Dec 8, 2015
7116418
[SCEV] Move some struct declarations inside functions; NFC
sanjoy Dec 8, 2015
2450ea1
dding test for fnstsw
michaelz-eng Dec 8, 2015
59ad77e
[AArch64] Add ARMv8.2-A FP16 vector instructions
ostannard Dec 8, 2015
c14af0e
[x86][avx512] more changes in intrinsics to be align with gcc format
Dec 8, 2015
5a34e2e
[mips][ias] Range check uimm6 operands and fix a bug this revealed.
dsandersllvm Dec 8, 2015
fd031a5
[mips][ias] Range check uimm8 operands
dsandersllvm Dec 8, 2015
5c953e3
Move all private members together. NFC.
espindola Dec 8, 2015
b691e2e
[Hexagon] Add NewValueJump support for C4_cmpneq, C4_cmplte, C4_cmplteu
Dec 8, 2015
72f75fa
adding readability-identifier-naming to llvm clang-tidy configuration.
aizatsky-chromium Dec 8, 2015
a0beb06
[ARM] Allowing SP/PC for AND/BIC mod_imm_not
rengolin Dec 8, 2015
81bf656
X86: produce more friendly errors during MachO relocation handling
TNorthover Dec 8, 2015
0cb0e79
Add Available Externally linkage type to isWeakForLinker()
joker-eph Dec 8, 2015
0a5a3d4
Cleanup test: remove useless alignment
joker-eph Dec 8, 2015
917e9a3
Revert "Add Available Externally linkage type to isWeakForLinker()"
joker-eph Dec 8, 2015
d105497
Fix ARMv4T (Thumb1) epilogue generation
Dec 8, 2015
246e4ce
[X86][SSE3] Added fast-isel intrinsics tests
RKSimon Dec 8, 2015
9a17b12
[X86][SSSE3] Added fast-isel intrinsics tests
RKSimon Dec 8, 2015
9d46b32
[X86][SSE4A] Added fast-isel intrinsics tests
RKSimon Dec 8, 2015
eca5f19
[EarlyCSE] Value forwarding for unordered atomics
preames Dec 8, 2015
898fa74
[CGP] Check that we have an insert point before moving llvm.dbg.value…
rnk Dec 8, 2015
5fb71e1
[CMake] Ignore externalizing debuginfo for unit tests
Dec 8, 2015
029bc0f
[X86][AVX] Fold loads + splats into broadcast instructions
RKSimon Dec 8, 2015
12ab14b
[OperandBundles] Fix a transform in simplifycfg
sanjoy Dec 8, 2015
903c099
Revert "[CGP] Check that we have an insert point before moving llvm.d…
rnk Dec 8, 2015
b2bc86f
Remove caching in FunctionImport: a Module can't be reused after bein…
joker-eph Dec 8, 2015
8f28b0e
[SCEV] Use for-each; NFC
sanjoy Dec 8, 2015
f4e0a47
[CGP] Reimplement r255055 a different way
rnk Dec 8, 2015
1a2a86e
Fix/Improve Debug print in FunctionImport pass
joker-eph Dec 8, 2015
46994bc
Define selection for v4f16, v8f16 scalar_to_vector
pirama-arumuga-nainar Dec 8, 2015
9c609ea
[OperandBundles] Have PruneEH work correct with operand bundles.
sanjoy Dec 8, 2015
cc02656
[IndVars] Use any_of and foreach instead of explicit for loops; NFC
sanjoy Dec 8, 2015
b3df2d0
Return a std::unique_ptr from CloneModule. NFC.
espindola Dec 8, 2015
5d88a3e
Simplify memory management a bit. NFC.
espindola Dec 9, 2015
a23ddb7
X86-FMA3: Defined the ExeDomain property for Scalar FMA3 opcodes.
Dec 9, 2015
4ed1f8c
Simplify memory management. NFC.
espindola Dec 9, 2015
18d7050
Return std::unique_ptr from SplitFunctionsOutOfModule. NFC.
espindola Dec 9, 2015
0340a6f
Simplify memory management. NFC.
espindola Dec 9, 2015
bdc3e4d
Simplify testMergedProgram.
espindola Dec 9, 2015
f001e6b
Don't drop attributes when inlining through "deopt" operand bundles
sanjoy Dec 9, 2015
65422bf
[AArch64][ARM] Don't base interleaved op legality on type alloc size.
ahmedbougacha Dec 9, 2015
1208ef5
Fix the order of destructors in LibLTOCodeGenerator
cachemeifyoucan Dec 9, 2015
a8048da
Test commit access - Fix few missing '.' in comments of LoopInterchan…
tvvikram Dec 9, 2015
2f351a5
Implement a new pass - LiveDebugValues - to compute the set of live D…
tvvikram Dec 9, 2015
dc6de88
The current importing scheme is processing one function at a time,
joker-eph Dec 9, 2015
b310704
Revert "Implement a new pass - LiveDebugValues - to compute the set o…
joker-eph Dec 9, 2015
547c6d4
EarlyCSE: fix typo from rL255054.
jfbastien Dec 9, 2015
d2c7ea5
Revert r254897 "[mips][microMIPS] Implement LH, LHE, LHU and LHUE ins…
Dec 9, 2015
b204acc
[mips] Use multiclass patterns for f32/f64 comparisons and i32 selects.
Dec 9, 2015
f58b104
WebAssembly: add known failures
jfbastien Dec 9, 2015
4363821
[mips][ias] Range check uimm10 operands
dsandersllvm Dec 9, 2015
43ecf2d
[AArch64] Fix FP16 vector instructions that should only accept low re…
ostannard Dec 9, 2015
c8a1727
Fix cycle in selection DAG introduced by extractelement legalization
Dec 9, 2015
69c30d5
[LV][LAA] Add a layer over SCEV to apply run-time checked knowledge o…
sbaranga-arm Dec 9, 2015
bdd73bc
Revert r255115 until we figure out how to fix the bot failures.
sbaranga-arm Dec 9, 2015
fecb71a
WebAssembly: add missing failure to the list.
jfbastien Dec 9, 2015
6d8e50b
ARM: don't use a deleted node as the BaseReg in complex pattern.
TNorthover Dec 9, 2015
90f6cd5
Re-commit r255115, with the PredicatedScalarEvolution class moved to
sbaranga-arm Dec 9, 2015
13f632f
Change hasUniqueInitializer() to call isStrongDefinitionForLinker() i…
joker-eph Dec 9, 2015
eb10360
[InstCombine] fold bitcasts around an extractelement
rotateright Dec 9, 2015
4c8fe28
[WebAssembly] Reintroduce ARGUMENT moving logic
Dec 9, 2015
cf1e58c
Revert "[InstCombine] fold bitcasts around an extractelement"
joker-eph Dec 9, 2015
09a7daa
[Support] Change SaturatingAdd()/SaturatingMultiply() to use pointer …
copperlist Dec 9, 2015
65711ad
[PGO] Resubmit "MST based PGO instrumentation infrastructure" (r254021)
xur-llvm Dec 9, 2015
4c0fb60
Revert "Revert r253253 and r253126: "Don't recompute LCSSA after loop…
Dec 9, 2015
1e3aaa8
[InstCombine] fold bitcasts around an extractelement (2nd try)
rotateright Dec 9, 2015
fbc5640
[ThinLTO] FunctionImport pass can take a const index pointer (NFC)
teresajohnson Dec 9, 2015
a63df07
clang-format order of gold-plugin includes (NFC)
teresajohnson Dec 9, 2015
522f45d
Delay context construction to when/if it is needed in gold plugin (NFC)
teresajohnson Dec 9, 2015
9b40f2a
Delete trailing whitespace; NFC
sanjoy Dec 9, 2015
587b47a
Use WeakVH to keep track of calls with operand bundles in CloneCodeInfo
sanjoy Dec 9, 2015
e919414
Don't assign a temporary string to a StringRef.
espindola Dec 9, 2015
ce4a723
[llvm-dwp] Sink debug_types.dwo emission into the code parsing the ty…
dwblaikie Dec 9, 2015
48649c7
[Float2Int] Don't operate on vector instructions
rnk Dec 9, 2015
e831591
[ThinLTO] Release files read when creating combined index in gold plugin
teresajohnson Dec 9, 2015
4381284
IR: Make ConstantDataArray::getFP actually return a ConstantDataArray
bogner Dec 9, 2015
49c4c7b
[PGO] Rename the profdata filename to avoid the conflict b/w tests.
xur-llvm Dec 9, 2015
fad81ab
Synchronize the logic for deciding to link a gv.
espindola Dec 9, 2015
28e18e1
use range-based for loops; NFCI
rotateright Dec 9, 2015
d110e2b
[X86] Enable shrink-wrapping by default, but keep it disabled for sta…
Dec 9, 2015
492f108
[WebAssembly] Implement anyext.
Dec 10, 2015
f39d864
[WebAssembly] Fix copy+pastos.
Dec 10, 2015
a796bb8
[WebAssembly] Fix legalization of shift operators with illegal types.
Dec 10, 2015
029e84c
PeepholeOptimizer: Ignore dead implicit defs
Dec 10, 2015
0c2c493
[WebAssembly] Update test failure expectations
dschuff Dec 10, 2015
3384127
[WebAssembly] Also legalize sign_extend_inreg of i32->i64.
Dec 10, 2015
a84e7b8
RegisterPressure: Factor out liveness dead-def detection logic; NFCI
MatzeB Dec 10, 2015
b4fe333
[WebAssembly] Update known test failures
dschuff Dec 10, 2015
b2d324b
[WebAssembly] Fix legalization of f32->f64 EXTLOAD.
Dec 10, 2015
6052acd
AMDGPU/SI: Add support for sgpr and vgpr inline assembly constraints
tstellarAMD Dec 10, 2015
7d2a810
AMDGPU/SI: Emit constant arrays in the .text section
tstellarAMD Dec 10, 2015
7e9bd65
AMDGPU/SI: Fix warning introduced by r255204
tstellarAMD Dec 10, 2015
cc39a6e
[WebAssembly] Implement fma.
Dec 10, 2015
54fd4d4
[WebAssembly] Implement mixed-type ISD::FCOPYSIGN.
Dec 10, 2015
5ebd7ba
[OPENMP] Make -fopenmp to turn on OpenMP support by default.
alexey-bataev Dec 10, 2015
224a929
[X86] Fix a couple cases were bitwise and logical operations were bei…
topperc Dec 10, 2015
fd947f3
Add arg_begin() and arg_end() to CallInst and InvokeInst; NFCI
sanjoy Dec 10, 2015
342c5a6
Revert r255137.
ahatanaka Dec 10, 2015
9296968
[PostRA scheduling] Allow a target to do scheduling when it wants pos…
JonPsson Dec 10, 2015
f1cbc17
[LLE] Use the PredicatedScalarEvolution interface to query SCEVs for …
sbaranga-arm Dec 10, 2015
7db3980
Macro debug info support in LLVM IR
Dec 10, 2015
1c23594
Bitcasts between FP and INT values using direct moves
nemanjai Dec 10, 2015
d4526d5
[DeadStoreElimination] Add support for non-local DSE.
Dec 10, 2015
4dc8c1b
[WebAssembly] Remove an unneeded getAnalysisUsage override.
Dec 10, 2015
9e8e460
[WebAssembly] Declare that WebAssemblyPeephole does not modify the CFG.
Dec 10, 2015
5b3101a
[WebAssembly] Fix WebAssemblyPeephole to set Changed to true when mak…
Dec 10, 2015
079d48b
[WebAssembly] Make WebAssemblyStoreResults only return true when it h…
Dec 10, 2015
da51320
Slit lib/Linker in two.
espindola Dec 10, 2015
0abf891
[WebAssembly] Tighten up several CHECK tests.
Dec 10, 2015
c818b3e
[ThinLTO] Release files in gold plugin during combined index (take 2)
teresajohnson Dec 10, 2015
f3ba056
remove duplicated comments and don't repeat function names in comment…
rotateright Dec 10, 2015
4d1332c
Avoid undefined behavior when vector is empty.
espindola Dec 10, 2015
1b06125
[ThinLTO] Debug message cleanup (NFC)
teresajohnson Dec 10, 2015
2bce431
[InstCombine] fold bitcasts around an extractelement (3rd try)
rotateright Dec 10, 2015
7845ed0
Fix fptosi, fptoui from f16 vectors to i8, i16 vectors
pirama-arumuga-nainar Dec 10, 2015
46cf0f0
[ProfileData] Add unit test infrastructure for sample profile reader/…
copperlist Dec 10, 2015
2c42269
[DeadStoreElimination] Use range-based loops. NFC.
Dec 10, 2015
fbc0a7d
Verifier: Avoid quadratic checking of aggregates for bad bitcasts
dexonsmith Dec 10, 2015
ef0af93
[PGO] Use %t as the temporary profdata filename in the test cases.
xur-llvm Dec 10, 2015
161d4c6
Fix another case where the linkage was not set.
espindola Dec 10, 2015
7d33195
[DSE] Disable non-local DSE to see if the bots go green.
Dec 10, 2015
45d4194
[DAGCombiner] Fix PR25763 - vector comparison constant folding + sign…
RKSimon Dec 10, 2015
dd635a6
Delete a duplicate branch in IfConversion.cpp. NFC.
Dec 10, 2015
d032a6a
Add a forward declaration (NFC)
david-xl Dec 10, 2015
8941580
EarlyCSE: add tests
jfbastien Dec 10, 2015
6d5ee5a
[LibFuzzer] Introducing FUZZER_FLAG_UNSIGNED and using it for seeding.
aizatsky-chromium Dec 10, 2015
f6aeea1
[CMake] Add LLVM_BUILD_INSTRUMENTED option to enable building with -f…
Dec 10, 2015
e7ad314
PPC: Teach FMA mutate to respect register classes.
Dec 10, 2015
7a5bb66
Add C API guidelines to the developer policy to match discussions
echristo Dec 10, 2015
e4b6881
Fix non-ascii quotes.
echristo Dec 10, 2015
8737acc
Clarify some of the wording on adding a new subcomponent to the
echristo Dec 10, 2015
7e0619a
More non-ascii quote characters.
echristo Dec 10, 2015
67b9896
Attempt to fix the ReST compilation to html of the C API docs.
echristo Dec 10, 2015
54f1a90
Fix (bitcast (fabs x)), (bitcast (fneg x)) and (bitcast (fcopysign cst,
echristo Dec 10, 2015
337570a
s/need/needs
echristo Dec 10, 2015
849df79
Format fix (NFC)
david-xl Dec 10, 2015
e265d9a
[X86][SSE] Update the cost table for integer-integer conversions on S…
Dec 11, 2015
88b8ce2
[ProfileData] clang-format TextInstrProfReader::hasFormat. NFC.
vedantk Dec 11, 2015
0dbeff1
Check in the script for building Win snapshots
zmodem Dec 11, 2015
9a3d083
[PPC]: Peephole optimize small accesss to aligned globals.
Dec 11, 2015
283d7eb
[LazyValueInfo] Stop inserting overdefined values into ValueCache to
ahatanaka Dec 11, 2015
3719f99
Fix a spurious if.
echristo Dec 11, 2015
ee25694
Fix build after r255319.
zmodem Dec 11, 2015
6f139ce
[PGO] Read VP raw data without depending on the Value field
david-xl Dec 11, 2015
1d4e45c
This is a test commit to check my commit access works.
Dec 11, 2015
1166324
Revert previous test commit.
Dec 11, 2015
587a26f
Merge branch 'master' into Merge-12-11-15-V2
AndyAyersMS Dec 11, 2015
1862332
Fix "Not having LAHF/SAHF" assert.
zmodem Dec 15, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 13 additions & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
Checks: '-*,clang-diagnostic-*,llvm-*,misc-*'
Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,readability-identifier-naming'
CheckOptions:
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.EnumCase
value: CamelCase
- key: readability-identifier-naming.FunctionCase
value: lowerCase
- key: readability-identifier-naming.UnionCase
value: CamelCase
- key: readability-identifier-naming.VariableCase
value: CamelCase

3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,9 @@ endif( LLVM_USE_INTEL_JITEVENTS )
option(LLVM_USE_OPROFILE
"Use opagent JIT interface to inform OProfile about JIT code" OFF)

option(LLVM_EXTERNALIZE_DEBUGINFO
"Generate dSYM files and strip executables and libraries (Darwin Only)" OFF)

# If enabled, verify we are on a platform that supports oprofile.
if( LLVM_USE_OPROFILE )
if( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
Expand Down
8 changes: 4 additions & 4 deletions CODE_OWNERS.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,6 @@ N: Quentin Colombet
E: [email protected]
D: Register allocators

N: Anshuman Dasgupta
E: [email protected]
D: Hexagon Backend

N: Duncan P. N. Exon Smith
E: [email protected]
D: Branch weights and BlockFrequencyInfo
Expand Down Expand Up @@ -138,6 +134,10 @@ N: Richard Osborne
E: [email protected]
D: XCore Backend

N: Krzysztof Parzyszek
E: [email protected]
D: Hexagon Backend

N: Chad Rosier
E: [email protected]
D: Fast-Isel
Expand Down
2 changes: 1 addition & 1 deletion autoconf/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -1343,7 +1343,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_SYSROOT,"$withval",
AC_ARG_WITH(clang-default-openmp-runtime,
AS_HELP_STRING([--with-clang-default-openmp-runtime],
[The default OpenMP runtime for Clang.]),,
withval="libgomp")
withval="libomp")
AC_DEFINE_UNQUOTED(CLANG_DEFAULT_OPENMP_RUNTIME,"$withval",
[Default OpenMP runtime used by -fopenmp.])

Expand Down
37 changes: 33 additions & 4 deletions cmake/modules/AddLLVM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,10 @@ function(llvm_add_library name)
add_dependencies(${objlib} ${LLVM_COMMON_DEPENDS})
endforeach()
endif()

if(ARG_SHARED OR ARG_MODULE)
llvm_externalize_debuginfo(${name})
endif()
endfunction()

macro(add_llvm_library name)
Expand Down Expand Up @@ -595,7 +599,7 @@ endmacro(add_llvm_loadable_module name)


macro(add_llvm_executable name)
cmake_parse_arguments(ARG "DISABLE_LLVM_LINK_LLVM_DYLIB" "" "" ${ARGN})
cmake_parse_arguments(ARG "DISABLE_LLVM_LINK_LLVM_DYLIB;IGNORE_EXTERNALIZE_DEBUGINFO" "" "" ${ARGN})
llvm_process_sources( ALL_FILES ${ARG_UNPARSED_ARGUMENTS} )

# Generate objlib
Expand Down Expand Up @@ -655,14 +659,18 @@ macro(add_llvm_executable name)
if( LLVM_COMMON_DEPENDS )
add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
endif( LLVM_COMMON_DEPENDS )

if(NOT ARG_IGNORE_EXTERNALIZE_DEBUGINFO)
llvm_externalize_debuginfo(${name})
endif()
endmacro(add_llvm_executable name)

function(export_executable_symbols target)
if (NOT MSVC) # MSVC's linker doesn't support exporting all symbols.
set_target_properties(${target} PROPERTIES ENABLE_EXPORTS 1)
if (APPLE)
set_target_properties(${target} PROPERTIES
LINK_FLAGS "-rdynamic")
set_property(TARGET ${target} APPEND_STRING PROPERTY
LINK_FLAGS " -rdynamic")
endif()
endif()
endfunction()
Expand Down Expand Up @@ -870,7 +878,7 @@ function(add_unittest test_suite test_name)

set(LLVM_REQUIRES_RTTI OFF)

add_llvm_executable(${test_name} ${ARGN})
add_llvm_executable(${test_name} IGNORE_EXTERNALIZE_DEBUGINFO ${ARGN})
set(outdir ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR})
set_output_directory(${test_name} BINARY_DIR ${outdir} LIBRARY_DIR ${outdir})
target_link_libraries(${test_name}
Expand Down Expand Up @@ -1168,3 +1176,24 @@ function(add_llvm_tool_symlink name dest)
endif()
endif()
endfunction()

function(llvm_externalize_debuginfo name)
if(NOT LLVM_EXTERNALIZE_DEBUGINFO)
return()
endif()

if(APPLE)
if(CMAKE_CXX_FLAGS MATCHES "-flto"
OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto")

set(lto_object ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${name}-lto.o)
set_property(TARGET ${name} APPEND_STRING PROPERTY
LINK_FLAGS " -Wl,-object_path_lto,${lto_object}")
endif()
add_custom_command(TARGET ${name} POST_BUILD
COMMAND xcrun dsymutil $<TARGET_FILE:${name}>
COMMAND xcrun strip -Sl $<TARGET_FILE:${name}>)
else()
message(FATAL_ERROR "LLVM_EXTERNALIZE_DEBUGINFO isn't implemented for non-darwin platforms!")
endif()
endfunction()
11 changes: 11 additions & 0 deletions cmake/modules/HandleLLVMOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,9 @@ if( MSVC )
-wd4204 # Suppress 'nonstandard extension used : non-constant aggregate initializer'
-wd4577 # Suppress 'noexcept used with no exception handling mode specified; termination on exception is not guaranteed'
-wd4091 # Suppress 'typedef: ignored on left of '' when no variable is declared'
# C4592 is disabled because of false positives in Visual Studio 2015
# Update 1. Re-evaluate the usefulness of this diagnostic with Update 2.
-wd4592 # Suppress ''var': symbol will be dynamically initialized (implementation limitation)

# Ideally, we'd like this warning to be enabled, but MSVC 2013 doesn't
# support the 'aligned' attribute in the way that clang sources requires (for
Expand Down Expand Up @@ -584,6 +587,14 @@ if(LLVM_ENABLE_EH AND NOT LLVM_ENABLE_RTTI)
message(FATAL_ERROR "Exception handling requires RTTI. You must set LLVM_ENABLE_RTTI to ON")
endif()

option(LLVM_BUILD_INSTRUMENTED "Build LLVM and tools with PGO instrumentation (experimental)" Off)
mark_as_advanced(LLVM_BUILD_INSTRUMENTED)
append_if(LLVM_BUILD_INSTRUMENTED "-fprofile-instr-generate"
CMAKE_CXX_FLAGS
CMAKE_C_FLAGS
CMAKE_EXE_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS)

# Plugin support
# FIXME: Make this configurable.
if(WIN32 OR CYGWIN)
Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/LLVMExternalProjectUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ function(llvm_ExternalProject_Add name source_dir)
if(variableName MATCHES "^${nameCanon}")
string(REPLACE ";" "\;" value "${${variableName}}")
list(APPEND PASSTHROUGH_VARIABLES
-D${variableName}=${${value}})
-D${variableName}=${value})
endif()
endforeach()

Expand Down
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -5954,7 +5954,7 @@ _ACEOF
if test "${with_clang_default_openmp_runtime+set}" = set; then
withval=$with_clang_default_openmp_runtime;
else
withval="libgomp"
withval="libomp"
fi


Expand Down
1 change: 1 addition & 0 deletions docs/BitCodeFormat.rst
Original file line number Diff line number Diff line change
Expand Up @@ -756,6 +756,7 @@ function. The operand fields are:
* ``anyregcc``: code 13
* ``preserve_mostcc``: code 14
* ``preserve_allcc``: code 15
* ``cxx_fast_tlscc``: code 17
* ``x86_stdcallcc``: code 64
* ``x86_fastcallcc``: code 65
* ``arm_apcscc``: code 66
Expand Down
6 changes: 4 additions & 2 deletions docs/CompilerWriterInfo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,16 @@ ARM

* `ABI Addenda and Errata <http://infocenter.arm.com/help/topic/com.arm.doc.ihi0045d/IHI0045D_ABI_addenda.pdf>`_

* `ARM C Language Extensions <http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053a/IHI0053A_acle.pdf>`_
* `ARM C Language Extensions <http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053c/IHI0053C_acle_2_0.pdf>`_

AArch64
-------

* `ARMv8 Architecture Reference Manual <http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0487a.h/index.html>`_

* `ARMv8 Instruction Set Overview <http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.genc010197a/index.html>`_

* `ARM C Language Extensions <http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053a/IHI0053A_acle.pdf>`_
* `ARM C Language Extensions <http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053c/IHI0053C_acle_2_0.pdf>`_

Itanium (ia64)
--------------
Expand Down
27 changes: 27 additions & 0 deletions docs/DeveloperPolicy.rst
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,33 @@ for llvm users and not imposing a big burden on llvm developers:
it is to drop it. That is not very user friendly and a bit more effort is
expected, but no promises are made.

C API Changes
----------------

* Stability Guarantees: The C API is, in general, a "best effort" for stability.
This means that we make every attempt to keep the C API stable, but that
stability will be limited by the abstractness of the interface and the
stability of the C++ API that it wraps. In practice, this means that things
like "create debug info" or "create this type of instruction" are likely to be
less stable than "take this IR file and JIT it for my current machine".

* Release stability: We won't break the C API on the release branch with patches
that go on that branch, with the exception that we will fix an unintentional
C API break that will keep the release consistent with both the previous and
next release.

* Testing: Patches to the C API are expected to come with tests just like any
other patch.

* Including new things into the API: If an LLVM subcomponent has a C API already
included, then expanding that C API is acceptable. Adding C API for
subcomponents that don't currently have one needs to be discussed on the
mailing list for design and maintainability feedback prior to implementation.

* Documentation: Any changes to the C API are required to be documented in the
release notes so that it's clear to external users who do not follow the
project how the C API is changing and evolving.

.. _copyright-license-patents:

Copyright, License, and Patents
Expand Down
19 changes: 16 additions & 3 deletions docs/GettingStarted.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@ Here's the short story for getting up and running quickly with LLVM:
* ``cd llvm/projects``
* ``svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt``

#. Checkout Libomp (required for OpenMP support):

* ``cd where-you-want-llvm-to-live``
* ``cd llvm/projects``
* ``svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp``

#. Checkout libcxx and libcxxabi **[Optional]**:

* ``cd where-you-want-llvm-to-live``
Expand Down Expand Up @@ -535,6 +541,13 @@ If you want to check out compiler-rt (required to build the sanitizers), run:
% cd llvm/projects
% git clone http://llvm.org/git/compiler-rt.git

If you want to check out libomp (required for OpenMP support), run:

.. code-block:: console

% cd llvm/projects
% git clone http://llvm.org/git/openmp.git

If you want to check out libcxx and libcxxabi (optional), run:

.. code-block:: console
Expand Down Expand Up @@ -634,7 +647,7 @@ To set up clone from which you can submit code using ``git-svn``, run:
% git config svn-remote.svn.fetch :refs/remotes/origin/master
% git svn rebase -l

Likewise for compiler-rt and test-suite.
Likewise for compiler-rt, libomp and test-suite.

To update this clone without generating git-svn tags that conflict with the
upstream Git repo, run:
Expand All @@ -648,7 +661,7 @@ upstream Git repo, run:
git checkout master &&
git svn rebase -l)

Likewise for compiler-rt and test-suite.
Likewise for compiler-rt, libomp and test-suite.

This leaves your working directories on their master branches, so you'll need to
``checkout`` each working branch individually and ``rebase`` it on top of its
Expand Down Expand Up @@ -853,7 +866,7 @@ with the latest Xcode:

.. code-block:: console

% cmake -G "Ninja" -DCMAKE_OSX_ARCHITECTURES=armv7;armv7s;arm64"
% cmake -G "Ninja" -DCMAKE_OSX_ARCHITECTURES="armv7;armv7s;arm64"
-DCMAKE_TOOLCHAIN_FILE=<PATH_TO_LLVM>/cmake/platforms/iOS.cmake
-DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_RUNTIME=Off -DLLVM_INCLUDE_TESTS=Off
-DLLVM_INCLUDE_EXAMPLES=Off -DLLVM_ENABLE_BACKTRACES=Off [options]
Expand Down
54 changes: 50 additions & 4 deletions docs/LangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,26 @@ added in the future:
This calling convention, like the `PreserveMost` calling convention, will be
used by a future version of the ObjectiveC runtime and should be considered
experimental at this time.
"``cxx_fast_tlscc``" - The `CXX_FAST_TLS` calling convention for access functions
Clang generates an access function to access C++-style TLS. The access
function generally has an entry block, an exit block and an initialization
block that is run at the first time. The entry and exit blocks can access
a few TLS IR variables, each access will be lowered to a platform-specific
sequence.

This calling convention aims to minimize overhead in the caller by
preserving as many registers as possible (all the registers that are
perserved on the fast path, composed of the entry and exit blocks).

This calling convention behaves identical to the `C` calling convention on
how arguments and return values are passed, but it uses a different set of
caller/callee-saved registers.

Given that each platform has its own lowering sequence, hence its own set
of preserved registers, we can't use the existing `PreserveMost`.

- On X86-64 the callee preserves all general purpose registers, except for
RDI and RAX.
"``cc <n>``" - Numbered convention
Any calling convention may be specified by number, allowing
target-specific calling conventions to be used. Target specific
Expand Down Expand Up @@ -3731,9 +3751,9 @@ DICompileUnit
"""""""""""""

``DICompileUnit`` nodes represent a compile unit. The ``enums:``,
``retainedTypes:``, ``subprograms:``, ``globals:`` and ``imports:`` fields are
tuples containing the debug info to be emitted along with the compile unit,
regardless of code optimizations (some nodes are only emitted if there are
``retainedTypes:``, ``subprograms:``, ``globals:``, ``imports:`` and ``macros:``
fields are tuples containing the debug info to be emitted along with the compile
unit, regardless of code optimizations (some nodes are only emitted if there are
references to them from instructions).

.. code-block:: llvm
Expand All @@ -3742,7 +3762,7 @@ references to them from instructions).
isOptimized: true, flags: "-O2", runtimeVersion: 2,
splitDebugFilename: "abc.debug", emissionKind: 1,
enums: !2, retainedTypes: !3, subprograms: !4,
globals: !5, imports: !6)
globals: !5, imports: !6, macros: !7, dwoId: 0x0abcd)

Compile unit descriptors provide the root scope for objects declared in a
specific compilation unit. File descriptors are defined using this scope.
Expand Down Expand Up @@ -4108,6 +4128,32 @@ compile unit.
!2 = !DIImportedEntity(tag: DW_TAG_imported_module, name: "foo", scope: !0,
entity: !1, line: 7)

DIMacro
"""""""

``DIMacro`` nodes represent definition or undefinition of a macro identifiers.
The ``name:`` field is the macro identifier, followed by macro parameters when
definining a function-like macro, and the ``value`` field is the token-string
used to expand the macro identifier.

.. code-block:: llvm

!2 = !DIMacro(macinfo: DW_MACINFO_define, line: 7, name: "foo(x)",
value: "((x) + 1)")
!3 = !DIMacro(macinfo: DW_MACINFO_undef, line: 30, name: "foo")

DIMacroFile
"""""""""""

``DIMacroFile`` nodes represent inclusion of source files.
The ``nodes:`` field is a list of ``DIMacro`` and ``DIMacroFile`` nodes that
appear in the included source file.

.. code-block:: llvm

!2 = !DIMacroFile(macinfo: DW_MACINFO_start_file, line: 7, file: !2,
nodes: !3)

'``tbaa``' Metadata
^^^^^^^^^^^^^^^^^^^

Expand Down
2 changes: 2 additions & 0 deletions docs/LibFuzzer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,8 @@ Trophies

* `Python <http://bugs.python.org/issue25388>`_

* OpenSSL/BoringSSL: `[1] <https://boringssl.googlesource.com/boringssl/+/cb852981cd61733a7a1ae4fd8755b7ff950e857d>`_

* `Libxml2
<https://bugzilla.gnome.org/buglist.cgi?bug_status=__all__&content=libFuzzer&list_id=68957&order=Importance&product=libxml2&query_format=specific>`_

Expand Down
2 changes: 1 addition & 1 deletion docs/ReleaseProcess.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ test-release.sh
---------------

This script will check-out, configure and compile LLVM+Clang (+ most add-ons, like ``compiler-rt``,
``libcxx`` and ``clang-extra-tools``) in three stages, and will test the final stage.
``libcxx``, ``libomp`` and ``clang-extra-tools``) in three stages, and will test the final stage.
It'll have installed the final binaries on the Phase3/Releasei(+Asserts) directory, and
that's the one you should use for the test-suite and other external tests.

Expand Down
2 changes: 1 addition & 1 deletion examples/Kaleidoscope/Orc/fully_lazy/toy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1308,7 +1308,7 @@ class KaleidoscopeJIT {

std::map<std::string, std::unique_ptr<FunctionAST>> FunctionDefs;

JITCompileCallbackManager<OrcX86_64> CompileCallbacks;
LocalJITCompileCallbackManager<OrcX86_64> CompileCallbacks;
};

static void HandleDefinition(SessionContext &S, KaleidoscopeJIT &J) {
Expand Down
Loading