Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW09-13) #3425

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

Merged
merged 3,947 commits into from
Mar 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3947 commits
Select commit Hold shift + click to select a range
dccf83a
[AMDGPU] SIOptimizeExecMaskingPreRA should check constant bus constra…
alex-t Mar 18, 2021
69b71d2
[X86][AVX] Cleanup gather_v8i32_v8i32 special test case
RKSimon Mar 24, 2021
c1ef642
[X86] Remove unused 'OneUse' option from IsNOT helper. NFCI.
RKSimon Mar 24, 2021
97a00b7
[MCA] Fix for uninitialised member in constructor. NFC
adibiagio Mar 24, 2021
e9015bd
[X86][AVX] lowerShuffleAsBroadcast - MOVDDUP(SCALAR_TO_VECTOR(X)) -> …
RKSimon Mar 24, 2021
7716e55
[mlir] Fixes to hoist padding
nicolasvasilache Mar 24, 2021
1ad9c95
[gn build] port 1d8fc086ae26
nico Mar 24, 2021
2f1b439
[LoopAnalysis][NFC]Remove redundant code.
alexey-bataev Mar 24, 2021
d1c8a15
[OpenCL] Added distinct file extension for C++ for OpenCL.
Mar 3, 2021
8140d0e
[OpenMP] Change OMPIRBuilder to append function attributes
jhuber6 Mar 15, 2021
cfc36bf
[clang] Treat variable-length array of incomplete element type as
hokein Mar 23, 2021
804ff7f
[llvm-objdump] Implement --prefix-strip option
tinti Aug 1, 2020
91f4c11
[PowerPC] Add mprivileged option
stefanp-synopsys Mar 23, 2021
0620e6f
[clang] [C++2b] [P1102] Accept lambdas without parameter list ().
mkurdej Mar 24, 2021
338d162
[clang-tidy] Ignore all spaces in the list of checks
dmpolukhin Mar 23, 2021
94be5dd
Merge from 'sycl' to 'sycl-web'
Mar 24, 2021
7920527
[X86][AVX] combineBitcastvxi1 - improve handling of vectors truncated…
RKSimon Mar 24, 2021
1916b0e
[mlir] support data layout specs on ModuleOp
ftynse Mar 22, 2021
f9cdc61
[mlir] provide a version of data layout size hooks in bits
ftynse Mar 22, 2021
842d243
[mlir] forward data layout query to scoping op in absence of specific…
ftynse Mar 22, 2021
b3386a7
[mlir] introduce data layout entry for index type
ftynse Mar 22, 2021
301d926
[AsmParser][SystemZ][z/OS] Re-introduce HLASM comment syntax
aniprasad Mar 24, 2021
40653c8
[Polly][DCE] clang-format DeadCodeElimination.h. NFC.
Meinersbur Mar 24, 2021
ac2a1e9
[SVE] Suppress vselect warning from incorrect interface call
nasherm Mar 8, 2021
82fa17a
[gn build] (manually) port 301d9261b787
nico Mar 24, 2021
55d18b3
[TTI] Return a TypeSize from getRegisterBitWidth.
sdesmalen-arm Mar 24, 2021
92417eb
[InstCombine] add tests for sub of umin; NFC
rotateright Mar 23, 2021
8808222
[mlir][linalg] Do not call region builder during vectorization.
Mar 24, 2021
36d8ed0
Merge from 'main' to 'sycl-web' (#2)
Mar 24, 2021
dc206be
[ARM] Regenerate some test checks. NFC
davemgreen Mar 24, 2021
643d87e
[sanitizer] Fix Solaris build.
morehouse Mar 24, 2021
41454c3
Updated LLDB for the new Clang Language enumerator 'OpenCLCXX'
gribozavr Mar 24, 2021
eb4ad0e
[flang] Save binding labels as strings
tskeith Mar 24, 2021
f4ace63
AMDGPU: Add target id and code object v4 support
kzhuravl Mar 24, 2021
fe36b83
[NFCI][SimplifyCFG] Fold branch to common dest: don't check cost if n…
LebedevRI Mar 24, 2021
391b85b
[sanitizer] Fix Solaris build.
morehouse Mar 24, 2021
7dd90da
[UpdateTestChecks] Fix typo & copy/paste in comments
Mar 24, 2021
9151692
[dfsan] Add Origin ABI Wrappers
stephan-yichao-zhao Mar 24, 2021
a870870
[InstSimplify] add tests for min/max intrinsic analysis; NFC
rotateright Mar 24, 2021
14b2ec9
[ARM] Enable UpperBound unrolling for all loops
davemgreen Mar 24, 2021
a6a1c30
Fix false negative in -Wthread-safety-attributes
aaronpuchert Mar 24, 2021
7d91d81
[polly] Fix build
nikic Mar 24, 2021
64ab2b6
[Support] Fix 'keeping' temporary files on Windows 7
aganea Mar 24, 2021
a76d020
Revert "[flang] Save binding labels as strings"
tskeith Mar 24, 2021
60e12a2
[NFC][Loads] Add a testcase for TBAA aware FindAvailableLoadedValue
Mar 24, 2021
7654bb6
[OPENMP]Fix PR48571: critical/master in outlined contexts cause crash.
alexey-bataev Mar 24, 2021
3b52c04
Make FindAvailableLoadedValue TBAA aware
Mar 22, 2021
0bf833f
[SystemZ][z/OS] JSON file should be text files
abhina-sree Mar 24, 2021
8a168d2
[LICM] Fix NumSunk statistic (NFC)
nikic Mar 24, 2021
feff05d
[lit] Fix check-lit hanging on Windows due to a division by zero exce…
mstorsjo Mar 24, 2021
5fd001a
[Passes] Add relative lookup table converter pass
gulfemsavrun Dec 29, 2020
f6259ef
[gn build] Port 5fd001a5ffba
llvmgnsyncbot Mar 24, 2021
4f28303
AMDGPU/LLD: Add target id and code object v4 support to linker
kzhuravl Mar 24, 2021
c5d53ef
[test] Fix mix of variable use/def and regex match
Mar 18, 2021
f24f09d
[RISCV] Add TTI support for cpop with Zbb
topperc Mar 24, 2021
1818dc3
[AArch64][GlobalISel] Mark G_SBFX/G_UBFX as legal for s32 and s64
Mar 23, 2021
b09d44b
[lldb/Plugins] Add ScriptedProcess Process Plugin
medismailben Mar 24, 2021
13bb39a
[NFC][LLDB] Removing extra semicolons to silence -Wc++98-compat-extra…
shafik Mar 23, 2021
512bae8
[RISCV] Add basic cost modelling for fixed vector gather/scatter.
topperc Mar 24, 2021
c8faa8c
Make the stop-on-sharedlibrary-events setting work.
jimingham Mar 23, 2021
a141c7d
[AArch64][GlobalISel] Select G_SBFX and G_UBFX
Mar 23, 2021
4950695
[dfsan] Add Origin ABI Wrappers
stephan-yichao-zhao Mar 19, 2021
eca7b31
Add missing -march to runline in llvm/test/MachineVerifier/test_g_ubf…
Mar 24, 2021
5d3249e
[flang] Save binding labels as strings
tskeith Mar 24, 2021
3cb2346
[AArch64] Support .arch_extension pan
frobtech Mar 23, 2021
5da55bf
[flang] Fix output buffering bug (positionability assumption)
klausler Mar 23, 2021
63f73c3
[HWASan] Use page aliasing on x86_64.
morehouse Mar 24, 2021
058455f
[FileCheck] Fix PR49531: invalid use of string var
Mar 16, 2021
5fbe1fd
Revert "[Passes] Add relative lookup table converter pass"
gulfemsavrun Mar 24, 2021
ac6572a
[gn build] Port 5fbe1fdf1702
llvmgnsyncbot Mar 24, 2021
8d1342f
[LV] Remove redundant access to Legal::getReductionVars() (NFC).
fhahn Mar 24, 2021
3fd7d0d
Disable the tests except on Darwin.
jimingham Mar 24, 2021
279ea93
[clang] Add fixit for Wreorder-ctor
njames93 Mar 24, 2021
9d45579
[LV] Factor out phi type access to variable (NFC).
fhahn Mar 24, 2021
a6aae5f
[WebAssembly] Don't inline -emscripten-cxx-exceptions-allowed functions
aheejin Mar 24, 2021
80f6c99
Verify that MDNodes belong to the same context as the Module.
nlewycky Mar 24, 2021
26e0fb8
[TSan] Support initialize/finalize hooks in dynamic libraries
Mar 24, 2021
829c1b6
[LoopInterchange] fix tightlyNested() in LoopInterchange legality
CongzheUalberta Mar 24, 2021
9e9f6eb
[OPENMP]Fix PR49468: Declare target should allow empty sequences and …
alexey-bataev Mar 24, 2021
e122877
Add a progress class that can track long running operations in LLDB.
clayborg Mar 1, 2021
e29bb07
[PowerPC] Exploit xxsplti32dx (constant materialization) for scalars
Mar 24, 2021
e030ce3
[Tooling] Handle compilation databases containing commands with doubl…
Mar 24, 2021
c504c68
[libc++] Add a CI configuration with static libc++/libc++abi
ldionne Mar 24, 2021
fad34da
Revert "[lldb/Plugins] Add ScriptedProcess Process Plugin"
medismailben Mar 24, 2021
bc888a0
[MLIR, test] Fix variable def in Dialect/Linalg/tile-and-distribute.mlir
Mar 24, 2021
f6e0fc2
[mlir] Fix tile-and-distribute.mlir
sstamenova Mar 24, 2021
6427c53
[libc++] Use add_lit_testsuite to register the libc++ test suite
ldionne Mar 24, 2021
a7efed5
[SCEV] Improve handling of not expressions in isImpliedCond()
nikic Oct 26, 2020
d988ffc
[lld-macho][nfc] Fixed test so it output to %t/ rather than current d…
oontvoo Mar 24, 2021
56e6eb7
[AArch64][GlobalISel] Make G_UBFX/G_SBFX legalization check for const…
Mar 24, 2021
2070fe7
[NFCI][SimplifyCFG] Don't form DTU updates if we aren't going to appl…
LebedevRI Mar 24, 2021
39f3e9a
[CMake][Fuchsia] Include llvm-lipo
petrhosek Mar 24, 2021
675401e
[libcxx] Avoid pulling in xlocinfo.h in public headers
mstorsjo Mar 23, 2021
5d6b4aa
[mlir] Compare elements directly rather than creating pair first
jpienaar Mar 24, 2021
adf42df
[ValueTracking] peek through min/max to find isKnownToBeAPowerOfTwo
rotateright Mar 24, 2021
1580263
[libc++][AIX] Initial patch to unblock the libc++ build on AIX
jasonliudev Mar 24, 2021
ddf93ab
[mlir][linalg] NFC: Move makeTiledShapes into Utils.{h|cpp}
antiagainst Mar 24, 2021
e58597e
[mlir][linalg] Fuse producers with non-permutation indexing maps
antiagainst Mar 24, 2021
23fd266
[mlir][affine] Deduplicate affine min/max op expressions
antiagainst Mar 24, 2021
f66120a
[mlir][affine] Add canonicalization to merge affine min/max ops
antiagainst Mar 24, 2021
7f28d27
[mlir][linalg] Allow controlling folding unit dim reshapes
antiagainst Mar 24, 2021
c241e1c
[mlir][linalg] Support dropping unit dimensions for init tensors
antiagainst Mar 24, 2021
19435d3
[mlir][linalg] Fold fill -> tensor_reshape chain
antiagainst Mar 24, 2021
bfbfd83
[Driver] Linux.cpp: delete unneeded D.getVFS().exists checks
MaskRay Mar 24, 2021
35dd647
[Driver] Bring back "Clean up Debian multiarch /usr/include/<triplet>…
MaskRay Mar 24, 2021
09a84d3
[libc++] Match declaration for non-member function std::swap(std::pac…
jasonliudev Mar 24, 2021
ef69aa9
[InlineCost] Enable the cost benefit analysis on FDO
kazutakahirata Mar 24, 2021
217f0f7
[Clang][Sema] Implement GCC -Wcast-function-type
Mar 24, 2021
6869e6c
[InlineCost] Make cost-benefit decision explicit
WenleiHe Mar 24, 2021
c8ef98e
Revert "[HWASan] Use page aliasing on x86_64."
morehouse Mar 24, 2021
4054b83
[deref] Implement initial set of inference rules for deref-at-point
preames Mar 24, 2021
f9a135b
[dfsan] Test dfsan_flush with origins
stephan-yichao-zhao Mar 24, 2021
f5ba3ee
[mlir][tosa] Add tosa.bitwise_not lowering to constant and xor
rsuderman Mar 23, 2021
7ad55a3
[Utils][NFC] Fix regex substitution for update test checks
ggeorgakoudis Mar 21, 2021
9a82f42
Plumb TLI through isSafeToExecuteUnconditionally [NFC]
preames Mar 25, 2021
dd388ba
[llvm-cov] Check path emptyness in path-equivalence after removing dots.
ZequanWu Mar 25, 2021
ef58ae8
[RISCV] Fix mcount name
nathanchance Mar 23, 2021
97d8972
[flang][fir] Add the pre-code gen rewrite pass and codegen ops.
schweitzpgi Feb 26, 2021
cdd993f
[Driver] Use -dynamic-linker /lib/ld-musl-i386.so.1 for i?86-linux-musl
MaskRay Mar 25, 2021
af9f461
[dfsan] test flush on only x86
stephan-yichao-zhao Mar 25, 2021
927050a
[Polly] Fix -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off builds
MaskRay Mar 25, 2021
ff29fdf
[lldb] Format AppleObjCRuntimeV2 (NFC)
JDevlieghere Mar 25, 2021
c4fee95
[lldb/ObjC] Make the NonPointerIsaCache initialization lazy
fredriss Mar 13, 2020
0f99c6c
[RISCV] Remove duplicate DebugLoc variables from cases in ReplaceNode…
topperc Mar 25, 2021
973ddb7
Define a `NoTerminator` traits that allows operations with a single b…
joker-eph Mar 11, 2021
c8cf8bc
[RISCV] Add some 32-bit ctlz and cttz idiom tests to rv64zbb.ll. NFC
topperc Mar 25, 2021
ddb0bcb
Add missing cases in RISCVMCExpr::getVariantKindName
spavloff Mar 19, 2021
0d2c4db
[GlobalISel] Fix crash in RBS with a non-generic IMPLICIT_DEF.
aemerson Mar 24, 2021
20b4f48
[Driver] Add -fno-split-stack
ChuanqiXu9 Mar 24, 2021
3f143a1
[libcxx] updates regular_invocable test to actually test regular_invo…
cjdb Mar 24, 2021
4f9c61e
[lld] add context-sensitive PGO options for COFF.
yolanda15 Mar 25, 2021
32f6a15
[RISCV] Add more tests that can be improved by D99042.
topperc Mar 25, 2021
a885567
[LLD] Fix probing a MSYS based 'tar' in a Windows Container
mstorsjo Mar 24, 2021
b8b23aa
[libcxx] [test] Quote env variables that are set with a shell "export…
mstorsjo Mar 4, 2021
74ed512
Revert "[libcxxabi] Use cxx-headers target to consume libcxx headers"
petrhosek Mar 25, 2021
ffa455d
[mlir] Translate global initializers after creating all LLVM IR globals
jeanPerier Mar 25, 2021
70b6f16
[mlir] Support MemRefType with multiple AffineMaps in getStridesAndOf…
Mar 23, 2021
502f27e
Trivial change to fix builds
kiranchandramohan Mar 25, 2021
d90b123
[lldb] Fix TestVSCode.test_progress_events on Linux due to vdso
Teemperor Mar 25, 2021
d9abcdd
[clang-format] Fix ObjC method indent after f7f9f94b
krasimirgg Mar 22, 2021
9fde88c
[X86][AVX] splitIntVSETCC - handle separate (canonicalized) SETCC ope…
RKSimon Mar 25, 2021
36e3c6c
[X86][AVX] Truncate vectors with PACKSS/PACKUS on AVX2 targets
RKSimon Mar 25, 2021
321a71a
[RISCV] Optimize BUILD_VECTOR sequences that reveal hidden splats
frasercrmck Mar 23, 2021
1e56e87
[RISCV] Pre-commit shuffle test cases for D99270
frasercrmck Mar 24, 2021
b92c8c2
[NewPM] Disable non-trivial loop-unswitch on targets with divergence
ssahasra Mar 25, 2021
06411ed
[PowerPC][NFC] Provide legacy names for VSX loads and stores
nemanja-ibm Mar 25, 2021
9921135
[RISCV] Optimize select-like vector shuffles
frasercrmck Mar 24, 2021
c0515f0
[X86][SSE] Rename pmulh tests to show they're from sign/zero-extends
RKSimon Mar 25, 2021
5ab3bc0
[X86][SSE] Add pmulh tests where the source ops are not generated fro…
RKSimon Mar 25, 2021
8420a53
[Debugify] Expose original debug info preservation check as CC1 option
Mar 11, 2021
568c874
[SLP]Improve and simplify extendSchedulingRegion.
alexey-bataev Mar 24, 2021
ca31844
Merge from 'sycl' to 'sycl-web'
Mar 25, 2021
ea61708
[SystemZ][z/OS] csv files should be text files
abhina-sree Mar 25, 2021
0becc4d
fix readability-braces-around-statements Stmt type dependency
AlexanderLanin Mar 25, 2021
c83cd8f
[NFC] Reordering parameters in getFile and getFileOrSTDIN
abhina-sree Mar 25, 2021
96a4167
[HWASan] Use page aliasing on x86_64.
morehouse Mar 25, 2021
1f46499
[SVE][LoopVectorize] Verify support for vectorizing loops with invari…
kmclaughlin-arm Mar 25, 2021
06e2b73
[libc++] [P1032] Misc constexpr bits in <iterator>, <string_view>, <t…
Quuxplusone Feb 10, 2021
e21ab31
[libc++] Eliminate <compare>'s dependency on <array>.
Quuxplusone Mar 24, 2021
7f2ae3d
add print-change diff modes that do not use colour
jamieschmeiser Mar 25, 2021
8fbfc92
Reuse `os` variable in AllocateTarget; NFC
svenvh Mar 25, 2021
02d7ef3
[clang-tidy] Fix mpi checks when running multiple TUs per clang-tidy …
njames93 Mar 25, 2021
f7ef26e
[SLP] Fix crash in reduction for integer min/max
Mar 25, 2021
f534992
Fix: Reordering parameters in getFile and getFileOrSTDIN
abhina-sree Mar 25, 2021
52fea20
Merge from 'main' to 'sycl-web' (#9)
Mar 25, 2021
c40cea6
[RISCV] Teach targetShrinkDemandedConstant to preserve (and X, 0xffff…
topperc Mar 25, 2021
d971896
[ARM] Revert WhileLoopStartLR to DoLoopStart
davemgreen Mar 25, 2021
0b20413
Revert "[Canonicalizer] Process regions top-down instead of bottom up…
bondhugula Mar 25, 2021
4c7ebf7
[flang][driver] Add options for -std=f2018
Mar 25, 2021
7f2236c
[mlir][linalg] Add output tensor args folding for linalg.tiled_loop.
pifon2a Mar 25, 2021
0b8fc2c
Merge from 'main' to 'sycl-web' (#10)
Mar 25, 2021
0324b46
[libc++] [C++2b] [P2162] Allow inheritance from std::variant.
mkurdej Mar 25, 2021
015c398
[Analyzer] Infer 0 value when the divisible is 0 (bug fix)
Mar 25, 2021
7f5abb6
[clangd] Fix a use-after-free
kadircet Mar 25, 2021
2789911
[flang] fold LOGICAL intrinsic calls
jeanPerier Mar 25, 2021
aa97908
[clang][Syntax] Optimize expandedTokens for token ranges.
usx95 Mar 22, 2021
89cccac
Merge from 'sycl' to 'sycl-web' (#1)
Mar 25, 2021
61a55c8
[flang] Fix error compiling std::min on macos
tskeith Mar 25, 2021
0135bc9
[clang] Always execute multi-stage install steps
smeenai Mar 25, 2021
33930a0
[clang] Pass option directly to command. NFC
smeenai Mar 25, 2021
fcdf142
Remove unused function, fix warning (NFC)
joker-eph Mar 25, 2021
7d1c503
[JITLink][MachO/x86-64] Remove stale commented-out code.
lhames Mar 25, 2021
53fd1ad
[lld-macho] Fix typo in diagnostic message
int3 Mar 24, 2021
4bcaafe
[lld-macho] Add more TimeTraceScopes
int3 Mar 25, 2021
0113cf0
[lld-macho] Add support for --threads
int3 Mar 25, 2021
a5b7d38
[Hexagon] Limit virtual register reuse range in FI elimination
Mar 25, 2021
fcf629d
[flang][driver] Fix typos and inconsistent comments (nfc)
banach-space Mar 25, 2021
e2f34cc
[lld-macho][nfc] Removed unnecessary static_cast
oontvoo Mar 25, 2021
dc928e9
[AMDGPU] Refactoring mfma intrinsic definitions. NFC.
rampitec Mar 25, 2021
cc94771
[CUDA][HIP] add __builtin_get_device_side_mangled_name
yxsamliu Mar 24, 2021
20ad206
[NFC] Module::getInstructionCount() is const
mtrofin Mar 25, 2021
c604710
[Support][Windows] Make sure only executables are found by sys::findP…
zero9178 Mar 25, 2021
d811c82
[flang] fix spurious runtime crash on TRIM('')
klausler Mar 25, 2021
a40747d
Merge from 'sycl' to 'sycl-web'
Mar 25, 2021
ad8010e
[PowerPC] auto-generate complete testchecks; NFC
rotateright Mar 25, 2021
93a636d
[IR] Lift attribute handling for assume bundles into CallBase
nikic Mar 24, 2021
1c55dcb
[NFCI][SimplifyCFG] Don't pay for a Small{Map,Set}Vector when plain S…
LebedevRI Mar 25, 2021
1abaadb
[clang][driver] Support HWASan in the Fuchsia toolchain
PiJoules Mar 25, 2021
a60ffee
Revert "[InlineCost] Enable the cost benefit analysis on FDO"
nico Mar 25, 2021
083445b
Merge from 'main' to 'sycl-web' (#12)
mamasten Mar 25, 2021
c7a39c8
[Coroutine][Clang] Force emit lifetime intrinsics for Coroutines
lxfind Mar 25, 2021
dee5787
Reland [lld-macho][nfc] minor clean up, follow up to D98559
oontvoo Mar 24, 2021
622f8de
PR49724: Fix deduction of null member pointers.
zygoloid Mar 25, 2021
f490a59
[OpenMP][InstrProfiling] Fix a missing instr profiling counter
lxfind Mar 25, 2021
bba25a9
[MCA] Support carry-over instructions for in-order processors
asavonic Mar 24, 2021
5797fea
[RISCV] Reorder checks in RISCVTTIImpl::getGatherScatterOpCost to avo…
topperc Mar 25, 2021
8e0bb21
[HWASan] Mention x86_64 aliasing mode in design doc.
morehouse Mar 25, 2021
414412d
[lldb/Commands] Fix spelling of target.move-to-nearest-code in helptext
vedantk Mar 25, 2021
4b5baa5
Handle 128-bits IntegerLiterals in StmtPrinter
davidstone Mar 25, 2021
88d0f47
[test] Add test for hoisting to custom allocation function using allo…
preames Mar 25, 2021
67e2817
Autogen test to account for tool output format change
preames Mar 25, 2021
e7ebb87
[deref] Handle byval/byref/sret/inalloc/preallocated arguments for de…
preames Mar 25, 2021
4f5e92c
Mark gc.relocate and gc.result as readnone (try 2)
preames Mar 25, 2021
3240910
[DAE] Adjust param/arg attributes when changing parameter to undef
weiguozhi Mar 25, 2021
ec294eb
[mlir][linalg] Add an InitTensorOp python builder.
stellaraccident Mar 20, 2021
36eaeaf
[llvm][hwasan] Add Fuchsia shadow mapping configuration
PiJoules Mar 25, 2021
bbb4191
[lldb] Add IsFullyInitialized to DynamicLoader
JDevlieghere Mar 24, 2021
3fd64cc
[ValueTracking] Handle two PHIs in isKnownNonEqual()
jaykang10 Mar 11, 2021
886f9ff
BPF: add extern func to data sections if specified
yonghong-song Mar 25, 2021
ed95655
[Triple][Driver] Add muslx32 environment and use /lib/ld-musl-x32.so.…
MaskRay Mar 25, 2021
1b28e42
Merge from 'main' to 'sycl-web' (#4)
Mar 26, 2021
ed394fb
Merge remote-tracking branch 'otcshare_llvm/sycl-web' into llvmspirv_…
vmaksimo Mar 26, 2021
900ee37
Accept intrinsic namings into -spirv-allow-unknown-intrinsics (#912)
Feb 19, 2021
b26fd01
Disable Travis CI on master branch
AlexeySachkov Feb 19, 2021
e3d5c63
Remove Travis CI badge
AlexeySachkov Feb 19, 2021
a431c43
Minimize IR for atomic float tests (#917)
Feb 24, 2021
6340713
Add support for constant integers of any bitwidth
mlychkov Feb 4, 2021
a6a4183
Fix -Wignored-qualifiers warnings
svenvh Feb 25, 2021
458b203
Implement read/write_mem_fence
gfxstrand Feb 24, 2021
4806555
Update DebugInfo test after LLVM change
svenvh Mar 2, 2021
734e4c4
Encode debug info producer in SPIR-V (#924)
KornevNikita Mar 3, 2021
cbdc74b
Update ArbitraryFloatCastTo/FromInt processing
mlychkov Feb 26, 2021
e19ef70
Remove language check assert
MochalovaAn Mar 4, 2021
aab4e5b
Add Early Exit
MochalovaAn Mar 9, 2021
174d32d
Use -fdeclare-opencl-builtins for more .cl tests
svenvh Mar 2, 2021
d4a8cdf
Fix wrong usage of replaceTemporary
Nuullll Mar 3, 2021
b374c10
cmake: allow to enable/disable ccache
saininav Mar 4, 2021
ef217e4
Encode CodeView checksum information in SPIR-V (#936)
KornevNikita Mar 22, 2021
57ca30d
Print path info in error messages only in debug build (#941)
MrSidims Mar 24, 2021
de877ef
Try to derive the size of vectors when translating DICompositeType
aparshin-intel Mar 23, 2021
c236f6c
Fix mangling of OpAtomicUMax/OpAtomicUMin representation in SPV-IR
aratajew Mar 23, 2021
6275801
Fix sycl-offload-intelfpga to align with clang-offload-wrapper changes
vmaksimo Mar 10, 2021
9def061
Close logical block in CMakeLists file
vmaksimo Mar 26, 2021
b786ffa
Fix CUDA build after D97257
mlychkov Mar 11, 2021
f2b4182
Fix CUDA lit tests after pulldown from llorg
mlychkov Mar 11, 2021
3b4bd47
[OpenCL] Fix CUDA build after D96515
mlychkov Mar 12, 2021
cfad829
[OpenCL] Mark SemaOpenCL/func.cl test as XFAIL
mlychkov Mar 26, 2021
6822b42
Revert "Encode debug info producer in SPIR-V"
vmaksimo Mar 26, 2021
4d5d22b
Align sub_group_as test to IR changes
vmaksimo Mar 29, 2021
fd2bc66
Align layout_accessors_host test with the IR changes
vmaksimo 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.
3 changes: 2 additions & 1 deletion .arcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
"repository.callsign" : "G",
"conduit_uri" : "https://reviews.llvm.org/",
"base": "git:HEAD^",
"arc.land.onto.default": "main"
"arc.land.onto.default": "main",
"arc.land.onto": ["main"]
}
2 changes: 0 additions & 2 deletions clang-tools-extra/clang-query/Query.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ bool HelpQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const {
" AsIs "
"Print and match the AST as clang sees it. This mode is the "
"default.\n"
" IgnoreImplicitCastsAndParentheses "
"Omit implicit casts and parens in matching and dumping.\n"
" IgnoreUnlessSpelledInSource "
"Omit AST nodes unless spelled in the source.\n"
" set output <feature> "
Expand Down
15 changes: 7 additions & 8 deletions clang-tools-extra/clang-query/tool/ClangQuery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@
#include "clang/Tooling/Tooling.h"
#include "llvm/LineEditor/LineEditor.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Signals.h"
#include "llvm/Support/WithColor.h"
#include <fstream>
#include <string>

using namespace clang;
Expand Down Expand Up @@ -73,16 +73,15 @@ static cl::opt<std::string> PreloadFile(

bool runCommandsInFile(const char *ExeName, std::string const &FileName,
QuerySession &QS) {
std::ifstream Input(FileName.c_str());
if (!Input.is_open()) {
llvm::errs() << ExeName << ": cannot open " << FileName << "\n";
return 1;
auto Buffer = llvm::MemoryBuffer::getFile(FileName);
if (!Buffer) {
llvm::errs() << ExeName << ": cannot open " << FileName << ": "
<< Buffer.getError().message() << "\n";
return true;
}

std::string FileContent((std::istreambuf_iterator<char>(Input)),
std::istreambuf_iterator<char>());
StringRef FileContentRef(Buffer.get()->getBuffer());

StringRef FileContentRef(FileContent);
while (!FileContentRef.empty()) {
QueryRef Q = QueryParser::parse(FileContentRef, QS);
if (!Q->run(llvm::outs(), QS))
Expand Down
24 changes: 14 additions & 10 deletions clang-tools-extra/clang-tidy/ClangTidy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ class AnalyzerDiagnosticConsumer : public ento::PathDiagnosticConsumer {

class ErrorReporter {
public:
ErrorReporter(ClangTidyContext &Context, bool ApplyFixes,
ErrorReporter(ClangTidyContext &Context, FixBehaviour ApplyFixes,
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> BaseFS)
: Files(FileSystemOptions(), std::move(BaseFS)),
DiagOpts(new DiagnosticOptions()),
Expand Down Expand Up @@ -133,8 +133,9 @@ class ErrorReporter {
auto Diag = Diags.Report(Loc, Diags.getCustomDiagID(Level, "%0 [%1]"))
<< Message.Message << Name;
// FIXME: explore options to support interactive fix selection.
const llvm::StringMap<Replacements> *ChosenFix = selectFirstFix(Error);
if (ApplyFixes && ChosenFix) {
const llvm::StringMap<Replacements> *ChosenFix;
if (ApplyFixes != FB_NoFix &&
(ChosenFix = getFixIt(Error, ApplyFixes == FB_FixNotes))) {
for (const auto &FileAndReplacements : *ChosenFix) {
for (const auto &Repl : FileAndReplacements.second) {
++TotalFixes;
Expand Down Expand Up @@ -187,7 +188,7 @@ class ErrorReporter {
}

void finish() {
if (ApplyFixes && TotalFixes > 0) {
if (TotalFixes > 0) {
Rewriter Rewrite(SourceMgr, LangOpts);
for (const auto &FileAndReplacements : FileReplacements) {
StringRef File = FileAndReplacements.first();
Expand Down Expand Up @@ -287,7 +288,7 @@ class ErrorReporter {
SourceManager SourceMgr;
llvm::StringMap<Replacements> FileReplacements;
ClangTidyContext &Context;
bool ApplyFixes;
FixBehaviour ApplyFixes;
unsigned TotalFixes;
unsigned AppliedFixes;
unsigned WarningsAsErrors;
Expand Down Expand Up @@ -392,6 +393,10 @@ ClangTidyASTConsumerFactory::CreateASTConsumer(
std::vector<std::unique_ptr<ClangTidyCheck>> Checks =
CheckFactories->createChecks(&Context);

llvm::erase_if(Checks, [&](std::unique_ptr<ClangTidyCheck> &Check) {
return !Check->isLanguageVersionSupported(Context.getLangOpts());
});

ast_matchers::MatchFinder::MatchFinderOptions FinderOptions;

std::unique_ptr<ClangTidyProfiling> Profiling;
Expand All @@ -415,8 +420,6 @@ ClangTidyASTConsumerFactory::CreateASTConsumer(
}

for (auto &Check : Checks) {
if (!Check->isLanguageVersionSupported(Context.getLangOpts()))
continue;
Check->registerMatchers(&*Finder);
Check->registerPPCallbacks(*SM, PP, ModuleExpanderPP);
}
Expand Down Expand Up @@ -500,7 +503,8 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
const CompilationDatabase &Compilations,
ArrayRef<std::string> InputFiles,
llvm::IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem> BaseFS,
bool EnableCheckProfile, llvm::StringRef StoreCheckProfile) {
bool ApplyAnyFix, bool EnableCheckProfile,
llvm::StringRef StoreCheckProfile) {
ClangTool Tool(Compilations, InputFiles,
std::make_shared<PCHContainerOperations>(), BaseFS);

Expand All @@ -527,7 +531,7 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
Context.setEnableProfiling(EnableCheckProfile);
Context.setProfileStoragePrefix(StoreCheckProfile);

ClangTidyDiagnosticConsumer DiagConsumer(Context);
ClangTidyDiagnosticConsumer DiagConsumer(Context, nullptr, true, ApplyAnyFix);
DiagnosticsEngine DE(new DiagnosticIDs(), new DiagnosticOptions(),
&DiagConsumer, /*ShouldOwnClient=*/false);
Context.setDiagnosticsEngine(&DE);
Expand Down Expand Up @@ -574,7 +578,7 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
}

void handleErrors(llvm::ArrayRef<ClangTidyError> Errors,
ClangTidyContext &Context, bool Fix,
ClangTidyContext &Context, FixBehaviour Fix,
unsigned &WarningsAsErrorsCount,
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> BaseFS) {
ErrorReporter Reporter(Context, Fix, std::move(BaseFS));
Expand Down
21 changes: 16 additions & 5 deletions clang-tools-extra/clang-tidy/ClangTidy.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,17 +79,28 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
const tooling::CompilationDatabase &Compilations,
ArrayRef<std::string> InputFiles,
llvm::IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem> BaseFS,
bool EnableCheckProfile = false,
bool ApplyAnyFix, bool EnableCheckProfile = false,
llvm::StringRef StoreCheckProfile = StringRef());

/// Controls what kind of fixes clang-tidy is allowed to apply.
enum FixBehaviour {
/// Don't try to apply any fix.
FB_NoFix,
/// Only apply fixes added to warnings.
FB_Fix,
/// Apply fixes found in notes.
FB_FixNotes
};

// FIXME: This interface will need to be significantly extended to be useful.
// FIXME: Implement confidence levels for displaying/fixing errors.
//
/// Displays the found \p Errors to the users. If \p Fix is true, \p
/// Errors containing fixes are automatically applied and reformatted. If no
/// clang-format configuration file is found, the given \P FormatStyle is used.
/// Displays the found \p Errors to the users. If \p Fix is \ref FB_Fix or \ref
/// FB_FixNotes, \p Errors containing fixes are automatically applied and
/// reformatted. If no clang-format configuration file is found, the given \P
/// FormatStyle is used.
void handleErrors(llvm::ArrayRef<ClangTidyError> Errors,
ClangTidyContext &Context, bool Fix,
ClangTidyContext &Context, FixBehaviour Fix,
unsigned &WarningsAsErrorsCount,
llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> BaseFS);

Expand Down
151 changes: 63 additions & 88 deletions clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,6 @@
namespace clang {
namespace tidy {

char MissingOptionError::ID;
char UnparseableEnumOptionError::ID;
char UnparseableIntegerOptionError::ID;

std::string MissingOptionError::message() const {
llvm::SmallString<128> Buffer({"option not found '", OptionName, "'"});
return std::string(Buffer);
}

std::string UnparseableEnumOptionError::message() const {
llvm::SmallString<256> Buffer({"invalid configuration value '", LookupValue,
"' for option '", LookupName, "'"});
if (SuggestedValue)
Buffer.append({"; did you mean '", *SuggestedValue, "'?"});
return std::string(Buffer);
}

std::string UnparseableIntegerOptionError::message() const {
llvm::SmallString<256> Buffer({"invalid configuration value '", LookupValue,
"' for option '", LookupName, "'; expected ",
(IsBoolean ? "a bool" : "an integer value")});
return std::string(Buffer);
}

ClangTidyCheck::ClangTidyCheck(StringRef CheckName, ClangTidyContext *Context)
: CheckName(CheckName), Context(Context),
Options(CheckName, Context->getOptions().CheckOptions, Context) {
Expand Down Expand Up @@ -75,12 +51,12 @@ ClangTidyCheck::OptionsView::OptionsView(
: NamePrefix(CheckName.str() + "."), CheckOptions(CheckOptions),
Context(Context) {}

llvm::Expected<std::string>
llvm::Optional<std::string>
ClangTidyCheck::OptionsView::get(StringRef LocalName) const {
const auto &Iter = CheckOptions.find(NamePrefix + LocalName.str());
if (Iter != CheckOptions.end())
return Iter->getValue().Value;
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
return None;
}

static ClangTidyOptions::OptionMap::const_iterator
Expand All @@ -97,16 +73,16 @@ findPriorityOption(const ClangTidyOptions::OptionMap &Options, StringRef NamePre
return IterGlobal;
}

llvm::Expected<std::string>
llvm::Optional<std::string>
ClangTidyCheck::OptionsView::getLocalOrGlobal(StringRef LocalName) const {
auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName);
if (Iter != CheckOptions.end())
return Iter->getValue().Value;
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
return None;
}

static llvm::Expected<bool> getAsBool(StringRef Value,
const llvm::Twine &LookupName) {
static Optional<bool> getAsBool(StringRef Value,
const llvm::Twine &LookupName) {

if (llvm::Optional<bool> Parsed = llvm::yaml::parseBool(Value))
return *Parsed;
Expand All @@ -115,46 +91,30 @@ static llvm::Expected<bool> getAsBool(StringRef Value,
long long Number;
if (!Value.getAsInteger(10, Number))
return Number != 0;
return llvm::make_error<UnparseableIntegerOptionError>(LookupName.str(),
Value.str(), true);
return None;
}

template <>
llvm::Expected<bool>
llvm::Optional<bool>
ClangTidyCheck::OptionsView::get<bool>(StringRef LocalName) const {
llvm::Expected<std::string> ValueOr = get(LocalName);
if (ValueOr)
return getAsBool(*ValueOr, NamePrefix + LocalName);
return ValueOr.takeError();
}

template <>
bool ClangTidyCheck::OptionsView::get<bool>(StringRef LocalName,
bool Default) const {
llvm::Expected<bool> ValueOr = get<bool>(LocalName);
if (ValueOr)
return *ValueOr;
reportOptionParsingError(ValueOr.takeError());
return Default;
if (llvm::Optional<std::string> ValueOr = get(LocalName)) {
if (auto Result = getAsBool(*ValueOr, NamePrefix + LocalName))
return Result;
diagnoseBadBooleanOption(NamePrefix + LocalName, *ValueOr);
}
return None;
}

template <>
llvm::Expected<bool>
llvm::Optional<bool>
ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName) const {
auto Iter = findPriorityOption(CheckOptions, NamePrefix, LocalName);
if (Iter != CheckOptions.end())
return getAsBool(Iter->getValue().Value, Iter->getKey());
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
}

template <>
bool ClangTidyCheck::OptionsView::getLocalOrGlobal<bool>(StringRef LocalName,
bool Default) const {
llvm::Expected<bool> ValueOr = getLocalOrGlobal<bool>(LocalName);
if (ValueOr)
return *ValueOr;
reportOptionParsingError(ValueOr.takeError());
return Default;
if (Iter != CheckOptions.end()) {
if (auto Result = getAsBool(Iter->getValue().Value, Iter->getKey()))
return Result;
diagnoseBadBooleanOption(Iter->getKey(), Iter->getValue().Value);
}
return None;
}

void ClangTidyCheck::OptionsView::store(ClangTidyOptions::OptionMap &Options,
Expand All @@ -176,14 +136,14 @@ void ClangTidyCheck::OptionsView::store<bool>(
store(Options, LocalName, Value ? StringRef("true") : StringRef("false"));
}

llvm::Expected<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
llvm::Optional<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
StringRef LocalName, ArrayRef<NameAndValue> Mapping, bool CheckGlobal,
bool IgnoreCase) const {
auto Iter = CheckGlobal
? findPriorityOption(CheckOptions, NamePrefix, LocalName)
: CheckOptions.find((NamePrefix + LocalName).str());
if (Iter == CheckOptions.end())
return llvm::make_error<MissingOptionError>((NamePrefix + LocalName).str());
return None;

StringRef Value = Iter->getValue().Value;
StringRef Closest;
Expand All @@ -206,39 +166,54 @@ llvm::Expected<int64_t> ClangTidyCheck::OptionsView::getEnumInt(
}
}
if (EditDistance < 3)
return llvm::make_error<UnparseableEnumOptionError>(
Iter->getKey().str(), Iter->getValue().Value, Closest.str());
return llvm::make_error<UnparseableEnumOptionError>(Iter->getKey().str(),
Iter->getValue().Value);
diagnoseBadEnumOption(Iter->getKey().str(), Iter->getValue().Value,
Closest);
else
diagnoseBadEnumOption(Iter->getKey().str(), Iter->getValue().Value);
return None;
}

void ClangTidyCheck::OptionsView::reportOptionParsingError(
llvm::Error &&Err) const {
if (auto RemainingErrors =
llvm::handleErrors(std::move(Err), [](const MissingOptionError &) {}))
Context->configurationDiag(llvm::toString(std::move(RemainingErrors)));
static constexpr llvm::StringLiteral ConfigWarning(
"invalid configuration value '%0' for option '%1'%select{|; expected a "
"bool|; expected an integer|; did you mean '%3'?}2");

void ClangTidyCheck::OptionsView::diagnoseBadBooleanOption(
const Twine &Lookup, StringRef Unparsed) const {
SmallString<64> Buffer;
Context->configurationDiag(ConfigWarning)
<< Unparsed << Lookup.toStringRef(Buffer) << 1;
}

template <>
Optional<std::string> ClangTidyCheck::OptionsView::getOptional<std::string>(
StringRef LocalName) const {
if (auto ValueOr = get(LocalName))
return *ValueOr;
else
consumeError(ValueOr.takeError());
return llvm::None;
void ClangTidyCheck::OptionsView::diagnoseBadIntegerOption(
const Twine &Lookup, StringRef Unparsed) const {
SmallString<64> Buffer;
Context->configurationDiag(ConfigWarning)
<< Unparsed << Lookup.toStringRef(Buffer) << 2;
}

template <>
Optional<std::string>
ClangTidyCheck::OptionsView::getOptionalLocalOrGlobal<std::string>(
StringRef LocalName) const {
if (auto ValueOr = getLocalOrGlobal(LocalName))
return *ValueOr;
void ClangTidyCheck::OptionsView::diagnoseBadEnumOption(
const Twine &Lookup, StringRef Unparsed, StringRef Suggestion) const {
SmallString<64> Buffer;
auto Diag = Context->configurationDiag(ConfigWarning)
<< Unparsed << Lookup.toStringRef(Buffer);
if (Suggestion.empty())
Diag << 0;
else
consumeError(ValueOr.takeError());
return llvm::None;
Diag << 3 << Suggestion;
}

std::string ClangTidyCheck::OptionsView::get(StringRef LocalName,
StringRef Default) const {
if (llvm::Optional<std::string> Val = get(LocalName))
return std::move(*Val);
return Default.str();
}
std::string
ClangTidyCheck::OptionsView::getLocalOrGlobal(StringRef LocalName,
StringRef Default) const {
if (llvm::Optional<std::string> Val = getLocalOrGlobal(LocalName))
return std::move(*Val);
return Default.str();
}
} // namespace tidy
} // namespace clang
Loading