Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Ninja build #7

Open
wants to merge 174 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
174 commits
Select commit Hold shift + click to select a range
f4821a9
First commit on the release/11.x branch.
zmodem Jul 15, 2020
0ea431c
Revert "[InstSimplify] Remove select ?, undef, X -> X and select ?, X…
topperc Jul 16, 2020
c3cb455
[InstCombine] update datalayout in test file; NFC
rotateright Jul 15, 2020
4af794b
[InstCombine] prevent infinite looping in or-icmp fold (PR46712)
rotateright Jul 15, 2020
5e978f5
Temporarily Revert "[AssumeBundles] Use operand bundles to encode ali…
echristo Jul 16, 2020
de6acde
[X86] Add test case for PR46455.
topperc Jul 16, 2020
3ad8be5
[X86] Move integer hadd/hsub formation into a helper function shared …
topperc Jul 16, 2020
4fef486
Add -flang flag to the test-release.sh script
zmodem Jul 17, 2020
490a4c3
[docs] Add Deprecated section to ReleaseNotes
Jul 17, 2020
491e87b
Remove TwoAddressInstructionPass::sink3AddrInstruction.
jyknight Jul 16, 2020
1923b84
[RelocationResolver] Support R_PPC_REL32 & R_PPC64_REL{32,64}
MaskRay Jul 18, 2020
4157b3a
[RelocationResolver] Support R_AARCH64_PREL32
MaskRay Jul 18, 2020
4c5291b
[InstCombine] Fix replace select with Phis when branch has the same l…
xortator Jul 17, 2020
129228c
[InstCombine][Test] Test for fix of replacing select with Phis when b…
xortator Jul 17, 2020
b333356
[RISCV] Add support for -mcpu option.
zakk0610 Jul 16, 2020
033a7c5
[X86] Teach assembler parser to accept lsl and lar with a 64 or 32 so…
topperc Jul 15, 2020
48eff08
[X86] Allow lsl/lar to be parsed with a GR16, GR32, or GR64 as source…
topperc Jul 16, 2020
589287d
[ms] [llvm-ml] Remove unused function
ericastor Jul 15, 2020
014e600
[ConstantFolding] check applicability of AllOnes constant creation first
vtjnash Jul 15, 2020
272e73d
[LLVMgold.so] -plugin-opt=save-temps: save combined module to .lto.o …
MaskRay Jul 20, 2020
e24a844
[LLVMgold.so][test] Fix tests after D84132/55fa315b0352
MaskRay Jul 21, 2020
6395f30
[PowerPC] Precommit test case for PR46759. NFC.
Jul 17, 2020
0514e05
[PowerPC] Fix wrong codegen when stack pointer has to realign in prol…
Jul 22, 2020
d71db2c
[PowerPC] Fix wrong codegen when stack pointer has to realign perform…
Jul 22, 2020
19ae7d2
[SCEV] Remove premature assert. PR46786
xortator Jul 22, 2020
62e5233
Drop the npm run line from llvm/test/Analysis/ScalarEvolution/pr46786.ll
zmodem Jul 23, 2020
8d7d00c
[InstCombine] Add test for PR46680 (NFC)
nikic Jul 18, 2020
c505dd4
[InstCombine] Fix store merge worklist management (PR46680)
nikic Jul 18, 2020
dea959b
[X86][AVX] getTargetShuffleMask - don't decode VBROADCAST(EXTRACT_SUB…
RKSimon Jul 21, 2020
718a1e2
[RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zb…
lewis-revill Jul 15, 2020
f9fcdd5
[RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zb…
lewis-revill Jul 15, 2020
f0b84fb
[RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zb…
lewis-revill Jul 15, 2020
b0acb1f
[RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zb…
lewis-revill Jul 15, 2020
ab5d26c
[RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zb…
lewis-revill Jul 15, 2020
3df565a
[MC] [COFF] Make sure that weak external symbols are undefined symbols
mstorsjo Jul 21, 2020
48558c1
[llvm-lib] Support adding short import library objects with llvm-lib
mstorsjo Jul 23, 2020
3e4949e
[LegalizeTypes] Teach DAGTypeLegalizer::GenWidenVectorLoads to pad wi…
topperc Jul 24, 2020
a5f9c69
[PowerPC] Fix computation of offset for load-and-splat for permuted l…
nemanjai Jul 24, 2020
0310968
[PowerPC][NFC] Fix an assert that cannot trip from 7d076e19e31a
nemanjai Jul 26, 2020
5158667
[JumpThreading] ProcessBranchOnXOR(): bailout if any pred ends in ind…
LebedevRI Jul 27, 2020
afe00fe
[BasicAA] Add additional negative phi tests. NFC
davemgreen Jul 16, 2020
95c5899
[BasicAA] Fix -basicaa-recphi for geps with negative offsets
davemgreen Jul 16, 2020
ca9c579
Drop the 'git' suffix from various version variables
zmodem Jul 27, 2020
73a82b1
[X86] Detect if EFLAGs is live across XBEGIN pseudo instruction. Add …
topperc Jul 28, 2020
4a1983e
[X86][SSE] Add additional (f)add(shuffle(x,y),shuffle(x,y)) tests for…
RKSimon Jul 23, 2020
0719918
[X86][SSE] Attempt to match OP(SHUFFLE(X,Y),SHUFFLE(X,Y)) -> SHUFFLE(…
RKSimon Jul 28, 2020
14afc00
[InstCombine] avoid crashing on vector constant expression (PR46872)
rotateright Jul 28, 2020
a104e45
[AMDGPU] Don't combine memory intrs to v3i16
Flakebi Jul 21, 2020
9162532
Add flang to export.sh to it gets source tarballs in releases
zmodem Jul 31, 2020
48fbb59
[AArch64][SVE] Add support for trunc to <vscale x N x i1>.
efriedma-quic Jul 14, 2020
bd7f2f5
[AArch64][SVE] Fix PCS for functions taking/returning scalable types.
sdesmalen-arm Jul 20, 2020
7c1a857
[AArch64][SVE] Correctly allocate scavenging slot in presence of SVE.
sdesmalen-arm Jul 22, 2020
8c995d4
[AArch64][SVE] Teach copyPhysReg to copy ZPR2/3/4.
efriedma-quic Jul 23, 2020
03811e1
[AArch64][SVE] Don't support fixedStack for SVE objects.
sdesmalen-arm Jul 27, 2020
4b9a803
[AArch64][SVE] Don't align the last SVE callee save.
sdesmalen-arm Jul 27, 2020
b14a3de
[AArch64][SVE] Fix epilogue for SVE when the stack is realigned.
sdesmalen-arm Jul 28, 2020
df55a6e
[SVE] Don't use LocalStackAllocation for SVE objects
david-arm Jul 14, 2020
ebd7adf
[CodeGen] Remove calls to getVectorNumElements in DAGTypeLegalizer::S…
david-arm Jul 3, 2020
72e8f44
[SVE] Add checks for no warnings in CodeGen/AArch64/sve-sext-zext.ll
david-arm Jul 3, 2020
efb915b
[SVE][CodeGen] Add simple integer add tests for SVE tuple types
david-arm Jul 16, 2020
4f27636
[SVE] Don't consider scalable vector types in SLPVectorizerPass::vect…
david-arm Jul 10, 2020
0525645
[SVE][CodeGen] At -O0 fallback to DAG ISel when translating alloca wi…
david-arm Jul 28, 2020
a232ab7
[llvm][sve] Reg + Imm addressing mode for ld1ro.
Jul 7, 2020
c3a85d6
[NFC][AArch64] Replace some template methods/invocations...
Jul 27, 2020
d7924b4
[llvm][CodeGen] Addressing modes for SVE ldN.
Jul 6, 2020
2cd4771
[analyzer] Fix out-of-tree only clang build by not relaying on privat…
steakhal Jul 31, 2020
585524e
Align store conditional address
bcahoon Jul 30, 2020
c96add5
[LAA] Avoid adding pointers to the checks if they are not needed.
fhahn Jul 30, 2020
2fc661f
[CMake] Pass bugreport URL to standalone clang build
mgorny Jul 30, 2020
5aeae17
AMDGPU: Put inexpensive ops first in AMDGPUAnnotateUniformValues::vis…
Jul 30, 2020
78f3018
Bump forgotten version nbr in llvm/docs/conf.py
zmodem Aug 5, 2020
1dec893
[llvm] Add RISCVTargetParser.def to the module map
JDevlieghere Jul 17, 2020
d8c7836
RuntimeDyldELF: report_fatal_error instead of asserting for unimpleme…
zmodem Jul 23, 2020
872454e
[llvm-rc] Allow string table values split into multiple string literals
mstorsjo Aug 4, 2020
888e055
[PowerPC] fixupIsDeadOrKill start and end in different block fixing
chenzheng1030 Jul 22, 2020
ece79ac
[AArch64] [Windows] Error out on unsupported symbol locations
mstorsjo Aug 4, 2020
9a16e54
[GlobalISel][InlineAsm] Fix matching input constraint to physreg
petar-avramovic Aug 6, 2020
4e760d6
[docs] Add release notes for the 11.x release
mstorsjo Aug 17, 2020
58d78be
[AArch64][SVE] Fix CFA calculation in presence of SVE objects.
sdesmalen-arm Aug 4, 2020
b70d8f0
[AArch64][SVE] Add missing unwind info for SVE registers.
sdesmalen-arm Aug 4, 2020
08c4f4d
[AArch64][SVE] Disable tail calls if callee does not preserve SVE regs.
sdesmalen-arm Aug 5, 2020
e312733
[SVE][CodeGen] Fix bug with store of unpacked FP scalable vectors
david-arm Aug 6, 2020
4fc1aa9
Fix -Wconstant-conversion warning with explicit cast
dwblaikie Aug 4, 2020
de2e9a1
[SVE] Fix bug in SVEIntrinsicOpts::optimizePTest
david-arm Aug 13, 2020
f0d66a0
[PowerPC] Make StartMI ignore COPY like instructions.
chenzheng1030 Aug 10, 2020
7b99daf
[InstCombine] Sanitize undef vector constant to 1 in X*(2^C) with X …
LebedevRI Aug 12, 2020
5c79597
[X86] Optimize getImpliedDisabledFeatures & getImpliedEnabledFeatures…
MaskRay Aug 5, 2020
c2ceb9b
[X86] Add test case for PR47000. NFC
topperc Aug 5, 2020
f19cefc
[X86] Disable copy elision in LowerMemArgument for scalarized vectors…
topperc Aug 5, 2020
5e39908
[release][docs] Update contributions to LLVM 11 for SVE.
Aug 12, 2020
fc50dce
[globalopt] Change so that emitting fragments doesn't use the type si…
amykhuang Aug 11, 2020
71c87ee
[RISCV] Indirect branch generation in position independent code
lenary Aug 17, 2020
edf75ab
[release][docs] Note on lazy binding and SVE.
Aug 19, 2020
1fefa51
[release][docs] Move SVE release notes to AArch64 section.
Aug 20, 2020
ed779a8
[PowerPC] Fix a typo for InstAlias of mfsprg
zhangkangcool Aug 21, 2020
fdbb91a
Reuse OMPIRBuilder `struct ident_t` handling in Clang
jdoerfert May 28, 2020
e7d24f4
[DAGCombine] Remove dead node when it is created by getNegatedExpression
Aug 24, 2020
c77d5eb
ReleaseNotes: removal of llgo
zmodem Aug 26, 2020
88141c7
[release][SVE] Move notes for SVE ACLE to the release notes of clang.
Aug 26, 2020
a48e037
ReleaseNotes: mention the build preferring python 3
zmodem Aug 26, 2020
5f5352f
[MC][SVE] Fix data operand for instruction alias of `st1d`.
Aug 26, 2020
f4bf210
[X86] Update release notes.
topperc Aug 28, 2020
a98bee6
[PowerPC] PPCBoolRetToInt: Don't translate Constant's operands
Aug 28, 2020
a073304
[CodeGen] Properly propagating Calling Convention information when lo…
pratlucas Aug 27, 2020
daf466c
[AArch64][SVE] Fix calculation restore point for SVE callee saves.
sdesmalen-arm Aug 19, 2020
43b4ea8
[AArch64][SVE] Add missing debug info for ACLE types.
sdesmalen-arm Aug 27, 2020
d812075
[SSP] Restore setting the visibility of __guard_local to hidden for b…
brad0 Aug 27, 2020
62d099a
Add a few more release notes for ARM and AArch64.
kbeyls Aug 31, 2020
9e52bd7
[DAGCombine] Don't delete the node if it has uses immediately
Aug 28, 2020
9f6b532
[cmake] Don't build with -O3 -fPIC on Solaris/sparcv9
rorth Aug 28, 2020
42e283c
[InstSimplify] Protect against more poison in SimplifyWithOpReplaced …
nikic Aug 29, 2020
7664478
[PowerPC] Set v1i128 to expand for SETCC to avoid crash
zhangkangcool Jul 29, 2020
b00850c
ReleaseNotes: Add RISC-V updates
asb Sep 5, 2020
0abe177
Eliminate the sizing template parameter N from CoalescingBitVector
DimitryAndric Sep 2, 2020
7da9b1d
[WebAssembly] Fix incorrect assumption of simple value types
tlively Sep 6, 2020
20da396
[PowerPC] Do not legalize vector FDIV without VSX
nemanjai Sep 2, 2020
054e5f0
[PowerPC] Fix broken kill flag after MI peephole
nemanjai Sep 2, 2020
29f8bec
[MachineCopyPropagation] In isNopCopy, check the destination register…
topperc Sep 1, 2020
2a92db2
ReleaseNotes: Add updates in LangRef related with undef/poison
aqjune Sep 8, 2020
df4269f
Provide anchor for compiler extensions
Jun 25, 2020
6a6cc0b
[X86] SSE4_A should only imply SSE3 not SSSE3 in the frontend.
topperc Sep 8, 2020
f540d30
[PowerPC] Set setMaxAtomicSizeInBitsSupported appropriately for 32-bi…
brad0 Sep 9, 2020
85e75eb
[DebugInfo] Fixing CodeView assert related to lowerBound field of DIS…
alokkrsharma Sep 11, 2020
f527c84
[AMDGPU] Fix for folding v2.16 literals.
dfukalov Sep 4, 2020
c5c1bd4
Reduce code duplication in simplifySelectWithICmpCond (NFC)
nikic Aug 29, 2020
8dd4fad
Add test for PR47322 (NFC)
nikic Sep 10, 2020
6745ba4
Fix incorrect SimplifyWithOpReplaced transform (PR47322)
nikic Sep 10, 2020
9491343
[SelectionDAG] Remove unused FP constant in getNegatedExpression
ecnelises Sep 15, 2020
7b6b353
[FastISel] Bail out of selectGetElementPtr for vector GEPs.
topperc Sep 14, 2020
d3f2114
Revert "Double check that passes correctly set their Modified status"
zmodem Sep 15, 2020
4daf36a
Revert "[SelectionDAG] Remove unused FP constant in getNegatedExpress…
ecnelises Sep 15, 2020
73b4967
[Docs] Add/update release notes for D71913 (LTO WPD changes)
teresajohnson Sep 1, 2020
068754a
Revert "RegAllocFast: Record internal state based on register units"
zmodem Sep 15, 2020
88fac78
ReleaseNotes: PowerPC changes
zmodem Sep 15, 2020
e9634e0
llvm release notes: drop in-progress warnings; minor cleanups
zmodem Sep 16, 2020
d8484b5
[X86][ELF] Prefer lowering MC_GlobalAddress operands to .Lfoo$local f…
bd1976bris Aug 13, 2020
b157b64
[SelectionDAG] Check any use of negation result before removal
ecnelises Sep 17, 2020
a654ae5
[llvm] Add contains(KeyType) -> bool methods to SmallPtrSet
dwblaikie Jul 17, 2020
5f31397
PR47468: Fix findPHICopyInsertPoint, so that copies aren't incorrectl…
jyknight Sep 17, 2020
8fcafdf
[CodeGen] Fixing inconsistent ABI mangling of vlaues in SelectionDAGB…
pratlucas Sep 17, 2020
ca00b88
llvm index.rst: Drop in-progress warning
zmodem Sep 22, 2020
6dd12f3
release notes: mention zig as an external project
zmodem Sep 24, 2020
2d82761
AArch64/GlobalISel: Reduced patch for bug 47619
arsenm Sep 24, 2020
8cd42ca
AArch64/GlobalISel: Narrow stack passed argument access size
arsenm Sep 25, 2020
172c27d
[CodeGen] Do not call `emitGlobalConstantLargeInt` for constant requi…
atanasyan Sep 24, 2020
810086a
C API: functions to get mask of a ShuffleVector
cdisselkoen Sep 25, 2020
8a3d6aa
[LLVM-C] Turn a ShuffleVector Constant Into a Getter.
CodaFi Sep 26, 2020
2e0afe6
Fix mysterious failure of SupportTests FileCheckTest.Binop
zmodem Sep 28, 2020
5603084
[LLVM 11] Add SystemZ changes to release notes
uweigand Sep 29, 2020
b8f4c23
[GlobalISel] Fix multiply with overflow intrinsics legalization gener…
aemerson Sep 29, 2020
eaf2635
[APFloat] prevent NaN morphing into Inf on conversion (PR43907)
rotateright Sep 24, 2020
f137979
LLVM release notes: JIT changes
zmodem Oct 1, 2020
6228b2b
Fix indentation for PowerPC ReleaseNotes
Oct 1, 2020
67f791e
ReleaseNotes: mention the machine outliner for ARM
zmodem Oct 5, 2020
ce10659
[SelectionDAG] Don't remove unused negated constant immediately
ecnelises Oct 5, 2020
1739071
[CodeGen][TailDuplicator] Don't duplicate blocks with INLINEASM_BR
isanbard Oct 7, 2020
391548e
X86: Fix/workaround Small Code Model for JIT
Nekotekina May 12, 2018
5a08b9c
MCJIT: don't finalize modules on symbol lookup (workaround)
Nekotekina Jul 21, 2018
c9f0684
Disable GDBRegistrationListener
Nekotekina Oct 23, 2019
9eac890
DenseMap: add workaround for C++2a builds
Nekotekina Feb 10, 2020
e9d729d
X86: add RTM to Haswell+ features
Nekotekina Jun 19, 2019
999da05
X86: LowerShift: new algorithm for vector-vector shifts
Nekotekina Jan 29, 2018
883d6df
X86: optimize VSELECT for v16i8 with shl + sign bit test
Nekotekina Jun 19, 2018
b7587d5
X86: expand detectAVGPattern()
Nekotekina Jun 27, 2018
3223efa
X86: add pattern for X86ISD::VSRAV
Nekotekina Jul 3, 2018
9c0f762
X86: add patterns for X86ISD::VSHLV and X86ISD::VSRLV
Nekotekina Jul 5, 2018
ec657b9
X86: avoid vector-scalar shifts if splat amount is directly a vector …
Nekotekina Apr 21, 2019
8c02f52
Set up CI with Azure Pipelines
Nekotekina Oct 22, 2019
662c2b4
test: Remove test files
AniLeo Nov 3, 2020
d74d689
Host: Add workaround for Zen3
AniLeo Nov 6, 2020
cb7748d
Remove tensorflow support
RipleyTom Dec 2, 2020
716bb29
Fix possible compilation issue with gcc-11
Nekotekina Jan 9, 2021
5d8643e
C++20 fixes
xddxd Mar 26, 2021
004a051
Ninja build
xddxd Mar 29, 2021
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.
10 changes: 5 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ if(NOT DEFINED LLVM_VERSION_PATCH)
set(LLVM_VERSION_PATCH 0)
endif()
if(NOT DEFINED LLVM_VERSION_SUFFIX)
set(LLVM_VERSION_SUFFIX git)
set(LLVM_VERSION_SUFFIX "")
endif()

if (NOT PACKAGE_VERSION)
Expand Down Expand Up @@ -842,10 +842,10 @@ configure_file(
set(TENSORFLOW_C_LIB_PATH "" CACHE PATH "Path to TensorFlow C library install")
find_library(tensorflow_c_api tensorflow PATHS ${TENSORFLOW_C_LIB_PATH}/lib)

if (tensorflow_c_api)
set(LLVM_HAVE_TF_API "ON" CACHE BOOL "Full Tensorflow API available")
include_directories(${TENSORFLOW_C_LIB_PATH}/include)
endif()
# if (tensorflow_c_api)
# set(LLVM_HAVE_TF_API "ON" CACHE BOOL "Full Tensorflow API available")
# include_directories(${TENSORFLOW_C_LIB_PATH}/include)
# endif()

# Configure the three LLVM configuration header files.
configure_file(
Expand Down
143 changes: 143 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
- master

jobs:
- job: build_ubuntu
displayName: Linux Build
timeoutInMinutes: 0

pool:
vmImage: 'ubuntu-16.04'

steps:
- script: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository -s "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main"
sudo apt-get update
sudo apt-get -y install cmake ccache ninja-build clang-11 lld-11 libllvm-11-ocaml-dev libllvm11 llvm-11 llvm-11-dev llvm-11-tools llvm-11-runtime
displayName: Install clang-11 and other dependencies

- script: |
mkdir build
cd build
CC=clang-11 CXX=clang++-11 CXXFLAGS="-msse -msse2 -mcx16" cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX="" -DLLVM_CCACHE_DIR=$HOME/.ccache -DLLVM_CCACHE_BUILD=ON -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DLLVM_USE_INTEL_JITEVENTS=ON -DLLVM_ENABLE_Z3_SOLVER=OFF -DCMAKE_CXX_STANDARD=17
displayName: Configure LLVM

- script: |
cd build
ninja
displayName: Build LLVM

- script: |
cd build
DESTDIR=./dest ninja install
cd dest
tar -czf llvmlibs-linux.tar.gz lib include bin
sha256sum ./llvmlibs-linux.tar.gz | awk '{ print $1 }' >> llvmlibs-linux.tar.gz.sha256
displayName: Package LLVM Libraries

- task: GitHubRelease@0
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
gitHubConnection: RPCS3-Token
repositoryName: RPCS3/llvm-mirror
action: edit # Options: create, edit, delete
target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
tagSource: auto # Required when action == Create# Options: auto, manual
#tagPattern: # Optional
tag: 'custom-build' # Required when action == Edit || Action == Delete || TagSource == Manual
title: 'Linux Build' # Optional
#releaseNotesSource: 'file' # Optional. Options: file, input
#releaseNotesFile: # Optional
#releaseNotes: # Optional
assets: 'build/dest/llvmlibs-linux*' # Optional
assetUploadMode: delete # Optional. Options: delete, replace
#isDraft: false # Optional
#isPreRelease: true # Optional
#addChangeLog: true # Optional
#compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
#releaseTag: # Required when compareWith == LastReleaseByTag

- job: build_win32
displayName: Win32 Build
timeoutInMinutes: 0

pool:
vmImage: 'windows-2019'

steps:
- script: |
choco install ninja
displayName: Install Ninja

- script: |
call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\Tools\\vsdevcmd" -arch=x64
mkdir llvm_build
cd llvm_build
cmake -G "Ninja" .. -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="./Release" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DLLVM_USE_INTEL_JITEVENTS=ON -DLLVM_ENABLE_Z3_SOLVER=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=10.0 -DLLVM_USE_CRT_DEBUG=MTd -DLLVM_USE_CRT_RELEASE=MT
displayName: Configure LLVM

- script: |
call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\Tools\\vsdevcmd" -arch=x64
cd llvm_build
cmake --build . --config Release
cmake --install . --config Release
displayName: Build LLVM

- script: |
mkdir llvm_out
cd llvm_out
mkdir build
cd build
mkdir llvm
cd llvm
mkdir cmake
mkdir include
mkdir tools
xcopy "..\..\..\cmake" ".\cmake" /E
xcopy "..\..\..\include" ".\include" /E
cd ..\
mkdir llvm_build
cd llvm_build
mkdir Release
mkdir include
mkdir lib
cd lib
mkdir cmake
cd ..\
xcopy "..\..\..\llvm_build\Release" ".\Release" /E
cd ..\
7z a -t7z -m0=lzma2 -mx=9 -aoa -r "llvmlibs_mt.7z" *
displayName: Package LLVM Libraries

- bash: |
cd llvm_out/build
sha256sum llvmlibs_mt.7z | awk '{ print $1 }' > llvmlibs_mt.7z.sha256
displayName: Generate sha256

- task: GitHubRelease@0
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
inputs:
gitHubConnection: RPCS3-Token
repositoryName: RPCS3/llvm-mirror
action: edit # Options: create, edit, delete
target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
tagSource: auto # Required when action == Create# Options: auto, manual
#tagPattern: # Optional
tag: 'custom-build-win' # Required when action == Edit || Action == Delete || TagSource == Manual
title: 'Windows Build' # Optional
#releaseNotesSource: 'file' # Optional. Options: file, input
#releaseNotesFile: # Optional
#releaseNotes: # Optional
assets: 'llvm_out/build/llvmlibs_mt.*' # Optional
assetUploadMode: delete # Optional. Options: delete, replace
#isDraft: false # Optional
#isPreRelease: true # Optional
#addChangeLog: true # Optional
#compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
#releaseTag: # Required when compareWith == LastReleaseByTag
10 changes: 10 additions & 0 deletions cmake/modules/HandleLLVMOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ include(CheckCCompilerFlag)
include(CheckCXXCompilerFlag)
include(CheckSymbolExists)
include(CMakeDependentOption)
include(LLVMProcessSources)

if(CMAKE_LINKER MATCHES "lld-link" OR (MSVC AND (LLVM_USE_LINKER STREQUAL "lld" OR LLVM_ENABLE_LLD)))
set(LINKER_IS_LLD_LINK TRUE)
Expand Down Expand Up @@ -291,6 +292,15 @@ if( LLVM_ENABLE_PIC )
NOT Uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG")
add_flag_or_print_warning("-fno-shrink-wrap" FNO_SHRINK_WRAP)
endif()
# gcc with -O3 -fPIC generates TLS sequences that violate the spec on
# Solaris/sparcv9, causing executables created with the system linker
# to SEGV (GCC PR target/96607).
# clang with -O3 -fPIC generates code that SEGVs.
# Both can be worked around by compiling with -O instead.
if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS" AND LLVM_NATIVE_ARCH STREQUAL "Sparc")
llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELEASE "-O[23]" "-O")
llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O[23]" "-O")
endif()
endif()

if(NOT WIN32 AND NOT CYGWIN AND NOT (${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))
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 @@ -7,6 +7,7 @@ set(LLVM_VERSION_MINOR @LLVM_VERSION_MINOR@)
set(LLVM_VERSION_PATCH @LLVM_VERSION_PATCH@)
set(LLVM_VERSION_SUFFIX @LLVM_VERSION_SUFFIX@)
set(LLVM_PACKAGE_VERSION @PACKAGE_VERSION@)
set(LLVM_PACKAGE_BUGREPORT @PACKAGE_BUGREPORT@)

set(LLVM_BUILD_TYPE @CMAKE_BUILD_TYPE@)

Expand Down
Loading