Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1385 commits
Select commit Hold shift + click to select a range
b946838
[x86][icelake]VNNI
Nov 21, 2017
c8436a5
[ARM GlobalISel] Add comment for r318398. NFC.
rovka Nov 21, 2017
09a18aa
[x86][icelake]BITALG
Nov 21, 2017
ec5c18f
[MI scheduler] Fix VADD and VSUB in cortex-a57 model
eleviant Nov 21, 2017
6f46cf2
[X86][LWP] Add missing LWP itinerary class to lwpins instructions
RKSimon Nov 21, 2017
5bc846a
[ARM] Use SEH exceptions on thumbv7-windows
martell Nov 21, 2017
906bf03
[RISCV][NFC] Clean up RISCVDAGToDAGISel::Select
asb Nov 21, 2017
4ef99ab
[X86][XOP] Add missing scheduler classes to XOP instructions
RKSimon Nov 21, 2017
4f7355a
[TableGen] AsmMatcher: Fix bug with reported diagnostic for operand.
sdesmalen-arm Nov 21, 2017
d0f6929
[RISCV][NFC] Remove unnecessary {} around single statement if block
asb Nov 21, 2017
61f91c5
[AMDGPU] SDWA: remove omod src operand for VOP2b instructions
samkolton Nov 21, 2017
80664f0
Merge branch master into amd-master
Nov 21, 2017
a010e18
[InstCombine] Test for PR35354: unable to vectorize loop with std::max
alexey-bataev Nov 21, 2017
3149db1
[ARM] Add diagnostics for SPR/DPR lists
ostannard Nov 21, 2017
b181279
Revert r318759 due to make check-all failure on Windows
sdesmalen-arm Nov 21, 2017
175246c
[Asm] Finish matching once end of formal and actual lists reached (NFC)
ostannard Nov 21, 2017
0d3c6ac
Merge branch amd-master into amd-common
Nov 21, 2017
252ae73
[Asm] Improve "too few operands" errors
ostannard Nov 21, 2017
14544e6
[ARM] Don't omit non-default predication code
ostannard Nov 21, 2017
a694e22
Add MemorySSA as loop dependency, disabled by default [NFC].
alinas Nov 21, 2017
36acc9a
[ARM] Remove pre-UAL FLDM/FSTM aliases
ostannard Nov 21, 2017
1176434
EntryExitInstrumenter: support __cyg_profile_func_enter_bare
zmodem Nov 21, 2017
05ebb04
Rename test/Transforms/CountingFunctionInserter -> EntryExitInstrumenter
zmodem Nov 21, 2017
c4d4e42
removed unused private method decl. NFC
nunoplopes Nov 21, 2017
a5579c6
Fix r318786
zmodem Nov 21, 2017
83ff5e4
[AArch64] Mark mrs of TPIDR_EL0 (thread pointer) as *having* side eff…
Nov 21, 2017
063a34c
[X86] Sort bits in getHostCPUFeatures again.
topperc Nov 21, 2017
d35da7d
Avoid unecessary opsize byte in segment move to memory
niravhdave Nov 21, 2017
8bf63c0
[X86] Add BITALG, VAES, VBMI2, VNNI, VPCLMULQDQ, and VPOPCNTDQ instru…
topperc Nov 21, 2017
bc4487d
[X86] Allow vpclmulqdq instructions to be commuted during isel to all…
topperc Nov 21, 2017
c3a6d30
[Hexagon] Make sure that RDF does not remove EH_LABELs
Nov 21, 2017
8304ff2
[TableGen] Improve error reporting
Nov 21, 2017
93e2dfd
Object: Improve COFF irsymtab comdat representation.
pcc Nov 21, 2017
dbf2cce
[Hexagon] Add HexagonSubtarget::getVectorLength()
Nov 21, 2017
d7f5dd8
Merge branch master into amd-master
Nov 21, 2017
bb324a1
[X86] Move the information about the feature bits used by compiler-rt…
topperc Nov 21, 2017
b72adce
Merge branch amd-master into amd-common
Nov 21, 2017
882fbe3
[SCCP] Pick the right lattice value for constants.
dcci Nov 22, 2017
93892b0
Merge branch master into amd-master
Nov 22, 2017
f66b47b
[SCEV] Strengthen variance condition in calculateLoopDisposition
Nov 22, 2017
4b9371c
[SelectionDAG] Add a isel matcher op to check the type of node result…
topperc Nov 22, 2017
fa5b169
[X86] Lower all ISD::MGATHER nodes to X86ISD:MGATHER.
topperc Nov 22, 2017
9005615
Merge branch amd-master into amd-common
Nov 22, 2017
808577c
[llvm-tblgen] - Stop using std::string in RecordKeeper.
Nov 22, 2017
5698a7a
[X86] Add an X86ISD::MSCATTER node for consistency with the X86ISD::M…
topperc Nov 22, 2017
249b368
[DAGCombiner] Bugfix in isAlias().
JonPsson Nov 22, 2017
72bc6f1
AMDGPU: Consider memory dependencies with moved instructions in SILoa…
nhaehnle Nov 22, 2017
4f2ca7c
Merge branch master into amd-master
Nov 22, 2017
6ad4c21
Merge branch amd-master into amd-common
Nov 22, 2017
a513cc4
[DWARF] Fix handling of extended line-number opcodes
pogo59 Nov 22, 2017
229c341
[DWARFv5] Support DW_FORM_strp in the .debug_line.dwo header.
pogo59 Nov 22, 2017
6d338d1
[AMDGPU][mc][tests] Updated generated lit tests for GFX8/9
dpreobra Nov 22, 2017
e885041
[DebugInfo] Dump a .debug_line section, including line-number program,
pogo59 Nov 22, 2017
ac77244
[AMDGPU] Fix SITargetLowering::LowerCall for pointer info of byval ar…
yxsamliu Nov 22, 2017
22c5379
[X86] Spell penryn correctly in some comments. NFC
topperc Nov 22, 2017
6d6a492
[DwarfDump] -debug-line=offset applies to .dwo too.
pogo59 Nov 22, 2017
d159fdd
CachePruning: Allow limiting the number of files in the cache directory.
pcc Nov 22, 2017
1f7a128
Remove unnecessary include.
pogo59 Nov 22, 2017
7c8f4b0
Allow TempFile::discard to be called twice.
espindola Nov 22, 2017
c4b304c
Remove unnecessary code.
espindola Nov 22, 2017
690ef98
[X86] Sink the MGATHER setOperationActions for AVX2 into the AVX bloc…
topperc Nov 22, 2017
d93d311
[X86] Move the BITALG setOperationAction code into the hasBWI section…
topperc Nov 22, 2017
db39a5d
[X86] Support v32i16/v64i8 CTLZ using lookup table.
topperc Nov 22, 2017
def4c6a
Add a missing include found by modules bot.
pogo59 Nov 22, 2017
d21081d
[Hexagon] Remove trailing spaces, NFC
Nov 22, 2017
8a2f52c
[Hexagon] Add patterns to select A2_combine_ll and its variants
Nov 22, 2017
67b504e
[Hexagon] Implement buildVector32 and buildVector64 as utility functions
Nov 22, 2017
a51f091
IR printing improvement for loop passes
Theodor Nov 22, 2017
c16f72f
Merge branch master into amd-master
Nov 22, 2017
0a5e462
[AArch64] Adjust the cost model for Exynos M1 and M2
Nov 22, 2017
292f995
Merge branch amd-master into amd-common
Nov 22, 2017
54ab0be
[X86] Regenerate the vector-popcnt and vector-tzcnt tests to get BITA…
topperc Nov 22, 2017
7b0e38d
Instrumentation.h: Remove dead/untested code for DFSan JIT support
dwblaikie Nov 23, 2017
5a85a28
[NFC] CodeGen: Handle shift amount type in DAGTypeLegalizer::SplitInt…
yxsamliu Nov 23, 2017
ddbb4a3
[X86] Remove a ternary operator that can only ever be false. NFC
topperc Nov 23, 2017
63c16e8
[X86] Simplify some bitmasking and use llvm_unreachable to mark an im…
topperc Nov 23, 2017
7d9a627
[X86] Remove unnecessary check for is128BitVector. NFC
topperc Nov 23, 2017
9fd11b9
[X86] Turn an if condition that should always be true into an assert.…
topperc Nov 23, 2017
6d22318
Add backend name to AVR Target to enable runtime info to be fed back …
xiangzhai Nov 23, 2017
41474c8
[IRCE][NFC] Add no wrap flags to no-wrapping SCEV calculation
Nov 23, 2017
c62dc5a
Merge branch master into amd-master
Nov 23, 2017
9052cc8
Revert r318822 "[llvm-tblgen] - Stop using std::string in RecordKeeper."
Nov 23, 2017
a99f2a1
[MSan] Move the access address check before the shadow access for tha…
ramosian-glider Nov 23, 2017
c428967
[x86][icelake]BITALG
Nov 23, 2017
a1660ef
[mips] Use the delay slot filler to convert branches for microMIPSR6.
Nov 23, 2017
30e25c3
[ARM GlobalISel] Support G_FMUL for s32 and s64
rovka Nov 23, 2017
da18ebe
[lit] Implement non-pipelined ‘mkdir’, ‘diff’ and ‘rm’ commands inter…
MaggieYingYi Nov 23, 2017
8096160
Merge branch amd-master into amd-common
Nov 23, 2017
a16d261
Reverted rL318911 since it broke the sanitizer-windows.
MaggieYingYi Nov 23, 2017
ffb04cb
[ARM GlobalISel] Support G_FDIV for s32 and s64
rovka Nov 23, 2017
b8e96eb
[X86][SSE] Use (V)PHMINPOSUW for vXi16 SMAX/SMIN/UMAX/UMIN horizontal…
RKSimon Nov 23, 2017
f0a9f7d
Merge branch master into amd-master
Nov 23, 2017
7f86494
MSan: remove an unnecessary cast. NFC for userspace instrumenetation.
ramosian-glider Nov 23, 2017
6dfd0f1
Merge branch amd-master into amd-common
Nov 23, 2017
ef7f007
[X86] Remove some dead code. NFC
topperc Nov 23, 2017
6ab51e7
[X86] Remove some dead code leftover from when i1 was a legal type. NFCI
topperc Nov 23, 2017
7e1c537
[X86] Add X86ISD::CMPM_RND to getVectorMaskingNode to select ISD::AND…
topperc Nov 23, 2017
477fbd7
[X86] Remove some unneeded opcodes from getVectorMaskingNode. NFC
topperc Nov 23, 2017
75d9c5d
[X86] Teach isel that X86ISD::CMPM_RND zeros the upper bits of the ma…
topperc Nov 23, 2017
6dce9fb
[X86] Don't invert NewCC variable while processing the jcc/setcc/cmov…
topperc Nov 23, 2017
01eb33b
[YAMLParser] Don't crash on null keys in KeyValueNodes.
d0k Nov 23, 2017
699de77
[YAMLParser] Fix unused variable warning.
d0k Nov 23, 2017
da930ca
Merge branch master into amd-master
Nov 23, 2017
b408be8
Merge branch amd-master into amd-common
Nov 23, 2017
89e87a7
[AMDGPU][MC][GFX9] Added support of 'inst_offset' modifier for compat…
dpreobra Nov 24, 2017
ba397bc
[mips] Set microMIPS ASE flag
Nov 24, 2017
f3ef7d8
[CGP] Make optimizeMemoryInst able to combine more kinds of ExtAddrMo…
john-brawn-arm Nov 24, 2017
978b422
Merge branch master into amd-master
Nov 24, 2017
d951789
[SCEV] : Simplify loop to range-loop.NFC.
javedabsar Nov 24, 2017
9a31efb
Make helpers static. NFC.
d0k Nov 24, 2017
9bed439
Merge branch amd-master into amd-common
Nov 24, 2017
00a3d28
[AVR] Use the short form of 'clr <reg>'
dylanmckay Nov 24, 2017
1ddc193
[AMDGPU][MC][GFX9] Added v_interp_p2_f16 and v_interp_p2_legacy_f16
dpreobra Nov 24, 2017
be38a81
[CodeGenPrepare] Check that erased sunken address are not reused
Nov 24, 2017
5ef2d3e
[APInt] Don't print debug messages from the APInt knuth division algo…
topperc Nov 24, 2017
0db8520
Revert 318963 "[APInt] Don't print debug messages from the APInt knut…
topperc Nov 24, 2017
ea90ece
[X86] Prevent using X * rsqrt(X) to approximate sqrt when only sse1 i…
topperc Nov 24, 2017
cdd7d22
Recommit r318963 "[APInt] Don't print debug messages from the APInt k…
topperc Nov 24, 2017
3acf69e
Merge branch master into amd-master
Nov 24, 2017
a0e8136
Merge branch amd-master into amd-common
Nov 24, 2017
736b292
[X86] Add some early DAG combines to turn v4i32 AND/OR/XOR into FAND/…
topperc Nov 25, 2017
ff7ef15
[X86] Support folding to andnps with SSE1 only.
topperc Nov 25, 2017
54fff5c
[X86] Qualify some vector specific code with VT.isVector(). NFCI
topperc Nov 25, 2017
a535302
[X86] Simplify some code in combineSetCC. NFCI
topperc Nov 25, 2017
f5c432d
Add BTVER2 sched support for SHLD/SHRD.
avt77 Nov 25, 2017
931060d
Merge branch master into amd-master
Nov 25, 2017
e6e3c34
Merge branch amd-master into amd-common
Nov 25, 2017
4a69267
[SelectionDAG] Remove some dead code from vector scalaring
topperc Nov 25, 2017
47dab13
[X86] Don't report gather is legal on Skylake CPUs when AVX2/AVX512 i…
topperc Nov 25, 2017
fd41de8
[X86] Add separate intrinsics for scalar FMA4 instructions.
topperc Nov 25, 2017
a3d58af
[X86] Remove GCCBuiltin from intrinsics that are no longer used by cl…
topperc Nov 25, 2017
d4027e0
Remove dead code
dwblaikie Nov 25, 2017
868f673
Merge branch master into amd-master
Nov 25, 2017
693c16d
Merge branch amd-master into amd-common
Nov 25, 2017
0d7d3a3
[SCEV] NFC : Removing unnecessary check on outgoing branches of a bra…
jbhateja Nov 26, 2017
c41d456
Merge branch master into amd-master
Nov 26, 2017
2d7c763
Merge branch amd-master into amd-common
Nov 26, 2017
a897faa
[x86][icelake]GFNI
Nov 26, 2017
40090f4
Control-Flow Enforcement Technology - Shadow Stack support (LLVM side)
Nov 26, 2017
a45bbef
Merge branch master into amd-master
Nov 26, 2017
e3c083a
Merge branch amd-master into amd-common
Nov 26, 2017
081379e
[SCEV] Adding a check on outgoing branches of a terminator instr for …
jbhateja Nov 26, 2017
7872ae5
[X86][MMX] Add IIC_MMX_MOVMSK instruction itinerary class
RKSimon Nov 26, 2017
f849dab
[X86][3DNow] Remove unused I3DNow_binop_rm/I3DNow_conv_rm templates. …
RKSimon Nov 26, 2017
eba6c93
[utils][mips] Add support for mips for update_llc_checks.py
Nov 26, 2017
080a6eb
[X86][SSE] Add SSE42 tests to the clear upper tests
RKSimon Nov 26, 2017
984b922
[X86][3DNow] Add 3DNow! instruction itinerary and scheduling classes
RKSimon Nov 26, 2017
75de121
[X86] Fix an assert that was incorrectly checking for BMI instead of …
topperc Nov 26, 2017
2b26a10
Merge branch master into amd-master
Nov 26, 2017
91eab23
Merge branch amd-master into amd-common
Nov 26, 2017
c532db3
[SelectionDAG] Fix function name in comment. NFC
topperc Nov 27, 2017
cd0e647
[SelectionDAG] Teach SplitVecRes_SETCC to call GetSplitVector if the …
topperc Nov 27, 2017
bcc6066
Merge branch master into amd-master
Nov 27, 2017
4b3fe58
Merge branch amd-master into amd-common
Nov 27, 2017
67a7add
Update BTVER2 sched numbers for SSE42 string instructions.
avt77 Nov 27, 2017
2facd58
[ARM] Fix an off-by-one error when restoring LR for 16-bit Thumb
momchil-velikov Nov 27, 2017
3189f24
[X86][FMA] Tag all FMA/FMA4 instructions with WriteFMA schedule class
RKSimon Nov 27, 2017
7f70b1d
[NFC] Add missing unit tests for EquivalenceClasses
Nov 27, 2017
8ed68b3
[CGP] Fix handling of null pointer values in optimizeMemoryInst
john-brawn-arm Nov 27, 2017
14242fe
[AMDGPU] Add custom lowering for llvm.log{,10}.{f16,f32} intrinsics
vedranmiletic Nov 27, 2017
0c9555a
[Support] Fix locking of shared variable in threadpool
jkorous-apple Nov 27, 2017
c4e94e7
Merge branch master into amd-master
Nov 27, 2017
e5c2374
[X86] Add scheduling tests for invlpg/invlpga
RKSimon Nov 27, 2017
a4fca0b
[mips] fix asmstring of Ext and Ins instructions and mips16 JALRC/JRC
petar-jovanovic Nov 27, 2017
0782e89
[X86] Add INVLPGA to the existing INVLPG scheduling
RKSimon Nov 27, 2017
3783e4e
Merge branch amd-master into amd-common
Nov 27, 2017
dbbb6c5
[DAG] Do MergeConsecutiveStores again before Instruction Selection
niravhdave Nov 27, 2017
b34814e
[InstSimplify] add fcmp with negative constant tests; NFC
rotateright Nov 27, 2017
52a381f
[InstSimplify] use m_APFloat to simplify fcmp folds; NFCI
rotateright Nov 27, 2017
8856af9
[llvm-dwarfdump] Display DW_AT_high_pc as absolute value
JDevlieghere Nov 27, 2017
c17b615
[X86][AVX512] Tag AVX512 sqrt instructions with SSE_SQRT schedule cla…
RKSimon Nov 27, 2017
c66b956
[XRay] Fix typo in docs. NFC
MaskRay Nov 27, 2017
d89f477
[Power9] Improvements to vector extract with variable index exploitation
syzaara Nov 27, 2017
6f67bb8
[AMDGPU][MC][DISASSEMBLER][GFX9] Corrected decoding of GLOBAL/SCRATCH…
dpreobra Nov 27, 2017
7090837
[X86][SSE] Fix roundpd instructions to correctly use IIC_SSE_ROUNDPD_…
RKSimon Nov 27, 2017
be0b1c9
[X86] Make getSetCCResultType return vXi1 for any vXi32/vXi64 vector …
topperc Nov 27, 2017
a43196c
Delete obsolete function mergeUseListsImpl
hahnjo Nov 27, 2017
538fe17
[X86] Add avx512bw command lines to vselect-packss.ll
topperc Nov 27, 2017
ee0ba22
[Hexagon] Implement HexagonSubtarget::isHVXVectorType
Nov 27, 2017
89f2749
[X86][AVX512] Tag AVX512 PACKSS/PACKUS/PMADDWD/PMADDUBSW instructions…
RKSimon Nov 27, 2017
8b3bfa3
[X86] Teach combineX86ShuffleChain that AllowIntDomain requires at le…
topperc Nov 27, 2017
c7c532a
[InstCombine] use 'auto' with 'dyn_cast'; NFC
rotateright Nov 27, 2017
359627f
[X86] Remove an unused isel pattern that looked for pshufd with v4f32…
topperc Nov 27, 2017
5f26e59
[cmake] Pass -Wl,-z,nodelete on Linux to prevent unloading
mgorny Nov 27, 2017
81a153c
[BinaryStream] Support growable streams.
Nov 27, 2017
237a48e
[llvm-objcopy] Add --strip-all-gnu and change --strip-all
jakehehrlich Nov 27, 2017
aa1bb20
[opt-viewer] Fix option name
anemet Nov 27, 2017
1e5f63d
Add opt-viewer testing
anemet Nov 27, 2017
ec3e964
Inliner: Don't mark notail calls with the 'tail' attribute
aschwaighofer Nov 27, 2017
8eec0f9
Revert r319069 - [cmake] Pass -Wl,-z,nodelete on Linux to prevent unl…
mgorny Nov 27, 2017
e01551e
Fix -Werror build for signed/unsigned comparison with use of explicit…
dwblaikie Nov 27, 2017
d7eaf51
Rename CommandFlags.h -> CommandFlags.def
dwblaikie Nov 27, 2017
f806193
[SelectionDAG] Add a debug message when vector_shuffle nodes are crea…
topperc Nov 27, 2017
55bf375
Rename MCTargetOptionsCommandFlags.h to .def as it is not a normal/mo…
dwblaikie Nov 27, 2017
63c8163
[PowerPC] Remove redundant TOC saves
syzaara Nov 27, 2017
aa56864
Use LIST_SEPARATOR rather than escaping in ExternalProject_Add
petrhosek Nov 27, 2017
3e70082
COFF: Do not create SectionChunks for discarded comdat sections.
pcc Nov 27, 2017
1079664
[AMDGPU] Update test nullptr.ll to use amdgiz environment
yxsamliu Nov 27, 2017
6d9a231
Add release note about TargetRegistry change from r318352
dsandersllvm Nov 27, 2017
8a189ea
[PartiallyInlineLibCalls][x86] add TTI hook to allow sqrt inlining to…
rotateright Nov 27, 2017
7657920
[SROA] Propagate !range metadata when moving loads.
dcci Nov 27, 2017
568c078
[Mem2Reg] Clang-format unformatted parts of this file. NFCI.
dcci Nov 27, 2017
a94d5cd
Revert r319090, "COFF: Do not create SectionChunks for discarded comd…
pcc Nov 27, 2017
488f2df
[X86] Remove lines that set v8f32 FP_ROUND/FP_EXTEND to Legal under A…
topperc Nov 27, 2017
7e4d36c
Fixed the ability to recursively get an attribute value from a DWARFDie.
Nov 27, 2017
8d31f1e
Merge branch master into amd-master
Nov 27, 2017
937b23b
[cmake] Pass -Wl,-z,nodelete on Linux to prevent unloading
mgorny Nov 27, 2017
567f85d
[CMake][runtimes] Support monorepo layout with runtimes build
petrhosek Nov 27, 2017
ad30d13
[CMake] Pass LLVM_HOST_TRIPLE to external projects
petrhosek Nov 27, 2017
9ee906e
[X86] Teach getSetCCResultType to handle more than just SimpleVTs whe…
topperc Nov 27, 2017
314e7e9
Merge branch amd-master into amd-common
Nov 27, 2017
fc69100
Add OpenFlags to the create(Unique|Temporary)File interfaces.
espindola Nov 27, 2017
b7bbf04
[DAGCombiner] Use EVT::changeVectorElementTypeToInteger() instead of …
topperc Nov 27, 2017
a886204
[DAGCombiner] Don't combine aext(setcc) if the setcc is already using…
topperc Nov 27, 2017
816b1db
Add an F_Delete flag.
espindola Nov 28, 2017
46ff4a6
[X86] Remove duplicate calls to setOperationAction. NFCI
topperc Nov 28, 2017
d53bca9
[X86] Remove unnecessary fp<->int setOperationAction lines from a has…
topperc Nov 28, 2017
e707c0c
Move getVariableSize from Verifier.cpp into DIVariable::getSize() (NFC)
adrian-prantl Nov 28, 2017
c8ef2d5
SROA: Avoid creating a fragment expression that covers the entire var…
adrian-prantl Nov 28, 2017
9f86840
[WebAssembly] Fix trapping behavior in fptosi/fptoui.
Nov 28, 2017
68fabe0
ARM: Fix PR32578
MatzeB Nov 28, 2017
c87c1c0
This reverts commit r319096 and r319097.
espindola Nov 28, 2017
81e548c
Reland r319090, "COFF: Do not create SectionChunks for discarded comd…
pcc Nov 28, 2017
e452c8d
Move code. NFC.
espindola Nov 28, 2017
f058704
[X86] Add command line without AVX512BW/AVX512VL to bitcast-int-to-ve…
topperc Nov 28, 2017
9f2b724
[X86] Make zero extend from v16i1/v8i1 to v16i8/v8i16/v16i16 not scal…
topperc Nov 28, 2017
d04afd7
Use FILE_FLAG_DELETE_ON_CLOSE for TempFile on windows.
espindola Nov 28, 2017
90a526c
lit: Bring back -Dtool=xxx feature lost in r313928
MatzeB Nov 28, 2017
ee61a1d
MachineVerifier: Improve PHI operand checking
MatzeB Nov 28, 2017
026c5b3
MachineVerifier: Improve register operand checks
MatzeB Nov 28, 2017
f6ac57c
[DAGCombine] Disable finding better chains for stores at O0
Nov 28, 2017
ade49e4
[X86] Remove some unused pattern fragments from td file. NFC
topperc Nov 28, 2017
8aaa99a
[WebAssembly] Handle errors better in fast-isel.
Nov 28, 2017
119e3b1
Merge branch master into amd-master
Nov 28, 2017
965e787
Revert "Add opt-viewer testing"
anemet Nov 28, 2017
91f252a
Merge branch amd-master into amd-common
Nov 28, 2017
f7019c8
[GVN] Prevent ScalarPRE from hoisting across instructions that don't …
Nov 28, 2017
413ec67
[SCEV][NFC] More efficient caching in CompareSCEVComplexity
Nov 28, 2017
9ab4c27
[COFF] Implement constructor priorities
mstorsjo Nov 28, 2017
e58aca6
[SCEV][NFC] More efficient caching in CompareValueComplexity
Nov 28, 2017
f884784
AMDGPU: Consistently check for immediates in SIInstrInfo::FoldImmediate
nhaehnle Nov 28, 2017
f62da81
AMDGPU: Re-organize the outer loop of SILoadStoreOptimizer
nhaehnle Nov 28, 2017
04289f6
[TailRecursionElimination] Skip debug intrinsics.
fhahn Nov 28, 2017
6efdd0f
Add a new pass to speculate around PHI nodes with constant (integer) …
chandlerc Nov 28, 2017
9e3d7c9
[ARM][AArch64] Workaround ARM/AArch64 peculiarity in clearing icache.
smithp35 Nov 28, 2017
f3722ee
[X86][3DNow] Add instruction itinerary and scheduling classes for fem…
RKSimon Nov 28, 2017
accb337
[CodeGen] Rename functions PrintReg* to printReg*
francisvm Nov 28, 2017
95bb938
Merge branch master into amd-master
Nov 28, 2017
e2359ad
Merge branch amd-master into amd-common
Nov 28, 2017
7e7ae08
roc-1.7.x rc4 updates
kzhuravl Dec 6, 2017
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
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# binary files
test/Object/Inputs/*.a-* binary
test/tools/dsymutil/Inputs/* binary
test/tools/llvm-ar/Inputs/*.lib binary
test/tools/llvm-objdump/Inputs/*.a binary
test/tools/llvm-rc/Inputs/* binary
test/tools/llvm-strings/Inputs/numbers binary
test/MC/AsmParser/incbin_abcd binary
test/YAMLParser/spec-09-02.test binary

# Windows line ending test
test/MC/AsmParser/preserve-comments-crlf.s text eol=crlf
53 changes: 26 additions & 27 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,20 @@

cmake_minimum_required(VERSION 3.4.3)

if(POLICY CMP0022)
cmake_policy(SET CMP0022 NEW) # automatic when 2.8.12 is required
endif()
cmake_policy(SET CMP0022 NEW)

if (POLICY CMP0051)
# CMake 3.1 and higher include generator expressions of the form
# $<TARGETLIB:obj> in the SOURCES property. These need to be
# stripped everywhere that access the SOURCES property, so we just
# defer to the OLD behavior of not including generator expressions
# in the output for now.
cmake_policy(SET CMP0051 OLD)
endif()
cmake_policy(SET CMP0048 NEW)

if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW)
endif()
# CMake 3.1 and higher include generator expressions of the form
# $<TARGETLIB:obj> in the SOURCES property. These need to be
# stripped everywhere that access the SOURCES property, so we just
# defer to the OLD behavior of not including generator expressions
# in the output for now.
cmake_policy(SET CMP0051 OLD)

cmake_policy(SET CMP0056 NEW)

cmake_policy(SET CMP0057 NEW)

if(NOT DEFINED LLVM_VERSION_MAJOR)
set(LLVM_VERSION_MAJOR 6)
Expand All @@ -32,13 +30,6 @@ if(NOT DEFINED LLVM_VERSION_SUFFIX)
set(LLVM_VERSION_SUFFIX svn)
endif()

if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
set(cmake_3_0_PROJ_VERSION
VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH})
set(cmake_3_0_LANGUAGES LANGUAGES)
endif()

if (NOT PACKAGE_VERSION)
set(PACKAGE_VERSION
"${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX}")
Expand All @@ -52,9 +43,8 @@ if ((CMAKE_GENERATOR MATCHES "Visual Studio") AND (CMAKE_GENERATOR_TOOLSET STREQ
endif()

project(LLVM
${cmake_3_0_PROJ_VERSION}
${cmake_3_0_LANGUAGES}
C CXX ASM)
VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}
LANGUAGES C CXX ASM)

if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "No build type selected, default to Debug")
Expand Down Expand Up @@ -177,6 +167,10 @@ if(LLVM_DEPENDENCY_DEBUGGING)
endif()

option(LLVM_ENABLE_DAGISEL_COV "Debug: Prints tablegen patterns that were used for selecting" OFF)
option(LLVM_ENABLE_GISEL_COV "Enable collection of GlobalISel rule coverage" OFF)
if(LLVM_ENABLE_GISEL_COV)
set(LLVM_GISEL_COV_PREFIX "${CMAKE_BINARY_DIR}/gisel-coverage-" CACHE STRING "Provide a filename prefix to collect the GlobalISel rule coverage")
endif()

# Add path for custom modules
set(CMAKE_MODULE_PATH
Expand All @@ -189,6 +183,9 @@ set(CMAKE_MODULE_PATH
# for use by clang_complete, YouCompleteMe, etc.
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

option(LLVM_INSTALL_BINUTILS_SYMLINKS
"Install symlinks from the binutils tool names to the corresponding LLVM tools." OFF)

option(LLVM_INSTALL_UTILS "Include utility binaries in the 'install' target." OFF)

option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
Expand Down Expand Up @@ -354,7 +351,7 @@ set(LLVM_TARGET_ARCH "host"

option(LLVM_ENABLE_TERMINFO "Use terminfo database if available." ON)

option(LLVM_ENABLE_LIBXML2 "Use libxml2 if available." ON)
set(LLVM_ENABLE_LIBXML2 "ON" CACHE STRING "Use libxml2 if available. Can be ON, OFF, or FORCE_ON")

option(LLVM_ENABLE_LIBEDIT "Use libedit if available." ON)

Expand Down Expand Up @@ -762,6 +759,7 @@ configure_file(
add_custom_target(srpm
COMMAND cpack -G TGZ --config CPackSourceConfig.cmake -B ${LLVM_SRPM_DIR}/SOURCES
COMMAND rpmbuild -bs --define '_topdir ${LLVM_SRPM_DIR}' ${LLVM_SRPM_BINARY_SPECFILE})
set_target_properties(srpm PROPERTIES FOLDER "Misc")


# They are not referenced. See set_output_directory().
Expand Down Expand Up @@ -974,6 +972,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
# Installing the headers needs to depend on generating any public
# tablegen'd headers.
add_custom_target(llvm-headers DEPENDS intrinsics_gen)
set_target_properties(llvm-headers PROPERTIES FOLDER "Misc")

if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-llvm-headers
Expand All @@ -997,13 +996,13 @@ if(LLVM_DISTRIBUTION_COMPONENTS)
if(TARGET ${target})
add_dependencies(distribution ${target})
else()
message(FATAL_ERROR "Specified distribution component '${target}' doesn't have a target")
message(SEND_ERROR "Specified distribution component '${target}' doesn't have a target")
endif()

if(TARGET install-${target})
add_dependencies(install-distribution install-${target})
else()
message(FATAL_ERROR "Specified distribution component '${target}' doesn't have an install target")
message(SEND_ERROR "Specified distribution component '${target}' doesn't have an install target")
endif()
endforeach()
endif()
Expand Down
19 changes: 0 additions & 19 deletions bindings/go/llvm/DIBuilderBindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,6 @@ void LLVMDIBuilderDestroy(LLVMDIBuilderRef dref) {
delete d;
}

void LLVMDIBuilderFinalize(LLVMDIBuilderRef dref) { unwrap(dref)->finalize(); }

LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef Dref,
unsigned Lang, const char *File,
const char *Dir,
const char *Producer,
int Optimized, const char *Flags,
unsigned RuntimeVersion) {
DIBuilder *D = unwrap(Dref);
return wrap(D->createCompileUnit(Lang, D->createFile(File, Dir), Producer,
Optimized, Flags, RuntimeVersion));
}

LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef Dref, const char *File,
const char *Dir) {
DIBuilder *D = unwrap(Dref);
return wrap(D->createFile(File, Dir));
}

LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Dref,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
Expand Down
11 changes: 1 addition & 10 deletions bindings/go/llvm/DIBuilderBindings.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

#include "IRBindings.h"
#include "llvm-c/Core.h"
#include "llvm-c/DebugInfo.h"

#ifdef __cplusplus
extern "C" {
Expand All @@ -30,16 +31,6 @@ typedef struct LLVMOpaqueDIBuilder *LLVMDIBuilderRef;
LLVMDIBuilderRef LLVMNewDIBuilder(LLVMModuleRef m);

void LLVMDIBuilderDestroy(LLVMDIBuilderRef d);
void LLVMDIBuilderFinalize(LLVMDIBuilderRef d);

LLVMMetadataRef
LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef D, unsigned Language,
const char *File, const char *Dir,
const char *Producer, int Optimized,
const char *Flags, unsigned RuntimeVersion);

LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef D, const char *File,
const char *Dir);

LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef D,
LLVMMetadataRef Scope,
Expand Down
19 changes: 13 additions & 6 deletions bindings/go/llvm/dibuilder.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,12 +132,17 @@ func (d *DIBuilder) CreateCompileUnit(cu DICompileUnit) Metadata {
defer C.free(unsafe.Pointer(flags))
result := C.LLVMDIBuilderCreateCompileUnit(
d.ref,
C.unsigned(cu.Language),
file, dir,
producer,
boolToCInt(cu.Optimized),
flags,
C.LLVMDWARFSourceLanguage(cu.Language),
C.LLVMDIBuilderCreateFile(d.ref, file, C.size_t(len(cu.File)), dir, C.size_t(len(cu.Dir))),
producer, C.size_t(len(cu.Producer)),
C.LLVMBool(boolToCInt(cu.Optimized)),
flags, C.size_t(len(cu.Flags)),
C.unsigned(cu.RuntimeVersion),
/*SplitName=*/ nil, 0,
C.LLVMDWARFEmissionFull,
/*DWOId=*/ 0,
/*SplitDebugInlining*/ C.LLVMBool(boolToCInt(true)),
/*DebugInfoForProfiling*/ C.LLVMBool(boolToCInt(false)),
)
return Metadata{C: result}
}
Expand All @@ -148,7 +153,9 @@ func (d *DIBuilder) CreateFile(filename, dir string) Metadata {
defer C.free(unsafe.Pointer(cfilename))
cdir := C.CString(dir)
defer C.free(unsafe.Pointer(cdir))
result := C.LLVMDIBuilderCreateFile(d.ref, cfilename, cdir)
result := C.LLVMDIBuilderCreateFile(d.ref,
cfilename, C.size_t(len(filename)),
cdir, C.size_t(len(dir)))
return Metadata{C: result}
}

Expand Down
6 changes: 5 additions & 1 deletion cmake/config-ix.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ if( NOT PURE_WINDOWS AND NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
set(HAVE_TERMINFO 0)
endif()

find_library(ICONV_LIBRARY_PATH NAMES iconv libiconv libiconv-2)
find_library(ICONV_LIBRARY_PATH NAMES iconv libiconv libiconv-2 c)
set(LLVM_LIBXML2_ENABLED 0)
set(LIBXML2_FOUND 0)
if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE))
Expand All @@ -170,6 +170,10 @@ if( NOT PURE_WINDOWS AND NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
endif()
endif()

if (LLVM_ENABLE_LIBXML2 STREQUAL "FORCE_ON" AND NOT LLVM_LIBXML2_ENABLED)
message(FATAL_ERROR "Failed to congifure libxml2")
endif()

check_library_exists(xar xar_open "" HAVE_LIBXAR)
if(HAVE_LIBXAR)
set(XAR_LIB xar)
Expand Down
33 changes: 25 additions & 8 deletions cmake/modules/AddLLVM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,13 @@ endfunction(add_llvm_symbol_exports)

if(NOT WIN32 AND NOT APPLE)
# Detect what linker we have here
if( LLVM_USE_LINKER )
set(command ${CMAKE_C_COMPILER} -fuse-ld=${LLVM_USE_LINKER} -Wl,--version)
else()
set(command ${CMAKE_C_COMPILER} -Wl,--version)
endif()
execute_process(
COMMAND ${CMAKE_C_COMPILER} -Wl,--version
COMMAND ${command}
OUTPUT_VARIABLE stdout
ERROR_VARIABLE stderr
)
Expand All @@ -164,7 +169,8 @@ if(NOT WIN32 AND NOT APPLE)
elseif("${stdout}" MATCHES "GNU ld")
set(LLVM_LINKER_IS_GNULD ON)
message(STATUS "Linker detection: GNU ld")
elseif("${stderr}" MATCHES "Solaris Link Editors")
elseif("${stderr}" MATCHES "Solaris Link Editors" OR
"${stdout}" MATCHES "Solaris Link Editors")
set(LLVM_LINKER_IS_SOLARISLD ON)
message(STATUS "Linker detection: Solaris ld")
else()
Expand Down Expand Up @@ -1037,6 +1043,13 @@ function(add_unittest test_suite test_name)
set(EXCLUDE_FROM_ALL ON)
endif()

# Our current version of gtest does not properly recognize C++11 support
# with MSVC, so it falls back to tr1 / experimental classes. Since LLVM
# itself requires C++11, we can safely force it on unconditionally so that
# we don't have to fight with the buggy gtest check.
add_definitions(-DGTEST_LANG_CXX11=1)
add_definitions(-DGTEST_HAS_TR1_TUPLE=0)

include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock/include)
if (NOT LLVM_ENABLE_THREADS)
Expand Down Expand Up @@ -1112,6 +1125,15 @@ function(llvm_canonicalize_cmake_booleans)
endforeach()
endfunction(llvm_canonicalize_cmake_booleans)

macro(set_llvm_build_mode)
# Configuration-time: See Unit/lit.site.cfg.in
if (CMAKE_CFG_INTDIR STREQUAL ".")
set(LLVM_BUILD_MODE ".")
else ()
set(LLVM_BUILD_MODE "%(build_mode)s")
endif ()
endmacro()

# This function provides an automatic way to 'configure'-like generate a file
# based on a set of common and custom variables, specifically targeting the
# variables needed for the 'lit.site.cfg' files. This function bundles the
Expand All @@ -1135,12 +1157,7 @@ function(configure_lit_site_cfg site_in site_out)

set(SHLIBEXT "${LTDL_SHLIB_EXT}")

# Configuration-time: See Unit/lit.site.cfg.in
if (CMAKE_CFG_INTDIR STREQUAL ".")
set(LLVM_BUILD_MODE ".")
else ()
set(LLVM_BUILD_MODE "%(build_mode)s")
endif ()
set_llvm_build_mode()

# They below might not be the build tree but provided binary tree.
set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
Expand Down
1 change: 1 addition & 0 deletions cmake/modules/AddOCaml.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -221,3 +221,4 @@ add_custom_target(ocaml_make_directory
COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${LLVM_LIBRARY_DIR}/ocaml/llvm")
add_custom_target("ocaml_all")
set_target_properties(ocaml_all PROPERTIES FOLDER "Misc")
set_target_properties(ocaml_make_directory PROPERTIES FOLDER "Misc")
4 changes: 1 addition & 3 deletions cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
include(CheckCXXCompilerFlag)

function(check_linker_flag flag out_var)
set(OLD_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${flag}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${flag}")
check_cxx_compiler_flag("" ${out_var})
set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
endfunction()
5 changes: 4 additions & 1 deletion cmake/modules/CrossCompile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
COMMAND ${CMAKE_COMMAND} -E make_directory ${LLVM_${target_name}_BUILD}
COMMENT "Creating ${LLVM_${target_name}_BUILD}...")

add_custom_target(CREATE_LLVM_${target_name}
DEPENDS ${LLVM_${target_name}_BUILD})

add_custom_command(OUTPUT ${LLVM_${target_name}_BUILD}/CMakeCache.txt
COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
${CROSS_TOOLCHAIN_FLAGS_${target_name}} ${CMAKE_SOURCE_DIR}
-DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
WORKING_DIRECTORY ${LLVM_${target_name}_BUILD}
DEPENDS ${LLVM_${target_name}_BUILD}
DEPENDS CREATE_LLVM_${target_name}
COMMENT "Configuring ${target_name} LLVM...")

add_custom_target(CONFIGURE_LLVM_${target_name}
Expand Down
Loading