Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Fix "unknown type name 'off_t'" build error on mingw. #1

Closed
wants to merge 8,436 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
8436 commits
Select commit Hold shift + click to select a range
bfee019
[Stackmap] Refactor operand parsing.
ributzka Dec 14, 2013
7ad409a
Replace string matching with a switch on Triple::getEnvironment.
jsonn Dec 15, 2013
ef94f7e
Fix AsmWriter's handling of SPIR calling conventions. Patch by Boaz O…
Dec 15, 2013
3b47b24
Ensure bitcode encoding of global variable attributes stays stable. P…
Dec 15, 2013
08e647a
There is no exp10 on NetBSD.
jsonn Dec 15, 2013
3589b7b
Last change for mips16 prolog/epilog cleanup and optimization.
Dec 15, 2013
f2f74bd
Get rid of an superfluous tab in the .s file. This was originally
Dec 15, 2013
9969630
Fix some indentation.
Dec 15, 2013
10f818b
remove an uneeded statement (condition is covered by the statement
Dec 15, 2013
00a5490
[AArch64]Fix the pattern match failure for v1i8/v1i16/v1i32 types.
Dec 16, 2013
6941863
Fix Android regression in r197332.
eugenis Dec 16, 2013
56c390e
llvm-config: Print SYSTEM_LIBS with --libs, instead of --ldflags.
chapuni Dec 16, 2013
64f5838
llvm-config: Fixup r197380, tweak for cross compilation. SYSTEM_LIBS …
chapuni Dec 16, 2013
376a81d
AVX-512: Added legal type MVT::i1 and VK1 register for it.
Dec 16, 2013
087499d
Fixed the test - added -mcpu=penryn flag to avoid ambiguity in code g…
Dec 16, 2013
e4b2195
fixed one more line
Dec 16, 2013
3e33675
[CMake] Introduce LLVM_INCLUDE_DIR.
chapuni Dec 16, 2013
49fe9da
Set has_asmparser in PowerPC/LLVMBuild.txt
Dec 16, 2013
742c278
[CMake] Introduce LLVM_RUNTIME_OUTPUT_INTDIR and LLVM_LIBRARY_OUTPUT_…
chapuni Dec 16, 2013
fe8eb63
[CMake] ${LLVM_MAIN_SRC_DIR}/include can be represented as ${LLVM_MAI…
chapuni Dec 16, 2013
7ef5520
On DataLayout, omit the default of p:64:64:64.
espindola Dec 16, 2013
63da3bb
Don't duplicate the DataLayout defaults for integer, floats and vectors.
espindola Dec 16, 2013
ea53c6a
The preferred alignment defaults to the abi alignment. Omit if it is …
espindola Dec 16, 2013
9291a78
MemoryBuffer: Increase the alignment of small file buffers to 16
rnk Dec 16, 2013
0762d6c
[AArch64] Fix v1fx patterns for Floating-point Multiply Extend and Fl…
Dec 16, 2013
7113922
Recognize EABIHF as environment and use it for RTAPI + VFP.
jsonn Dec 16, 2013
068fa85
Structure R600's computeDataLayout more like every other target.
espindola Dec 16, 2013
c4bc055
One last cleanup of LLVM's DataLayout strings.
espindola Dec 16, 2013
86d2896
whitespace
atrick Dec 16, 2013
b961a26
Allow MachineCSE to coalesce trivial subregister copies the same way
atrick Dec 16, 2013
1d86f67
[Stackmap] The first integer argument is passed in register for the W…
ributzka Dec 16, 2013
028208d
llvm-cov: Removed extra semicolon from ;;.
yuchenericwu Dec 16, 2013
2eead99
Revert "Allow MachineCSE to coalesce trivial subregister copies the s…
espindola Dec 16, 2013
9bf2e09
Fix typo in instruction name.
arsenm Dec 16, 2013
62fd16a
Add a reduced testcase from the recent bootstrap crash.
espindola Dec 16, 2013
e774912
[Stackmap] Allow WebKit_JS calling convention to store 4 byte sized a…
ributzka Dec 16, 2013
89452cf
llvm-cov: Added -u option for unconditional branch info.
yuchenericwu Dec 16, 2013
4faf2ba
Enable double to float shrinking optimizations for binary functions l…
Dec 16, 2013
b6c4a84
Add warning capabilities in LLVM.
Dec 16, 2013
da84349
llvm-cov: Marked secondary print functions private.
yuchenericwu Dec 16, 2013
b20feb9
Add the lit site config for unittests to bin/llvm-lit
rnk Dec 17, 2013
83fdac1
Add missing trailing comma in llvm-lit.in
rnk Dec 17, 2013
a6380c2
[LLVM Diagnostic Capabilities] Remove useless includes from
Dec 17, 2013
83196a9
LoopVectorizer: Don't if-convert constant expressions that can trap
aschwaighofer Dec 17, 2013
e0c25bd
Revert r197438 and r197447 until we figure out how to avoid circular …
Dec 17, 2013
26b52a7
Add a machine code print in DEBUG() following instruction selection.
Dec 17, 2013
14c3c52
Typo. s/reserved/preserved/
Dec 17, 2013
0f7c8fd
Make comment more explicit.
Dec 17, 2013
04ca269
Tweak lit/TestingConfig.py Py3-compatible. has_key is dead.
chapuni Dec 17, 2013
8b81765
whitespace
atrick Dec 17, 2013
c4c5a1d
Allow MachineCSE to coalesce trivial subregister copies the same way …
atrick Dec 17, 2013
5a1c0d6
Add -mcpu=z10 to SystemZ tests.
atrick Dec 17, 2013
16d0e12
llvm-config: Let directories aware of CMAKE_CFG_INTDIR.
chapuni Dec 17, 2013
608e4a3
Mark vastart_save_xmm_regs as changing EFLAGS
dexonsmith Dec 17, 2013
3e8bc5b
Revert "Mark vastart_save_xmm_regs as changing EFLAGS"
dexonsmith Dec 17, 2013
1f0a0e3
AVX-512: Added implementation of CONCAT_VECTORS for v8i1 vectors (by …
Dec 17, 2013
efa95f8
There are no __register_frame and __deregister_frame functions
yrnkrn Dec 17, 2013
5842a03
Fix for PR18045:
kaomoneus Dec 17, 2013
352168c
Fix code sample in NVPTX examples: now it compiles to PTX and runs as…
eliben Dec 17, 2013
fcd2633
Add some simple COFF files with Z7 debug info
timurrrr Dec 17, 2013
ce6d314
Fix the pointer size for the PS3 datalayout.
espindola Dec 17, 2013
c69e392
Revert "Revert "Mark vastart_save_xmm_regs as changing EFLAGS""
dexonsmith Dec 17, 2013
7c29644
Setting the CPU in the new vaargs test
dexonsmith Dec 17, 2013
24c6367
[mips] Fix off by one issue when applying a fixup.
Dec 17, 2013
de262fe
Add warning capabilities in LLVM.
Dec 17, 2013
ff7e4b1
Disabled subregister copy coalescing during MachineCSE.
atrick Dec 17, 2013
1655b73
Assert that the last operand is actually EFLAGS
dexonsmith Dec 17, 2013
3179bf2
Handle i64 first for clarity. No functionality change.
espindola Dec 17, 2013
a5dd89e
On APCS, only try to align aggregates to 32 bits instead of 64.
espindola Dec 17, 2013
65c4329
MC COFF: Emit the 'b' section flag for .bss sections in GNU assembly
rnk Dec 17, 2013
5103745
[DiagnosticPrinter] Use the appropriate method to print a Twine objec…
Dec 17, 2013
af73dfe
Support little-endian encodings in the FixedLenDecoderEmitter
Dec 17, 2013
18b3d13
Eliminate PPC instruction decoding ambiguities
Dec 17, 2013
f07d462
Fix N32 registers and stack alignment.
espindola Dec 17, 2013
2cb3295
DebugInfo: Introduce new DIValue, DIETypeSignature to encode referenc…
dwblaikie Dec 17, 2013
5a44539
AsmParser: add support for .end directive
compnerd Dec 18, 2013
0a9ff87
[AArch64 NEON]Implment loading vector constant form constant pool.
Dec 18, 2013
e66345a
ARM: set default float ABI based on triple.
TNorthover Dec 18, 2013
645efd7
ARM: force soft-float ABI for tests depending on it.
TNorthover Dec 18, 2013
c4fc004
DiagnosticInfo: Add missing namespace
tobiasgrosser Dec 18, 2013
d0ee4c5
[mips][msa] Remove unneeded triple directive in MSA MC tests.
Dec 18, 2013
c95108f
ARM: update comment to match reality
TNorthover Dec 18, 2013
fc9b0e6
One ppc32-darwin, a i64 inside a structure can have 32 bit alignment.
espindola Dec 18, 2013
ebd63ff
Fix f64 and f128 for ppc-darwin.
espindola Dec 18, 2013
b7967ba
[CMake] Prune LLVM_TOOLS_BINARY_DIR in LLVMConfig.cmake, since it alw…
chapuni Dec 18, 2013
010a40c
Revert r197380, "llvm-config: Print SYSTEM_LIBS with --libs, instead …
chapuni Dec 18, 2013
462da4a
[arm] Rename Tag_VFP_arch to Tag_FP_arch.
loganchien Dec 18, 2013
0f040da
[mips][msa] Update format of RUN lines for every MSA MC test.
Dec 18, 2013
25acded
[CMake] Don't put every project's tblgen executable in the LLVM bin d…
jrose-apple Dec 18, 2013
f6358f3
llvm-cov: Added -c option for branch counts.
yuchenericwu Dec 18, 2013
2ceb6ae
llvm-cov: s/(.*)Executed/\1Exec/
yuchenericwu Dec 18, 2013
04946d5
Add a unit test for loading an object file via a file descriptor. Pa…
resistor Dec 18, 2013
4fc1845
Revert r197600 while I sort out why it's failing on Windows.
resistor Dec 18, 2013
8cb0f6e
llvm-cov: Print coverage summary to STDOUT.
yuchenericwu Dec 18, 2013
17ab16a
Correctly handle the degenerated triple "thumb".
espindola Dec 18, 2013
3fbf1a6
formatting
adrian-prantl Dec 18, 2013
f5d3392
Pull in a couple of new constants from the upcoming DWARF 5 standard.
adrian-prantl Dec 18, 2013
5112542
Debug info: Implement (rvalue) reference qualifiers for C++11 non-static
adrian-prantl Dec 18, 2013
4fdb649
[aarch32] fix bug 18268: Incorrect condition of vsel
Dec 18, 2013
9e0f77e
Revert "Add -mcpu=z10 to SystemZ tests."
atrick Dec 18, 2013
deb8e33
Fix a problem with mips16 stubs when calls are transformed during
Dec 18, 2013
d218959
llvm-cov: Added -f option for function summaries.
yuchenericwu Dec 19, 2013
2fcb0c3
ArchiveFileDescriptorTests: Resurrect part of r197600, but make it in…
chapuni Dec 19, 2013
90a24a5
ArchiveFileDescriptorTests: Fix CMake build. Each unit test is expect…
chapuni Dec 19, 2013
d18d97a
Make cosmetic changes as part of Mips internal post commit review of
Dec 19, 2013
960ede2
Synchronize the NaCl DataLayout strings with the ones in clang.
espindola Dec 19, 2013
1d4866c
add source in comment
adrian-prantl Dec 19, 2013
4b70bfc
Begin adding docs and IR-level support for the inalloca attribute
rnk Dec 19, 2013
33f01f9
Add stack alignment information for Sparc.
espindola Dec 19, 2013
629f3b2
Fix a buffer overrun detected by AddressSanitizer.
AnnaZaks Dec 19, 2013
5b6af71
[stackprotector] Use analysis from the StackProtector pass for stack …
Dec 19, 2013
2ad4cf5
No point in having a "#if 0"ed unittest.
espindola Dec 19, 2013
304512c
ARM IAS: support .inst directive
compnerd Dec 19, 2013
251b921
Fix missing C++ mode comment
arsenm Dec 19, 2013
e2c28ad
R600/SI: Make private pointers be 32-bit.
arsenm Dec 19, 2013
115654f
Introduce clean-ups in llvm/unittests/Makefile.unittest, to sweep str…
chapuni Dec 19, 2013
722f58c
GCOV.cpp: Fix format strings, %lf. Don't use %lf to double.
chapuni Dec 19, 2013
cbce286
llvm-config: Introduce --system-libs to print SYSTEM_LIBS, and deprec…
chapuni Dec 19, 2013
a2e3b51
Add REQUIRES:asserts to 3 tests in llvm/test/CodeGen/R600 added in r1…
chapuni Dec 19, 2013
7ec73b1
Remove the COFF files with Z7 debug info from the repo
timurrrr Dec 19, 2013
e493a99
Teach the llvm-readobj COFF dumper to dump debug line tables from obj…
timurrrr Dec 19, 2013
a7eb2b8
Add an explicit insert point argument to SplitBlockAndInsertIfThen.
eugenis Dec 19, 2013
de011a5
[dfsan] Simplify code after r197677.
eugenis Dec 19, 2013
e14ad85
Add support for PointerLikeRegClass to FixedLenDecoderEmitter
Dec 19, 2013
974dbe1
[CMake] Introduce LIT in add_lit_target.
chapuni Dec 19, 2013
af224d7
llvm-config: Show build root instead of parent path in build tree wit…
chapuni Dec 19, 2013
d4cf97b
llvm-config: Don't show build tree with --obj-root for installed llvm…
chapuni Dec 19, 2013
44dc232
Support for microMIPS TLS relocations.
Dec 19, 2013
afe1c6b
Add a triple so that this passes on OS X.
espindola Dec 19, 2013
d715c3e
Add support for positionally-encoded operands to FixedLenDecoderEmitter
Dec 19, 2013
4267b16
Support for microMIPS LL and SC instructions.
Dec 19, 2013
1427abb
Add a disassembler to the PowerPC backend
Dec 19, 2013
f779a6c
Long doubles are required to be aligned to 128 bits and svr4 32 bits.
espindola Dec 19, 2013
bd2926b
Support for microMIPS control instructions.
Dec 19, 2013
b6601f1
Small simplification, p0 is the same as p.
espindola Dec 19, 2013
36db80c
Move testcase to the appropriate X86 subdirectory.
adrian-prantl Dec 19, 2013
23b7879
Revert r197682, "[CMake] Introduce LIT in add_lit_target."
chapuni Dec 19, 2013
79b3783
Improved fix for PR17827 (instcombine of shift/and/compare).
Dec 19, 2013
6075fa1
Add a finishParse() callback to the targer asm parser
dmpots Dec 19, 2013
0fa193b
Implement the ldr-pseudo opcode for ARM assembly
dmpots Dec 19, 2013
927ad4a
Unbreak ARM buildbots after r197653 by forcing the target triple on t…
Dec 19, 2013
3793977
Implement the .ltorg directive for ARM assembly
dmpots Dec 19, 2013
f847657
[X86][fast-isel] Fix select lowering.
Dec 19, 2013
75c8413
Stay classy (and legal) LLVM. Remove links to 3rd party SMT solver wh…
Dec 19, 2013
837d6ed
Make sys::ThreadLocal<> zero-initialized on non-thread builds (PR18205)
zmodem Dec 19, 2013
1191926
Update the links to the SPARC information.
espindola Dec 19, 2013
86f49d5
Changed the X86 assembler for intel syntax to work with directional l…
enderby Dec 19, 2013
ddc2347
Revert my change to the X86 assembler for intel syntax to work with
enderby Dec 19, 2013
a25701b
Ensure deterministic when printing ARM assembler constant pools
dmpots Dec 19, 2013
b9df9e6
Change getStringRepresentation to skip defaults.
espindola Dec 19, 2013
b4fcab4
Use $ORIGIN when setting rpath.
espindola Dec 19, 2013
3121da3
Un-revert: the buildbot failure in LLVM on lld-x86_64-win7 had me with
enderby Dec 19, 2013
54317ec
Update the ML test to expect the new string format of getStringRepres…
espindola Dec 19, 2013
baf8c08
Fix documentation typos
atoker Dec 20, 2013
da031f7
Makefile.ocaml: Tweak to use --system-libs.
chapuni Dec 20, 2013
40bcde8
move test back into the parent directory and add a REQUIRES: obj emis…
adrian-prantl Dec 20, 2013
75a8b23
[x86] Rename In32BitMode predicate to Not64BitMode
echristo Dec 20, 2013
ea5893e
Correctly apply the default pointer size
gribozavr Dec 20, 2013
8d6a09d
When parsing data layout string looking for endianness, use the corre…
gribozavr Dec 20, 2013
e899f25
Remove the AnyPointerSize and AnyEndianness enumerators, which were l…
gribozavr Dec 20, 2013
ff37ddf
Add support for a CU to output a set of ranges for the CU. This is us…
echristo Dec 20, 2013
e9e7e2c
Makefile.unittest: cleanup may fail. Add '-' in the action.
chapuni Dec 20, 2013
d1946f7
Ranges in the .debug_range section need to have begin and end labels,
echristo Dec 20, 2013
c86696a
This test requires object emission.
echristo Dec 20, 2013
658537c
Remove extra check line that's failing on windows and not necessary at
echristo Dec 20, 2013
37ee312
R600: Allow ftrunc
tstellarAMD Dec 20, 2013
69475dd
Install three utils, "FileCheck", "count", and "not", for now to appe…
chapuni Dec 20, 2013
6692ce1
ARM IAS: add support for the .pool directive
compnerd Dec 20, 2013
a232382
test: Prefer CHECK-LABEL to CHECK in branchweight tests
bogner Dec 20, 2013
35c913b
test: Make a branchweight test more specific
bogner Dec 20, 2013
bcb726d
Transforms: Don't create bad weights when eliminating dead cases
bogner Dec 20, 2013
66732ae
Add support for krait cpu in llvm::sys::getHostCPUName()
redstar Dec 20, 2013
78a6137
Fix a typo in the docs
timurrrr Dec 20, 2013
1fd4e55
[SystemZ] Extend RISBG optimization
Dec 20, 2013
23c9710
[SystemZ] Optimize comparisons with truncated extended loads
Dec 20, 2013
2c6e51f
Make this array const.
espindola Dec 20, 2013
1ef2ca6
Support for microMIPS FPU instructions 1.
Dec 20, 2013
247ea10
llvm-config: Use build_mode instead of LLVM_BUILDMODE. It should be e…
chapuni Dec 20, 2013
7c0eb96
llvm-config: Show OBJROOT rather than OBJROOT/BUILD_MODE in MakefileS…
chapuni Dec 20, 2013
9413345
Fix yet another typo
timurrrr Dec 20, 2013
ed46788
Implement initial-exec TLS for PPC32.
rdivacky Dec 20, 2013
fc90ff9
Resinstate the command line taking priority over CMakeLists in settin…
Dec 20, 2013
8aa3ff0
[COFF] Add support for the .secidx directive
timurrrr Dec 20, 2013
55b1086
Add the .secidx test I've forgotten to svn add in 197826
timurrrr Dec 20, 2013
93c53f4
clang-format a couple of mis-formatted functions
timurrrr Dec 20, 2013
559e456
ARM AnalyzeBranch should ignore DEBUG_VALUES while analyzing terminat…
lhames Dec 20, 2013
5f2ddd6
BlockFrequencyInfo: Readded getEntryFreq.
yuchenericwu Dec 20, 2013
efe6aa1
Fix typo in assert message: s/load/store
rudkx Dec 21, 2013
cee93e9
TableGen: Generate valid identifiers for anonymous records
atoker Dec 21, 2013
6854589
Relax tab check into a whitespace check to fix the test in r197869
atoker Dec 21, 2013
4b5724b
FileCheckize r197869
atoker Dec 22, 2013
61a8a35
Ensure bitcode encoding of calling conventions stays stable. Patch by…
Dec 22, 2013
e6a866c
Add some comments.
rdivacky Dec 22, 2013
cd70023
AVX512: SETCC returns i1 for AVX-512 and i8 for all others
Dec 22, 2013
d1469e0
Dwarf: Fix a copy-paste bug.
d0k Dec 22, 2013
1a7ebaa
Use r2 when encoding tls on ppc32. Fixes PR18305.
rdivacky Dec 22, 2013
4ef09de
The count() function for STL datatypes returns unsigned, even
yrnkrn Dec 22, 2013
7c29d74
Define LLVM_HAS_STRONG_ENUMS
atoker Dec 22, 2013
0fe0405
[AArch64]The compare to zero intrinsics should be implemented by 'icm…
Dec 23, 2013
1fe014e
[asan] produce fewer stores when poisoning stack shadow
kcc Dec 23, 2013
26f1d1c
[asan] don't unpoison redzones on function exit in use-after-return m…
kcc Dec 23, 2013
b09beed
Fix Scalarizer handling of vector GEPs with multiple index operands
Dec 23, 2013
166acc9
Fix Scalarizer insertion point when replacing PHIs with insertelements
Dec 23, 2013
8f57233
ARM: bkpt has an implicit immediate constant 0
compnerd Dec 23, 2013
7ed2b70
Debug info: On ARM ensure that the data sections come before the
adrian-prantl Dec 23, 2013
c7b0b7d
Add support to indvars for optimizing sadd.with.overflow.
atrick Dec 23, 2013
b8a316b
Debug info: Add enumerators to the __apple_names accelerator table.
adrian-prantl Dec 23, 2013
f5bfe97
[AArch64 NEON] Fixed fused multiply negate add/sub patterns
Dec 24, 2013
25f4d51
[AArch64] Check fmul node single use in fused multiply patterns
Dec 24, 2013
e97b132
LangRef documentation for the stackmap and patchpoint intrinsics.
atrick Dec 24, 2013
0e8c1f5
[AArch64 NEON] Fix a pattern match failure with NEON_VDUP.
Dec 24, 2013
4905226
[AArch64 NEON] Fix a bug when lowering BUILD_VECTOR.
Dec 24, 2013
dfe4fd9
[AArch64]Add patterns to match normal shift nodes: shl, sra and srl.
Dec 24, 2013
097935c
AVX-512: fixed some patterns for MVT::i1
Dec 24, 2013
f7e2432
[SystemZ] Add MC support for interlocked-access 1 instructions
Dec 24, 2013
4c925c6
[SystemZ] Use interlocked-access 1 instructions for CodeGen
Dec 24, 2013
7f7c068
Fix typo.
Dec 24, 2013
42c9ecb
llvm-symbolizer: add --obj flag to specify a single object file that …
Dec 24, 2013
8d54670
Remove link to unexisting llvm-prof docs
Dec 24, 2013
76b80d1
Fix the MSVC 2010 build
atoker Dec 25, 2013
eeabc57
Add missing pattern matches to support ACLE intrinsics of AArch64 NEON.
Dec 25, 2013
77a3598
llvm-config: Fix typo in help message introduced with r197664.
chapuni Dec 25, 2013
64cd49e
gold-plugin.cpp: Use form of <plugin-api.h>, since it is external hea…
chapuni Dec 25, 2013
0f6ebf1
[AArch64]Fix a problem that the register order of fmls/fmla by elemen…
Dec 25, 2013
fab5704
AVX-512: Result type of scalar SETCC is MVT::i1 for AVX-512.
Dec 25, 2013
ae3597c
Support for microMIPS FPU instructions 2.
Dec 25, 2013
7dc1936
Support for microMIPS load effective address.
Dec 25, 2013
97d9733
unittests/Support/ProcessTest.cpp: Don't use "windows.h". Use <window…
chapuni Dec 25, 2013
09a6371
AVX-512: decoder for AVX-512, made by Alexey Bader.
Dec 25, 2013
c58d987
[ASan] Make sure none of the __asan_gen_ global strings end up in the…
ramosian-glider Dec 25, 2013
b09f505
[ASan] Fix the test for __asan_gen_ globals and actually fix http://l…
ramosian-glider Dec 25, 2013
f84792a
[Mips] Does not take in account 'use-soft-float' attribute's value when
atanasyan Dec 25, 2013
ca523f4
[ASan] Fix the tests broken by r198018 to check for private linkage o…
ramosian-glider Dec 25, 2013
dec96ea
[Sparc] Add MCInstPrinter implementation for SPARC.
vegovin Dec 25, 2013
f3aeebf
[Sparc] Add target specific MCExpr class to handle sparc specific mod…
vegovin Dec 26, 2013
76a1dca
[Sparc] Lower and MachineInstr to MC and print assembly using MCInstP…
vegovin Dec 26, 2013
6841860
ARM IAS: support .even directive
compnerd Dec 26, 2013
c01b596
Recognize armv7a and friends as aliases for armv7-a etc. for the purpose
jsonn Dec 26, 2013
4a5c4e1
Fix a typo.
rdivacky Dec 26, 2013
52b1623
TLI: Make exp10* avaiable on Linux/Mac/iOS and unavailable elsewhere
rnk Dec 26, 2013
5ff21b4
Introduce a simple line-by-line iterator type into the Support library.
chandlerc Dec 27, 2013
1739b6c
Use two variables here rather than reusing (and abusing) one. This is
chandlerc Dec 27, 2013
bd75475
DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D)
dwblaikie Dec 27, 2013
cc5239b
Add the "no-split-stack" attribute
alexcrichton Aug 6, 2013
5c1ec69
Splitstack implementation for android
ILyoan Mar 13, 2013
e1cfed4
Splitstack support for arm/linux.
luqmana Aug 1, 2013
6abe4fe
Add MIPS segmented stacks
brson May 24, 2013
69b77f2
Support segmented stack on Win64
klutzy Aug 11, 2013
8841dce
Work around an assertion that rust is tripping
alexcrichton Aug 6, 2013
b82b242
Fix "unknown type name 'off_t'" build error on mingw.
Jan 15, 2014
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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BasedOnStyle: LLVM
190 changes: 115 additions & 75 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ set(CMAKE_MODULE_PATH
)

set(LLVM_VERSION_MAJOR 3)
set(LLVM_VERSION_MINOR 3)
set(LLVM_VERSION_MINOR 5)

set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}svn")
if (NOT PACKAGE_VERSION)
set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}svn")
endif()

option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)

option(LLVM_USE_FOLDERS "Enable solution folders in Visual Studio. Disable for Express versions." ON)
if ( LLVM_USE_FOLDERS )
Expand All @@ -33,6 +37,25 @@ set(PACKAGE_NAME LLVM)
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "http://llvm.org/bugs/")

# Configure CPack.
set(CPACK_PACKAGE_INSTALL_DIRECTORY "LLVM")
set(CPACK_PACKAGE_VENDOR "LLVM")
set(CPACK_PACKAGE_VERSION_MAJOR ${LLVM_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${LLVM_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION ${PACKAGE_VERSION})
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.TXT")
if(WIN32 AND NOT UNIX)
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "LLVM")
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_logo.bmp")
set(CPACK_NSIS_MODIFY_PATH "ON")
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON")
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
"ExecWait '$INSTDIR/tools/msbuild/install.bat'")
set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS
"ExecWait '$INSTDIR/tools/msbuild/uninstall.bat'")
endif()
include(CPack)

# Sanity check our source directory to make sure that we are not trying to
# generate an in-tree build (unless on MSVC_IDE, where it is ok), and to make
# sure that we don't have any stray generated files lying around in the tree
Expand Down Expand Up @@ -71,33 +94,33 @@ set(LLVM_MAIN_INCLUDE_DIR ${LLVM_MAIN_SRC_DIR}/include)
set(LLVM_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(LLVM_TOOLS_BINARY_DIR ${LLVM_BINARY_DIR}/bin)
set(LLVM_EXAMPLES_BINARY_DIR ${LLVM_BINARY_DIR}/examples)
set(LLVM_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include)
set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )

set(LLVM_RUNTIME_OUTPUT_INTDIR ${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR})
set(LLVM_LIBRARY_OUTPUT_INTDIR ${LLVM_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR})

set(LLVM_ALL_TARGETS
AArch64
ARM
CppBackend
Hexagon
Mips
MBlaze
MSP430
NVPTX
PowerPC
R600
Sparc
SystemZ
X86
XCore
)

# List of targets with JIT support:
set(LLVM_TARGETS_WITH_JIT X86 PowerPC ARM Mips)
set(LLVM_TARGETS_WITH_JIT X86 PowerPC AArch64 ARM Mips SystemZ)

if( MSVC )
set(LLVM_TARGETS_TO_BUILD X86
set(LLVM_TARGETS_TO_BUILD "all"
CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
else( MSVC )
set(LLVM_TARGETS_TO_BUILD "all"
CACHE STRING "Semicolon-separated list of targets to build, or \"all\".")
endif( MSVC )

set(LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ""
CACHE STRING "Semicolon-separated list of experimental targets to build.")
Expand All @@ -120,36 +143,32 @@ if(LLVM_ENABLE_BACKTRACES)
set(ENABLE_BACKTRACES 1)
endif()

option(LLVM_ENABLE_CRASH_OVERRIDES "Enable crash overrides." ON)
if(LLVM_ENABLE_CRASH_OVERRIDES)
set(ENABLE_CRASH_OVERRIDES 1)
endif()

option(LLVM_ENABLE_FFI "Use libffi to call external functions from the interpreter" OFF)
set(FFI_LIBRARY_DIR "" CACHE PATH "Additional directory, where CMake should search for libffi.so")
set(FFI_INCLUDE_DIR "" CACHE PATH "Additional directory, where CMake should search for ffi.h or ffi/ffi.h")

set(LLVM_TARGET_ARCH "host"
CACHE STRING "Set target to use for LLVM JIT or use \"host\" for automatic detection.")

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

option(LLVM_ENABLE_THREADS "Use threads if available." ON)

option(LLVM_ENABLE_ZLIB "Use zlib for compression/decompression if available." ON)

if( LLVM_TARGETS_TO_BUILD STREQUAL "all" )
set( LLVM_TARGETS_TO_BUILD ${LLVM_ALL_TARGETS} )
endif()

set(LLVM_TARGETS_TO_BUILD
${LLVM_TARGETS_TO_BUILD}
${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD})

set(LLVM_ENUM_TARGETS "")
foreach(c ${LLVM_TARGETS_TO_BUILD})
list(FIND LLVM_ALL_TARGETS ${c} idx)
list(FIND LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ${c} idy)
if( idx LESS 0 AND idy LESS 0 )
message(FATAL_ERROR "The target `${c}' does not exist.
It should be one of\n${LLVM_ALL_TARGETS}")
else()
set(LLVM_ENUM_TARGETS "${LLVM_ENUM_TARGETS}LLVM_TARGET(${c})\n")
endif()
endforeach(c)

set(llvm_builded_incs_dir ${LLVM_BINARY_DIR}/include/llvm)
list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD)

include(AddLLVMDefinitions)

Expand All @@ -162,10 +181,11 @@ else( MSVC )
option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)
endif()

option(LLVM_ENABLE_CXX11 "Compile with C++11 enabled." OFF)
option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON)
option(LLVM_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF)

if( uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" )
option(LLVM_ENABLE_ASSERTIONS "Enable assertions" OFF)
else()
option(LLVM_ENABLE_ASSERTIONS "Enable assertions" ON)
Expand Down Expand Up @@ -193,6 +213,12 @@ if( LLVM_USE_OPROFILE )
endif( NOT CMAKE_SYSTEM_NAME MATCHES "Linux" )
endif( LLVM_USE_OPROFILE )

set(LLVM_USE_SANITIZER "" CACHE STRING
"Define the sanitizer used to build binaries and tests.")

option(LLVM_USE_SPLIT_DWARF
"Use -gsplit-dwarf when compiling llvm." OFF)

# Define an option controlling whether we should build for 32-bit on 64-bit
# platforms, where supported.
if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
Expand All @@ -214,18 +240,15 @@ if( WIN32 AND NOT CYGWIN )
endif()

# Define options to control the inclusion and default build behavior for
# components which may not strictly be necessary (tools, runtime, examples, and
# tests).
# components which may not strictly be necessary (tools, examples, and tests).
#
# This is primarily to support building smaller or faster project files.
option(LLVM_INCLUDE_TOOLS "Generate build targets for the LLVM tools." ON)
option(LLVM_BUILD_TOOLS
"Build the LLVM tools. If OFF, just generate build targets." ON)

option(LLVM_INCLUDE_RUNTIME "Generate build targets for the LLVM runtimes" ON)
option(LLVM_BUILD_RUNTIME
"Build the LLVM runtime libraries. If OFF, just generate build targets." ON)

"Build the LLVM runtime libraries." ON)
option(LLVM_BUILD_EXAMPLES
"Build the LLVM example programs. If OFF, just generate build targets." OFF)
option(LLVM_INCLUDE_EXAMPLES "Generate build targets for the LLVM examples" ON)
Expand All @@ -234,6 +257,10 @@ option(LLVM_BUILD_TESTS
"Build LLVM unit tests. If OFF, just generate build targets." OFF)
option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)

option (LLVM_BUILD_DOCS "Build the llvm documentation." OFF)
option (LLVM_INCLUDE_DOCS "Generate build targets for llvm documentation." ON)
option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm documentation." OFF)

# All options referred to from HandleLLVMOptions have to be specified
# BEFORE this include, otherwise options will not be correctly set on
# first cmake run
Expand All @@ -247,7 +274,8 @@ set(TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}")

include(HandleLLVMOptions)

# Verify that we can find a Python interpreter,
# Verify that we can find a Python 2 interpreter. Python 3 is unsupported.
set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5)
include(FindPythonInterp)
if( NOT PYTHONINTERP_FOUND )
message(FATAL_ERROR
Expand Down Expand Up @@ -292,7 +320,7 @@ execute_process(
--enable-optional-components "${LLVMOPTIONALCOMPONENTS}"
--write-library-table ${LLVMCONFIGLIBRARYDEPENDENCIESINC}
--write-cmake-fragment ${LLVMBUILDCMAKEFRAG}
ERROR_VARIABLE LLVMBUILDOUTPUT
OUTPUT_VARIABLE LLVMBUILDOUTPUT
ERROR_VARIABLE LLVMBUILDERRORS
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
Expand All @@ -318,11 +346,22 @@ include(${LLVMBUILDCMAKEFRAG})

# Configure all of the various header file fragments LLVM uses which depend on
# configuration variables.
set(LLVM_ENUM_TARGETS "")
set(LLVM_ENUM_ASM_PRINTERS "")
set(LLVM_ENUM_ASM_PARSERS "")
set(LLVM_ENUM_DISASSEMBLERS "")
foreach(t ${LLVM_TARGETS_TO_BUILD})
set( td ${LLVM_MAIN_SRC_DIR}/lib/Target/${t} )

list(FIND LLVM_ALL_TARGETS ${t} idx)
list(FIND LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ${t} idy)
if( idx LESS 0 AND idy LESS 0 )
message(FATAL_ERROR "The target `${t}' does not exist.
It should be one of\n${LLVM_ALL_TARGETS}")
else()
set(LLVM_ENUM_TARGETS "${LLVM_ENUM_TARGETS}LLVM_TARGET(${t})\n")
endif()

file(GLOB asmp_file "${td}/*AsmPrinter.cpp")
if( asmp_file )
set(LLVM_ENUM_ASM_PRINTERS
Expand All @@ -342,39 +381,43 @@ endforeach(t)
# include various classes of targets.
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmPrinters.def.in
${LLVM_BINARY_DIR}/include/llvm/Config/AsmPrinters.def
${LLVM_INCLUDE_DIR}/llvm/Config/AsmPrinters.def
)
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/AsmParsers.def.in
${LLVM_BINARY_DIR}/include/llvm/Config/AsmParsers.def
${LLVM_INCLUDE_DIR}/llvm/Config/AsmParsers.def
)
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Disassemblers.def.in
${LLVM_BINARY_DIR}/include/llvm/Config/Disassemblers.def
${LLVM_INCLUDE_DIR}/llvm/Config/Disassemblers.def
)
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/Targets.def.in
${LLVM_BINARY_DIR}/include/llvm/Config/Targets.def
${LLVM_INCLUDE_DIR}/llvm/Config/Targets.def
)

# Configure the three LLVM configuration header files.
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/config.h.cmake
${LLVM_BINARY_DIR}/include/llvm/Config/config.h)
${LLVM_INCLUDE_DIR}/llvm/Config/config.h)
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/llvm-config.h.cmake
${LLVM_BINARY_DIR}/include/llvm/Config/llvm-config.h)
${LLVM_INCLUDE_DIR}/llvm/Config/llvm-config.h)
configure_file(
${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/DataTypes.h.cmake
${LLVM_BINARY_DIR}/include/llvm/Support/DataTypes.h)
${LLVM_INCLUDE_DIR}/llvm/Support/DataTypes.h)

set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR} )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib )

if( NOT DEFINED CMAKE_INSTALL_RPATH )
set( CMAKE_INSTALL_RPATH "\$ORIGIN/../lib")
endif( NOT DEFINED CMAKE_INSTALL_RPATH )

set(CMAKE_INCLUDE_CURRENT_DIR ON)

include_directories( ${LLVM_BINARY_DIR}/include ${LLVM_MAIN_INCLUDE_DIR})
include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR})

if( ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD )
# On FreeBSD, /usr/local/* is not used by default. In order to build LLVM
Expand All @@ -387,6 +430,10 @@ if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include llvm/Support/Solaris.h")
endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )

# Make sure we don't get -rdynamic in every binary. For those that need it,
# use set_target_properties(target PROPERTIES ENABLE_EXPORTS 1)
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")

include(AddLLVM)
include(TableGen)

Expand All @@ -412,19 +459,13 @@ add_subdirectory(utils/count)
add_subdirectory(utils/not)
add_subdirectory(utils/llvm-lit)
add_subdirectory(utils/yaml-bench)
add_subdirectory(utils/obj2yaml)
add_subdirectory(utils/yaml2obj)

add_subdirectory(projects)

if( LLVM_INCLUDE_TOOLS )
add_subdirectory(tools)
endif()

if( LLVM_INCLUDE_RUNTIME )
add_subdirectory(runtime)
endif()

if( LLVM_INCLUDE_EXAMPLES )
add_subdirectory(examples)
endif()
Expand Down Expand Up @@ -454,38 +495,36 @@ if( LLVM_INCLUDE_TESTS )
)
endif()

add_subdirectory(cmake/modules)

install(DIRECTORY include/
DESTINATION include
FILES_MATCHING
PATTERN "*.def"
PATTERN "*.h"
PATTERN "*.td"
PATTERN "*.inc"
PATTERN "LICENSE.TXT"
PATTERN ".svn" EXCLUDE
)
if (LLVM_INCLUDE_DOCS)
add_subdirectory(docs)
endif()

install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
DESTINATION include
FILES_MATCHING
PATTERN "*.def"
PATTERN "*.h"
PATTERN "*.gen"
PATTERN "*.inc"
# Exclude include/llvm/CMakeFiles/intrinsics_gen.dir, matched by "*.def"
PATTERN "CMakeFiles" EXCLUDE
PATTERN ".svn" EXCLUDE
)
add_subdirectory(cmake/modules)

# TODO: make and install documentation.
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY include/
DESTINATION include
FILES_MATCHING
PATTERN "*.def"
PATTERN "*.h"
PATTERN "*.td"
PATTERN "*.inc"
PATTERN "LICENSE.TXT"
PATTERN ".svn" EXCLUDE
)

set(CPACK_PACKAGE_VENDOR "LLVM")
set(CPACK_PACKAGE_VERSION_MAJOR ${LLVM_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${LLVM_VERSION_MINOR})
add_version_info_from_vcs(CPACK_PACKAGE_VERSION_PATCH)
include(CPack)
install(DIRECTORY ${LLVM_INCLUDE_DIR}/
DESTINATION include
FILES_MATCHING
PATTERN "*.def"
PATTERN "*.h"
PATTERN "*.gen"
PATTERN "*.inc"
# Exclude include/llvm/CMakeFiles/intrinsics_gen.dir, matched by "*.def"
PATTERN "CMakeFiles" EXCLUDE
PATTERN ".svn" EXCLUDE
)
endif()

# Workaround for MSVS10 to avoid the Dialog Hell
# FIXME: This could be removed with future version of CMake.
Expand All @@ -495,3 +534,4 @@ if(MSVC_VERSION EQUAL 1600)
file(APPEND "${LLVM_SLN_FILENAME}" "\n# This should be regenerated!\n")
endif()
endif()

Loading