Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
fe376dc
[XRay][docs] Update documentation on new default for xray_naive_log=
deanberris Nov 30, 2017
d60f6e4
[X86] Make sure we don't remove sign extends of masks with AVX2 maske…
topperc Nov 30, 2017
f6395de
[X86] Optimize avx2 vgatherqps for v2f32 with v2i64 index type.
topperc Nov 30, 2017
39be023
[SROA] enable splitting for non-whole-alloca loads and stores
inouehrs Nov 30, 2017
431a76f
[SystemZ] Bugfix in adjustSubwordCmp.
JonPsson Nov 30, 2017
50f1f94
Revert rL319407: [SROA] enable splitting for non-whole-alloca loads a…
inouehrs Nov 30, 2017
bdc984c
[dsymutil] Upstream getBundleInfo implementation
JDevlieghere Nov 30, 2017
6bb5dbc
[dsymutil] Exclude namespace from ifdef in CFBundle
JDevlieghere Nov 30, 2017
b785e26
[X86][AVX512] Tag RCP/RSQRT/GETEXP instructions scheduler classes
RKSimon Nov 30, 2017
86e196b
Support generic lowering of vector bswap
serge-sans-paille-qb Nov 30, 2017
a90c32e
[DAGCombine] Refactor ReduceLoadWidth
sparker-arm Nov 30, 2017
5e536b7
[MC] Function stack size section.
SeanEveson Nov 30, 2017
996d6dd
[X86][AVX512] Tag binop/rounding/sae instructions scheduler classes
RKSimon Nov 30, 2017
7384652
[CodeGen] Print "%vreg0" as "%0" in both MIR and debug output
francisvm Nov 30, 2017
11acbde
[ARM GlobalISel] Bail out for byval
rovka Nov 30, 2017
360f53a
Revert r319423: [MC] Function stack size section.
SeanEveson Nov 30, 2017
ab494c9
[MC] Function stack size section.
SeanEveson Nov 30, 2017
dca471f
[X86][AVX512] Regenerate avx512 schedule tests
RKSimon Nov 30, 2017
9e04e3d
[X86][AVX512] Tag fcmp/ptest/ternlog instructions scheduler classes
RKSimon Nov 30, 2017
b3325ff
[PowerPC] Recommit r314244 with refactoring and off by default
nemanjai Nov 30, 2017
06cb6a9
[InstCombine] Additional test for PR35354, NFC.
alexey-bataev Nov 30, 2017
f704755
[LangRef] clarify semantics of the frem instruction
rotateright Nov 30, 2017
c4f1997
[FuzzMutate] Don't crash when we can't remove instruction from empty …
igor-laevsky Nov 30, 2017
703237d
[FuzzMutate] Don't create load as a new source if it doesn't match wi…
igor-laevsky Nov 30, 2017
59e987c
[FuzzMutate] Pick correct index for the insertvalue instruction
igor-laevsky Nov 30, 2017
21b2a00
[FuzzMutate] Don't use index operands as sinks
igor-laevsky Nov 30, 2017
afc2161
[FuzzMutate] Correctly handle vector types in the insertvalue operation
igor-laevsky Nov 30, 2017
4a8c2b6
[FuzzMutate] Bailout from injecting into empty basic blocks.
igor-laevsky Nov 30, 2017
e6b8991
[CodeGen] Always use `printReg` to print registers in both MIR and debug
francisvm Nov 30, 2017
a2697fc
[MIR] Fix DebugInfo tests after r319445
francisvm Nov 30, 2017
5155d51
[WebAssembly] Revert r319186 "Support bitcasted function addresses wi…
Nov 30, 2017
69d3274
[llvm-readobj] Fix mismatched line endings
Nov 30, 2017
47856b2
Split TypeTableBuilder into two classes.
Nov 30, 2017
d993b01
[globalisel][tablegen] Add support for specific immediates in the mat…
dsandersllvm Nov 30, 2017
14540ca
[cmake] Include project name in Sphinx doctree dir to fix race condit…
mgorny Nov 30, 2017
64d8ece
[PGO] Skip counter promotion for infinite loops
david-xl Nov 30, 2017
ff7abc1
[GlobalISel][IRTranslator] Fix crash during translation of zero sized…
aemerson Nov 30, 2017
0ba92ff
[aarch64][globalisel] Legalize G_ATOMIC_CMPXCHG_WITH_SUCCESS and G_AT…
dsandersllvm Nov 30, 2017
fad0b06
[llvm-objcopy] Add support for --only-keep/-j and --keep
jakehehrlich Nov 30, 2017
d6aaba3
[X86] Promote i8 CTPOP to i32 instead of i16 when we have the POPCNT …
topperc Nov 30, 2017
ff530ef
[AMDGPU] Convert test/tools/llvm-objdump/AMDGPU/source-lines.ll to am…
yxsamliu Nov 30, 2017
97c9002
[Hexagon] Solo instructions cannot be used with new value jumps
Nov 30, 2017
ca2b4f3
[Hexagon] Fix wrong pass in testcase
Nov 30, 2017
053346d
[globalisel][tablegen] Add support for relative AtomicOrderings
dsandersllvm Nov 30, 2017
e40ac65
[Hexagon] Fix wrong check in test/CodeGen/Hexagon/newvaluejump-solo.mir
Nov 30, 2017
c765436
[Hexagon] Implement HexagonSubtarget::useAA()
Nov 30, 2017
dbd3af2
[llvm] Add stripped installation targets
smeenai Nov 30, 2017
156f913
[InlineCost] Prefer getFunction() to two calls to getParent().
dcci Nov 30, 2017
7a991ca
[memcpyopt] Teach memcpyopt to optimize across basic blocks
Nov 30, 2017
c5a00e0
[memcpyopt] Commit file missed in r319482.
Nov 30, 2017
2b1b9e5
Add visibility flag to Wasm symbol flags
sbc100 Nov 30, 2017
a4d647d
XOR the frame pointer with the stack cookie when protecting the stack
rnk Nov 30, 2017
421983a
AMDGPU: Use gfx9 carry-less add/sub instructions
arsenm Nov 30, 2017
50d97d4
Simplify the DenseSet used for hashing CodeView records.
Nov 30, 2017
31b9aa7
ThinLTOBitcodeWriter: Try harder to discard unused references to the …
pcc Nov 30, 2017
1182bea
AMDGPU: Use carry-less adds in FI elimination
arsenm Nov 30, 2017
2a6c2bd
docs/GettingStarted.rst: Update the list of release versions and tags
zmodem Nov 30, 2017
9a4e15c
Mark all library options as hidden.
Dec 1, 2017
5c41fe9
Add flag to ArchiveWriter to test GNU64 format more efficiently
jakehehrlich Dec 1, 2017
ad80103
[WebAssembly] Update MC tests now that hidden attr is supported
sbc100 Dec 1, 2017
bd4358c
[cmake] Expose opt-viewer availability
anemet Dec 1, 2017
74dd5f6
[X86] Add a DAG combine to simplify masks for AVX2 gather instructions.
topperc Dec 1, 2017
5d76bcd
[X86] Add another v2i32 gather test case with v2i64 index that wasn't…
topperc Dec 1, 2017
6f57cb5
[X86][SelectionDAG] Make sure we explicitly sign extend the index whe…
topperc Dec 1, 2017
bf6769b
[X86] Custom legalize v2i32 gathers via widening rather than promoting.
topperc Dec 1, 2017
e983865
Recommit rL319407: [SROA] enable splitting for non-whole-alloca loads…
inouehrs Dec 1, 2017
af9296a
GlobalISel: Enable the legalization of G_MERGE_VALUES and G_UNMERGE_V…
Dec 1, 2017
fe8f4e7
[lit] Implement non-pipelined ‘mkdir’, ‘diff’ and ‘rm’ commands inter…
MaggieYingYi Dec 1, 2017
15994ef
[lit] Don't enable LSan on Darwin for Apple clang 9.0.0
JDevlieghere Dec 1, 2017
8caaece
[SLPVectorizer] Failure to beneficially vectorize 'copyable' elements…
dtemirbulatov Dec 1, 2017
2f1bcfe
[cmake] Enable zlib support on windows
labath Dec 1, 2017
b0efc4f
[AMDGPU] SiFixSGPRCopies should not modify non-divergent PHI
alex-t Dec 1, 2017
a2040d5
Follow-up to r319434 to turn the pass on by default
nemanjai Dec 1, 2017
8c4503a
Bail out of a SimplifyCFG switch table opt at undef values.
mikaelholmen Dec 1, 2017
03c5509
[InstSimplify] More fcmp cases when comparing against negative consta…
fhahn Dec 1, 2017
4ece910
Revert r319537: Bail out of a SimplifyCFG switch table opt at undef v…
mikaelholmen Dec 1, 2017
3c97b65
[X86][AVX512] Tag vshift/vpermv/pshufd/pshufb instructions scheduler …
RKSimon Dec 1, 2017
05349f0
[ARM] and + load combine tests
sparker-arm Dec 1, 2017
f5040aa
[X86] Improvement in CodeGen instruction selection for LEAs.
jbhateja Dec 1, 2017
41631b9
Add more triples to llc_test_checks.py
sparker-arm Dec 1, 2017
5e0d780
[ARM][DAG] Reenable post-legalize store merge
niravhdave Dec 1, 2017
4d8809f
[ARM] and + load combine tests
sparker-arm Dec 1, 2017
faed772
Revert r319531 "[SLPVectorizer] Failure to beneficially vectorize 'co…
zmodem Dec 1, 2017
0577bf3
[X86][AVX512] Tag VPCOMRESS/VPEXPAND instructions scheduler classes
RKSimon Dec 1, 2017
7feb598
[X86][AVX512] Tag VPSHUFBITQMB instructions scheduler class
RKSimon Dec 1, 2017
54b4cc4
[X86][AVX512] Tag VFPCLASS instructions scheduler class
RKSimon Dec 1, 2017
7cb910a
[opt-remarks] If hotness threshold is set, ignore remarks without hot…
anemet Dec 1, 2017
53305ce
[X86][AVX512] Tag VPERM2I/VPERM2T instructions scheduler class
RKSimon Dec 1, 2017
31eff6b
Fix line endings. NFCI.
RKSimon Dec 1, 2017
7d160f7
IR printing improvement for function passes - introducing -print-modu…
Dec 1, 2017
53cc245
Revert "[opt-remarks] If hotness threshold is set, ignore remarks wit…
anemet Dec 1, 2017
89e6e15
[DebugInfo] Bail out if making no progress dumping line tables.
pogo59 Dec 1, 2017
5608259
IR printing improvement for loop passes - handle -print-module-scope
Dec 1, 2017
79df7df
[IR] Avoid dangling else warning. NFC.
d0k Dec 1, 2017
bfae881
[X86][AVX512] Tag subvector extract/insert instructions scheduler cla…
RKSimon Dec 1, 2017
52eba82
[DAGCombine] Simplify ISD::AND handling in ReduceLoadWidth
Dec 1, 2017
4b50cdf
[cmake] Resubmit Remove redundant call to cmake when building host to…
donhinton Dec 1, 2017
c4f204d
[opt-remarks] If hotness threshold is set, ignore remarks without hot…
anemet Dec 1, 2017
8ad3e86
[cmake] Revert (rL319574): Resubmit Remove redundant call to cmake wh…
donhinton Dec 1, 2017
0fed3ad
[IndVars] Fix a bug introduced in r317012
preames Dec 1, 2017
977b537
[MC] Handle unknown literal register numbers in .cfi_* directives
jakehehrlich Dec 1, 2017
ea21b4d
[DAG][ARM] Revert "Reenable post-legalize store merge"
niravhdave Dec 1, 2017
55c1b41
[MachineOutliner] NFC: Throw out self-intersections on candidates early
Dec 1, 2017
1fe1bd1
[libFuzzer] add a flag -malloc_limit_mb
kcc Dec 1, 2017
79f1f00
Revert "[X86] Improvement in CodeGen instruction selection for LEAs."
morehouse Dec 1, 2017
527f9bd
[WebAssembly] Revert r319488 "Add visibility flag to Wasm symbol flags"
aheejin Dec 2, 2017
deae672
[DAG][AArch64] Disable post-legalization store
niravhdave Dec 2, 2017
4ab4262
[ARC] Add instruction subset for the ARC backend.
tkrasnukha Dec 2, 2017
abd7f8c
CMAKE: help CheckAtomic find check_library_exists
martell Dec 2, 2017
9f0c43a
[X86] Support %dr8-%dr15 in the assembler.
topperc Dec 2, 2017
6d12eb2
[X86] Teach the assembler to support %db8-%db15 as aliases for %dr8-%…
topperc Dec 2, 2017
212549c
[X86] Fix copy paste mistake in test case for r319612.
topperc Dec 2, 2017
72e0a27
[X86][SSE] Cleanup float/int conversion scheduler itinerary classes
RKSimon Dec 2, 2017
2a502f2
[llvm-readobj] Delete unused method argument. NFC
atanasyan Dec 2, 2017
0eba9bc
[llvm-readobj] Print static MIPS GOT
atanasyan Dec 2, 2017
649eb90
[llvm-readobj] Remove redundant local variables to reduce the code. NFC
atanasyan Dec 2, 2017
f4f3881
[cmake] Re-commit: Remove redundant call to cmake when building host …
donhinton Dec 2, 2017
dcc00b1
CodeGen: Fix pointer info in SplitVecOp_EXTRACT_VECTOR_ELT/SplitVecRe…
yxsamliu Dec 2, 2017
aa18cf6
[ValueTracking] Pass only a single lambda to computeKnownBitsFromShif…
topperc Dec 2, 2017
e87334b
Fix typo in emitted attribute name
arsenm Dec 3, 2017
1f4bd62
Reland "[WebAssembly] Add visibility flag to Wasm symbol flags""
sbc100 Dec 3, 2017
fec09ca
[SelectionDAG] Use the inlined APInt shift methods since we've alread…
topperc Dec 3, 2017
8b47f7b
CodeGen: Fix SelectionDAGISel::LowerArguments for sret addr space
yxsamliu Dec 3, 2017
af7247c
[X86][SSE] Remove unused IIC_SSE_CVT_PI2PS_RR/IIC_SSE_CVT_PI2PS_RM it…
RKSimon Dec 3, 2017
fbeb20a
[X86][AVX512] Regenerate schedule tests.
RKSimon Dec 3, 2017
ad08404
[X86][AVX512] Tag packed F2I/I2F/F2F conversion instructions schedule…
RKSimon Dec 3, 2017
0d0f8ed
[X86][AVX512] Tag PH2PS/PS2PH conversion instructions scheduler classes
RKSimon Dec 3, 2017
7cd55ac
[SelectionDAG] Teach computeKnownBits some improvements to ISD::SRL w…
topperc Dec 4, 2017
18d898c
[X86] Don't turn UINT_TO_FP into SINT_TO_FP during lowering.
topperc Dec 4, 2017
079e93a
[X86] Allow VPMAXUQ/VPMAXSQ/VPMINUQ/VPMINSQ to be used with 128/256 b…
topperc Dec 4, 2017
57337fe
[ARM] Allow using emulated tls on platforms other than ELF
mstorsjo Dec 4, 2017
ed04373
[AArch64] Allow using emulated tls on platforms other than ELF
mstorsjo Dec 4, 2017
5022455
[DAGCombine] Remove isAndLoadExtLoad arguments
sparker-arm Dec 4, 2017
62f11d9
[TwoAddressInstructionPass] Bugfix in handling of sunk instructions.
JonPsson Dec 4, 2017
a53a7f0
[Asm, ARM] Add fallback diag for multiple invalid operands
ostannard Dec 4, 2017
1e6aa11
AMDGPU: fix missing s_waitcnt
Dec 4, 2017
c7ae88e
Revert "[ValueTracking] Pass only a single lambda to computeKnownBits…
sam-mccall Dec 4, 2017
9d99810
Revert r319649 - [Asm, ARM] Add fallback diag for multiple invalid op…
ostannard Dec 4, 2017
e0e7476
[NFC][lit] Use proper semantic versioning names for variables
JDevlieghere Dec 4, 2017
ba19c68
[NVPTX] Assign valid global names
hahnjo Dec 4, 2017
7c3eddc
[Loop Predication] Teach LP about reverse loops
annamthomas Dec 4, 2017
4effab6
[ARM] CodeGen test
sparker-arm Dec 4, 2017
cf56d5d
[AMDGPU] SDWA: add support for PRESERVE into SDWA peephole.
samkolton Dec 4, 2017
3f2a29c
Revert "[cmake] Enable zlib support on windows"
labath Dec 4, 2017
9335678
Fix function pointer tail calls in armv8-M.base
pbarrio Dec 4, 2017
ca0df55
[CodeGen] Unify MBB reference format in both MIR and debug output
francisvm Dec 4, 2017
998cdc4
MachineVerifier: undef phi arg doesn't need to be live-out from prede…
MatzeB Dec 4, 2017
3745f06
[BypassSlowDivision] Improve our handling of divisions by constants
sanjoy Dec 4, 2017
abd6d64
[SCEV] A different fix for PR33494
sanjoy Dec 4, 2017
c965de5
[SCEV] Use a "Discovered" set instead of a "Visited" set; NFC
sanjoy Dec 4, 2017
15bf043
[ConstantFold] Support vector index when factoring out GEP index into…
Dec 4, 2017
ca3a904
Add missing triple args to tests
MatzeB Dec 4, 2017
07f4dc3
Move splitIndirectCriticalEdges() to BasicBlockUtils.h.
hjyamauchi Dec 4, 2017
e357116
[globalisel][tablegen] Split atomic load/store into separate opcode a…
dsandersllvm Dec 4, 2017
1e96e81
DAG: Match truncated rotation (PR35487)
zmodem Dec 4, 2017
3ef874f
DAG: Follow-up to r319692 check the truncates inputs have the same type
zmodem Dec 4, 2017
67fbf95
[globalisel][tablegen] Tests for r319691
dsandersllvm Dec 4, 2017
a61e335
Re-submit r289925 (Update .debug_line section version to match DWARF …
pogo59 Dec 4, 2017
17ce6cb
Allow similar TargetOpcodes to use inheritance to factor out commonal…
dsandersllvm Dec 4, 2017
aaadfb2
AMDGPU: Use return value of MorphNodeTo
arsenm Dec 4, 2017
79f2fee
AMDGPU: Fix creating invalid copy when adjusting dmask
arsenm Dec 4, 2017
206bdba
Revert r319490 "XOR the frame pointer with the stack cookie when prot…
zmodem Dec 4, 2017
eb42c99
[msan] Add a fixme note for a minor deficiency.
eugenis Dec 4, 2017
85c0273
AMDGPU: Disable fp64 support on pre GCN asics
jvesely Dec 4, 2017
f68b9be
AMDGPU/EG: Add a new FeatureFMA and use it to selectively enable FMA …
jvesely Dec 4, 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
  •  
  •  
  •  
7 changes: 2 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -975,11 +975,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
set_target_properties(llvm-headers PROPERTIES FOLDER "Misc")

if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-llvm-headers
DEPENDS llvm-headers
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=llvm-headers
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-llvm-headers
COMPONENT llvm-headers)
endif()
endif()

Expand Down
66 changes: 41 additions & 25 deletions cmake/modules/AddLLVM.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,32 @@ function(llvm_add_library name)
endif()
endfunction()

function(add_llvm_install_targets target)
cmake_parse_arguments(ARG "" "COMPONENT;PREFIX" "DEPENDS" ${ARGN})
if(ARG_COMPONENT)
set(component_option -DCMAKE_INSTALL_COMPONENT="${ARG_COMPONENT}")
endif()
if(ARG_PREFIX)
set(prefix_option -DCMAKE_INSTALL_PREFIX="${ARG_PREFIX}")
endif()

add_custom_target(${target}
DEPENDS ${ARG_DEPENDS}
COMMAND "${CMAKE_COMMAND}"
${component_option}
${prefix_option}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
USES_TERMINAL)
add_custom_target(${target}-stripped
DEPENDS ${ARG_DEPENDS}
COMMAND "${CMAKE_COMMAND}"
${component_option}
${prefix_option}
-DCMAKE_INSTALL_DO_STRIP=1
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
USES_TERMINAL)
endfunction()

macro(add_llvm_library name)
cmake_parse_arguments(ARG
"SHARED;BUILDTREE_ONLY"
Expand Down Expand Up @@ -619,11 +645,9 @@ macro(add_llvm_library name)
COMPONENT ${name})

if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-${name}
DEPENDS ${name}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-${name}
DEPENDS ${name}
COMPONENT ${name})
endif()
endif()
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
Expand Down Expand Up @@ -849,11 +873,9 @@ macro(add_llvm_tool name)
COMPONENT ${name})

if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-${name}
DEPENDS ${name}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-${name}
DEPENDS ${name}
COMPONENT ${name})
endif()
endif()
endif()
Expand Down Expand Up @@ -889,11 +911,9 @@ macro(add_llvm_utility name)
RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR}
COMPONENT ${name})
if (NOT CMAKE_CONFIGURATION_TYPES)
add_custom_target(install-${name}
DEPENDS ${name}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-${name}
DEPENDS ${name}
COMPONENT ${name})
endif()
endif()
endmacro(add_llvm_utility name)
Expand Down Expand Up @@ -1400,11 +1420,9 @@ function(llvm_install_library_symlink name dest type)
COMPONENT ${component})

if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE)
add_custom_target(install-${name}
DEPENDS ${name} ${dest} install-${dest}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-${name}
DEPENDS ${name} ${dest} install-${dest}
COMPONENT ${name})
endif()
endfunction()

Expand Down Expand Up @@ -1435,11 +1453,9 @@ function(llvm_install_symlink name dest)
COMPONENT ${component})

if (NOT CMAKE_CONFIGURATION_TYPES AND NOT ARG_ALWAYS_GENERATE)
add_custom_target(install-${name}
DEPENDS ${name} ${dest} install-${dest}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-${name}
DEPENDS ${name} ${dest} install-${dest}
COMPONENT ${name})
endif()
endfunction()

Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/AddSphinxTarget.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ endif()
# ``project`` should be the project name
function (add_sphinx_target builder project)
set(SPHINX_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/${builder}")
set(SPHINX_DOC_TREE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees-${builder}")
set(SPHINX_DOC_TREE_DIR "${CMAKE_CURRENT_BINARY_DIR}/_doctrees-${project}-${builder}")
set(SPHINX_TARGET_NAME docs-${project}-${builder})

if (SPHINX_WARNINGS_AS_ERRORS)
Expand Down
6 changes: 2 additions & 4 deletions cmake/modules/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
if (NOT CMAKE_CONFIGURATION_TYPES)
# Add a dummy target so this can be used with LLVM_DISTRIBUTION_COMPONENTS
add_custom_target(cmake-exports)
add_custom_target(install-cmake-exports
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=cmake-exports
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
add_llvm_install_targets(install-cmake-exports
COMPONENT cmake-exports)
endif()
endif()
1 change: 1 addition & 0 deletions cmake/modules/CheckAtomic.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# atomic builtins are required for threading support.

INCLUDE(CheckCXXSourceCompiles)
INCLUDE(CheckLibraryExists)

# Sometimes linking against libatomic is required for atomic ops, if
# the platform doesn't support lock-free atomics.
Expand Down
43 changes: 15 additions & 28 deletions cmake/modules/CrossCompile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,17 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
CACHE STRING "Toolchain file for ${target_name}")
endif()

if (buildtype)
set(build_type_flags "-DCMAKE_BUILD_TYPE=${buildtype}")
endif()
if (LLVM_USE_LINKER AND NOT CMAKE_CROSSCOMPILING)
set(linker_flag "-DLLVM_USE_LINKER=${LLVM_USE_LINKER}")
endif()
if (LLVM_EXTERNAL_CLANG_SOURCE_DIR)
# Propagate LLVM_EXTERNAL_CLANG_SOURCE_DIR so that clang-tblgen can be built
set(external_clang_dir "-DLLVM_EXTERNAL_CLANG_SOURCE_DIR=${LLVM_EXTERNAL_CLANG_SOURCE_DIR}")
endif()

add_custom_command(OUTPUT ${LLVM_${target_name}_BUILD}
COMMAND ${CMAKE_COMMAND} -E make_directory ${LLVM_${target_name}_BUILD}
COMMENT "Creating ${LLVM_${target_name}_BUILD}...")
Expand All @@ -23,41 +34,17 @@ function(llvm_create_cross_target_internal target_name toolchain buildtype)
COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
${CROSS_TOOLCHAIN_FLAGS_${target_name}} ${CMAKE_SOURCE_DIR}
-DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DLLVM_TARGETS_TO_BUILD=Native
${build_type_flags} ${linker_flag} ${external_clang_dir}
WORKING_DIRECTORY ${LLVM_${target_name}_BUILD}
DEPENDS CREATE_LLVM_${target_name}
COMMENT "Configuring ${target_name} LLVM...")

add_custom_target(CONFIGURE_LLVM_${target_name}
DEPENDS ${LLVM_${target_name}_BUILD}/CMakeCache.txt)

set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
${LLVM_${target_name}_BUILD})

if(NOT IS_DIRECTORY ${LLVM_${target_name}_BUILD})

message(STATUS "Configuring ${target_name} build...")
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
${LLVM_${target_name}_BUILD} )

message(STATUS "Configuring ${target_name} targets...")
if (buildtype)
set(build_type_flags "-DCMAKE_BUILD_TYPE=${buildtype}")
endif()
if (LLVM_USE_LINKER AND NOT CMAKE_CROSSCOMPILING)
set(linker_flag "-DLLVM_USE_LINKER=${LLVM_USE_LINKER}")
endif()
if (LLVM_EXTERNAL_CLANG_SOURCE_DIR)
# Propagate LLVM_EXTERNAL_CLANG_SOURCE_DIR so that clang-tblgen can be built
set(external_clang_dir "-DLLVM_EXTERNAL_CLANG_SOURCE_DIR=${LLVM_EXTERNAL_CLANG_SOURCE_DIR}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} ${build_type_flags}
-G "${CMAKE_GENERATOR}" -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD}
${CROSS_TOOLCHAIN_FLAGS_${target_name}} ${CMAKE_SOURCE_DIR}
-DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
${external_clang_dir} ${linker_flag}
WORKING_DIRECTORY ${LLVM_${target_name}_BUILD} )
endif(NOT IS_DIRECTORY ${LLVM_${target_name}_BUILD})

endfunction()

function(llvm_create_cross_target target_name sysroot)
Expand Down
1 change: 1 addition & 0 deletions cmake/modules/LLVMConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ set(LLVM_CMAKE_DIR "@LLVM_CONFIG_CMAKE_DIR@")
set(LLVM_BINARY_DIR "@LLVM_CONFIG_BINARY_DIR@")
set(LLVM_TOOLS_BINARY_DIR "@LLVM_CONFIG_TOOLS_BINARY_DIR@")
set(LLVM_TOOLS_INSTALL_DIR "@LLVM_TOOLS_INSTALL_DIR@")
set(LLVM_HAVE_OPT_VIEWER_MODULES @LLVM_HAVE_OPT_VIEWER_MODULES@)

if(NOT TARGET LLVMSupport)
set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
Expand Down
9 changes: 3 additions & 6 deletions cmake/modules/LLVMExternalProjectUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -189,12 +189,9 @@ function(llvm_ExternalProject_Add name source_dir)
install(CODE "execute_process\(COMMAND \${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=\${CMAKE_INSTALL_PREFIX} -P ${BINARY_DIR}/cmake_install.cmake \)"
COMPONENT ${name})

add_custom_target(install-${name}
DEPENDS ${name}
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=${name}
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake"
USES_TERMINAL)
add_llvm_install_targets(install-${name}
DEPENDS ${name}
COMPONENT ${name})
endif()

# Add top-level targets
Expand Down
11 changes: 11 additions & 0 deletions docs/CodeGenerator.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1578,6 +1578,17 @@ which lowers MCInst's into machine code bytes and relocations. This is
important if you want to support direct .o file emission, or would like to
implement an assembler for your target.

Emitting function stack size information
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A section containing metadata on function stack sizes will be emitted when
``TargetLoweringObjectFile::StackSizesSection`` is not null, and
``TargetOptions::EmitStackSizeSection`` is set (-stack-size-section). The
section will contain an array of pairs of function symbol references (8 byte)
and stack sizes (unsigned LEB128). The stack size values only include the space
allocated in the function prologue. Functions with dynamic stack allocations are
not included.

VLIW Packetizer
---------------

Expand Down
8 changes: 8 additions & 0 deletions docs/CommandGuide/llc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,14 @@ End-user Options
Specify which EABI version should conform to. Valid EABI versions are *gnu*,
*4* and *5*. Default value (*default*) depends on the triple.

.. option:: -stack-size-section

Emit the .stack_sizes section which contains stack size metadata. The section
contains an array of pairs of function symbol references (8 byte) and stack
sizes (unsigned LEB128). The stack size values only include the space allocated
in the function prologue. Functions with dynamic stack allocations are not
included.


Tuning/Configuration Options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
31 changes: 5 additions & 26 deletions docs/GettingStarted.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Here's the short story for getting up and running quickly with LLVM:
* ``cd where-you-want-llvm-to-live``
* ``cd llvm/tools/clang/tools``
* ``svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra``

#. Checkout LLD linker **[Optional]**:

* ``cd where-you-want-llvm-to-live``
Expand Down Expand Up @@ -466,34 +466,13 @@ populate it with the LLVM source code, Makefiles, test directories, and local
copies of documentation files.

If you want to get a specific release (as opposed to the most recent revision),
you can checkout it from the '``tags``' directory (instead of '``trunk``'). The
you can check it out from the '``tags``' directory (instead of '``trunk``'). The
following releases are located in the following subdirectories of the '``tags``'
directory:

* Release 3.4: **RELEASE_34/final**
* Release 3.3: **RELEASE_33/final**
* Release 3.2: **RELEASE_32/final**
* Release 3.1: **RELEASE_31/final**
* Release 3.0: **RELEASE_30/final**
* Release 2.9: **RELEASE_29/final**
* Release 2.8: **RELEASE_28**
* Release 2.7: **RELEASE_27**
* Release 2.6: **RELEASE_26**
* Release 2.5: **RELEASE_25**
* Release 2.4: **RELEASE_24**
* Release 2.3: **RELEASE_23**
* Release 2.2: **RELEASE_22**
* Release 2.1: **RELEASE_21**
* Release 2.0: **RELEASE_20**
* Release 1.9: **RELEASE_19**
* Release 1.8: **RELEASE_18**
* Release 1.7: **RELEASE_17**
* Release 1.6: **RELEASE_16**
* Release 1.5: **RELEASE_15**
* Release 1.4: **RELEASE_14**
* Release 1.3: **RELEASE_13**
* Release 1.2: **RELEASE_12**
* Release 1.1: **RELEASE_11**
* Release 3.5.0 and later: **RELEASE_350/final** and so on
* Release 2.9 through 3.4: **RELEASE_29/final** and so on
* Release 1.1 through 2.8: **RELEASE_11** and so on
* Release 1.0: **RELEASE_1**

If you would like to get the LLVM test suite (a separate package as of 1.4), you
Expand Down
10 changes: 6 additions & 4 deletions docs/LangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6827,10 +6827,12 @@ Both arguments must have identical types.
Semantics:
""""""""""

This instruction returns the *remainder* of a division. The remainder
has the same sign as the dividend. This instruction can also take any
number of :ref:`fast-math flags <fastmath>`, which are optimization hints
to enable otherwise unsafe floating point optimizations:
Return the same value as a libm '``fmod``' function but without trapping or
setting ``errno``.

The remainder has the same sign as the dividend. This instruction can also
take any number of :ref:`fast-math flags <fastmath>`, which are optimization
hints to enable otherwise unsafe floating-point optimizations:

Example:
""""""""
Expand Down
4 changes: 4 additions & 0 deletions docs/LibFuzzer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,10 @@ The most important command line options are:
the process is treated as a failure case.
The limit is checked in a separate thread every second.
If running w/o ASAN/MSAN, you may use 'ulimit -v' instead.
``-malloc_limit_mb``
If non-zero, the fuzzer will exit if the target tries to allocate this
number of Mb with one malloc call.
If zero (default) same limit as rss_limit_mb is applied.
``-timeout_exitcode``
Exit code (default 77) used if libFuzzer reports a timeout.
``-error_exitcode``
Expand Down
16 changes: 14 additions & 2 deletions docs/MIRLangRef.rst
Original file line number Diff line number Diff line change
Expand Up @@ -246,13 +246,25 @@ blocks are referenced using the following syntax:

.. code-block:: text

%bb.<id>[.<name>]
%bb.<id>

Examples:
Example:

.. code-block:: llvm

%bb.0

The following syntax is also supported, but the former syntax is preferred for
block references:

.. code-block:: text

%bb.<id>[.<name>]

Example:

.. code-block:: llvm

%bb.1.then

Successors
Expand Down
Loading