Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW09-10) #3312

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

Closed
wants to merge 1,431 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1431 commits
Select commit Hold shift + click to select a range
233ba27
[Driver] Fix a warning about the the initialization order
kazutakahirata Feb 27, 2021
8afdacb
Add GNU attribute 'retain'
MaskRay Feb 26, 2021
47c5576
ELF: Create unique SHF_GNU_RETAIN sections for llvm.used global objects
MaskRay Feb 27, 2021
1ab2753
[Polly] Refactoring IsInnermostParallel() in ISL to take the C++ wrap…
QwertycowMoo Feb 26, 2021
14ffbb8
[lld][WebAssembly] Rename methods/members to match ELF backend. NFC.
sbc100 Feb 26, 2021
aa097ef
[WebAssembly] Fix reverse mapping in WasmEHFuncInfo
aheejin Feb 26, 2021
0b785a4
[flang][fir] Add remaining Ops. Updates to pre-existing Ops.
schweitzpgi Feb 25, 2021
a0c1cd6
[test] Add -triple x86_64 to attr-retain.c
MaskRay Feb 27, 2021
9e0d550
[clang][NFC] Clean up whitespace in ClangOpcodesEmitter output
jrtc27 Feb 27, 2021
16abaca
[MLIR][TOSA] Resubmit Tosa to Standard/SCF Lowerings (const, if, while)"
rsuderman Feb 26, 2021
e6260ad
[mlir] Simplify various pieces of code now that Identifier has access…
River707 Feb 27, 2021
ac473bb
[flang][fir] Upstream utility function valueHasFirAttribute()
schweitzpgi Feb 25, 2021
2e2ee43
[test] Add -triple x86_64 to attr-retain.cpp
MaskRay Feb 27, 2021
c88c460
[NFC] Remove tab from the source
vitalybuka Feb 27, 2021
f0e6d8d
[TableGen] Use ListSeparator (NFC)
kazutakahirata Feb 27, 2021
1d4a2f3
[Transforms/Utils] Use range-based for loops (NFC)
kazutakahirata Feb 27, 2021
df6fb4d
[llvm] Add assertions for the smart pointers with the possibility to …
Snape3058 Feb 26, 2021
a5e3d87
[clang-tidy] Handle uninstantiated templates in redundant get check
steveire Dec 29, 2020
296c6e8
[clang-tidy] Simplify shrink to fit check
steveire Dec 29, 2020
9ba557c
[clang-tidy] Simplify default member init check
steveire Dec 29, 2020
35763ba
[clang-tidy] Simplify redundant member init check
steveire Dec 29, 2020
df42f99
[clang-tidy] Simplify suspicious enum usage check
steveire Dec 29, 2020
a5feefa
[clang-tidy] Simplify redundant branch condition check
steveire Dec 29, 2020
b672870
[clang-tidy] Simplify special member functions check
steveire Dec 29, 2020
302cc84
[clang-tidy] Simplify boolean expr check
steveire Dec 29, 2020
42ce00e
[clang-tidy] Simplify suspicious memset usage check
steveire Dec 29, 2020
42e025f
[X86] Disable rematerializion for PTILELOADDV
phoebewang Feb 27, 2021
356cdab
[SimplifyCFG] avoid illegal phi with both poison and undef
rotateright Feb 27, 2021
dd6738d
[clang][Lifetimes] Fix false positive warning from BUG 49342
Xazax-hun Feb 27, 2021
ee90bb3
Store (cache) the Argument number (index in the argument list) inside…
joker-eph Feb 27, 2021
cc5c03e
[lld-macho] Properly test subtractor relocations & fix their attributes
int3 Feb 27, 2021
5413901
[lld-macho] Don't emit rebase opcodes for subtractor minuend relocs
int3 Feb 27, 2021
8da88d4
[lld-macho] Add test for a variety of arm64 relocations
int3 Feb 27, 2021
82b3da6
[lld-macho] Extract embedded addends for arm64 UNSIGNED relocations
int3 Feb 27, 2021
c81dde9
[llvm-readobj] Use ListSeparator (NFC)
kazutakahirata Feb 27, 2021
e8fa901
[llvm] Fix typos in documentation (NFC)
kazutakahirata Feb 27, 2021
6a337f8
[IR] Use range-based for loops (NFC)
kazutakahirata Feb 27, 2021
dd2f50a
[mlir] Improve test coverage for print-op-graph
jpienaar Feb 27, 2021
2da13f1
[NFC][AMDGPU] Document the AMDGPU target feature defaults
t-tye Feb 27, 2021
a6d76cf
Change the error message when `-split-input-file` is used with mlir-o…
joker-eph Feb 27, 2021
7b06786
Fix Block::eraseArguments to properly update the cached positions
joker-eph Feb 27, 2021
0145759
Fix Block::eraseArguments: keep track the first removed element while…
joker-eph Feb 27, 2021
415acb2
Revert "[clang-itdy] Simplify virtual near-miss check"
steveire Feb 27, 2021
6f9dd84
[lld-macho] Implement options -rename_section -rename_segment
gkmhub Feb 26, 2021
e0b1df9
[clang-format] Fix AlignConsecutiveDeclarations handling of pointers
darwin-x Feb 27, 2021
0223ab0
[lld-macho] check minimum header length when opening linkable input f…
gkmhub Feb 27, 2021
c6765a4
[X86] Add back SSE check prefix for vec-umulo.ll. Regenerate vec-smul…
topperc Feb 27, 2021
5867c18
[mlir][linalg] Generate additional interfaces for named ops.
stellaraccident Feb 26, 2021
2ceedc3
[mlir][linalg] Add symbolic type conversion to linalg named ops.
stellaraccident Feb 27, 2021
769cd20
NFC: Adds labels to a linalg test and extend a missing case.
stellaraccident Feb 27, 2021
993f4d8
[X86] Fix a couple comments that said LHS where they meant RHS. NFC
topperc Feb 28, 2021
6afaea6
[mlir][sparse] fixed inaccury in maintaining universal index
aartbik Feb 26, 2021
b077d82
[Attributor] Conditinoally delete fns
wsmoses Feb 22, 2021
ed8f29d
[Debug-Info][NFC] use emitDwarfUnitLength for debug line section
Feb 28, 2021
b3c2821
[X86] Add avx512f command lines to vec_smulo and vec_umulo.
topperc Feb 28, 2021
7fb4001
[SampleFDO] Add a cutoff flag to control how many symbols will be inc…
wmi-11 Feb 28, 2021
0fe6481
[ARM] VECTOR_REG_CAST undef -> undef
davemgreen Feb 28, 2021
ab3ea27
[X86][AVX] Reuse existing VBROADCAST(x) for SCALAR_TO_VECTOR(x)
RKSimon Feb 28, 2021
860e862
[lld/mac] Simplify encodeDylibOrdinal() a bit
nico Feb 27, 2021
91ebc4e
[ARM] VMOVN undef folding
davemgreen Feb 28, 2021
9502061
[InstCombine] avoid infinite loop in demanded bits for select
rotateright Feb 28, 2021
25e60f6
AMDGPU/GlobalISel: Add subtarget to a test
arsenm Feb 27, 2021
9182117
[lldb/Interpreter][NFC] Remove more deleted const char* overloads
tkrasnukha Feb 18, 2021
54d03a4
[lldb/Interpreter][NFC] Replace default constructors/destructors bodi…
tkrasnukha Feb 18, 2021
8cdcd41
[lldb/Interpreter][NFC] Remove explicit default initialization of mem…
tkrasnukha Feb 19, 2021
b2faf30
[lldb][NFC] Make OptionValueArgs::GetArgs constant
tkrasnukha Feb 19, 2021
ef447fe
[lldb] OptionValueProperties::Get[Set]PropertyAtIndexAsArgs should ha…
tkrasnukha Feb 19, 2021
f0f183e
[lldb/Interpreter] Fix deep copying for OptionValue classes
tkrasnukha Feb 19, 2021
1d6a6f3
[lldb/Target] Remove outdated code
tkrasnukha Feb 19, 2021
ca5247b
[DAGCombiner] Don't skip no overflow check on UMULO if the first comp…
topperc Feb 28, 2021
d639120
[llvm] Use set_is_subset (NFC)
kazutakahirata Feb 28, 2021
87360d6
[TableGen] Use ListSeparator (NFC)
kazutakahirata Feb 28, 2021
b4bed1c
[IR] Use range-based for loops (NFC)
kazutakahirata Feb 28, 2021
5de09ef
[DAGCombiner][X86] Don't peek through ANDs on the shift amount in mat…
topperc Feb 28, 2021
7f83ce1
. -- merge from main:
dm-vodopyanov Feb 28, 2021
e345c52
Merge from 'sycl' to 'sycl-web' (#2)
Feb 28, 2021
317443b
Merge from 'main' to 'sycl-web' (#5)
dm-vodopyanov Feb 28, 2021
79db96c
Merge from 'main' to 'sycl-web' (#1)
dm-vodopyanov Feb 28, 2021
f510dc0
Fix -Wunused-function error in checkMaxWorkSizeAttrExpr
dm-vodopyanov Feb 28, 2021
40cee38
Add tests which include brace initialization
steveire Mar 1, 2021
d49270b
[lld][ELF] Removing redundant cast. NFC.
sbc100 Mar 1, 2021
06c5119
[Statepoint lowering] Require spill of deopt value in case its type i…
Feb 26, 2021
5419b67
[SimplifyCFG] Update FoldTwoEntryPHINode to handle and/or of select a…
aqjune Mar 1, 2021
dc93b11
[profile] Delete zero-size dummy sections
MaskRay Mar 1, 2021
2892fcc
[NFC] Factor out IV detector function for further reuse
xortator Mar 1, 2021
fdbad5e
[NFC] Whitespace fix
xortator Mar 1, 2021
8d835f4
[NFC] Introduce function getIVStep for further reuse
xortator Mar 1, 2021
9fac849
[NFC] Detect IV increment expressed as uadd_with_overflow and usub_wi…
xortator Mar 1, 2021
6a34727
Fix build failure: Options.td:2450:171: error: too many template argu…
dm-vodopyanov Mar 1, 2021
588db1c
[clangd] Use flags from open files when opening headers they include
sam-mccall Feb 24, 2021
80e8efd
Use a fast path when initializing LineOffsetMapping
Feb 23, 2021
f8c34b6
Merge from 'main' to 'sycl-web' (#21)
dm-vodopyanov Mar 1, 2021
64c4130
[DAG] visitVECTOR_SHUFFLE - move shuffle canonicalization/merges all …
RKSimon Mar 1, 2021
a549cf8
Merge from 'main' to 'sycl-web' (#3)
dm-vodopyanov Mar 1, 2021
11ef785
[libc++] [docs] [C++2b] Update status page with issues (and forgotten…
mkurdej Mar 1, 2021
965f24d
[Driver] Don't litter the source directory in test
d0k Mar 1, 2021
99c24f7
[lldb/Interpreter] Pacify -Wnon-virtual-dtor
d0k Mar 1, 2021
65fb706
[Statepoint Lowering] Consider dead deopt gc values together with oth…
Feb 25, 2021
6718fda
[CodeGen] Fix issues with subvector intrinsic index types
frasercrmck Feb 25, 2021
00e6513
Revert "[flang] Detect circularly defined interfaces of procedures"
banach-space Mar 1, 2021
fc7f765
Merge from 'main' to 'sycl-web' (#80)
dm-vodopyanov Mar 1, 2021
9dd83f5
[DAG] visitVECTOR_SHUFFLE - attempt to match commuted shuffles with M…
RKSimon Mar 1, 2021
53dacb7
[LV] Generate RT checks up-front and remove them if required.
fhahn Mar 1, 2021
1b04bdc
[SEH] capture 'this'
ogoffart Feb 24, 2021
bd4d421
[RISCV] Support EXTRACT_SUBVECTOR on vector masks
frasercrmck Feb 25, 2021
4ea734e
[RISCV] Unify scalable- and fixed-vector INSERT_SUBVECTOR lowering
frasercrmck Feb 26, 2021
e80ca3a
[RISCV] Fix INSERT/EXTRACT_SUBVECTOR on fractional LMUL types
frasercrmck Feb 26, 2021
3fea922
[RISCV] Support INSERT_SUBVECTOR on vector masks
frasercrmck Feb 26, 2021
d84440e
Use the default seed value for djb hash for StringMap
Feb 24, 2021
7d6e4ed
[AArch64] Adjust dot produce tests. NFC
davemgreen Mar 1, 2021
7abf7dd
[AArch64] Add combine for add(udot(0, x, y), z) -> udot(z, x, y).
davemgreen Mar 1, 2021
7b319df
Revert "Use the default seed value for djb hash for StringMap"
Mar 1, 2021
2f0b4db
[mlir] Add convenience grouping for tensor type inference
jpienaar Mar 1, 2021
f870c55
[AArch64] NFC: Cleanup some SVE cost-model tests.
sdesmalen-arm Mar 1, 2021
b4bfe29
AArch64/GlobalISel: Fix using wrong calling convention for calls
arsenm Feb 28, 2021
6c260d3
GlobalISel: Move splitToValueTypes to generic code
arsenm Feb 28, 2021
361cfdf
GlobalISel: Verify G_CONCAT_VECTORS has at least 2 sources
arsenm Feb 28, 2021
48ca5d3
[AMDGPU] Simplify SITargetLowering::isSDNodeSourceOfDivergence. NFC.
jayfoad Mar 1, 2021
75ef78f
[Flang][OpenMP] Add semantic checks for OpenMP clauses.
praveen-g-ctt Jan 30, 2021
796a60d
[AMDGPU] New intrinsic void llvm.amdgcn.s.sethalt(i32)
jayfoad Mar 1, 2021
925093d
[X86] Fold shuffle(not(x),undef) -> not(shuffle(x,undef))
RKSimon Mar 1, 2021
7ec7876
[lldb] Fix handling of `DW_AT_decl_file` according to D91014
werat Feb 16, 2021
c41372c
[lldb] Rename NativeRegisterContext{Watchpoint => DBReg}_x86
mgorny Feb 22, 2021
15f067f
[lldb] [test] Workaround symlink-related test failures
mgorny Feb 22, 2021
95a1305
[lldb] [test] Skip AVX lldb-server test on non-x86 architectures
mgorny Feb 25, 2021
5fe0cab
[PowerPC] Removing sqrtd2 and sqrtf4 from list of vectorizable functi…
msdataei Mar 1, 2021
b62928b
[TableGen] Avoid repeated TreePredicateFn::getCodeToRunOnSDNode() cal…
RKSimon Mar 1, 2021
2632ba6
[WebAssembly] call_indirect issues table number relocs
wingo Feb 12, 2021
a6c81d3
[VPlan] Remove recipes from back to front.
fhahn Mar 1, 2021
83feaa3
[clang-cl] make -f(no-)ident a CoreOption
nico Mar 1, 2021
21280d3
[clang] SimpleMFlag helper in Options.td
rampitec Feb 19, 2021
60ba1fe
[libc++/abi] Allow running back-deployment testing against libc++abi
ldionne Jul 8, 2020
c89d9d8
[TTI] Consider select form of and/or i1 as having arithmetic cost
aqjune Feb 24, 2021
e913a75
Fix a warning about named return value not being moved-from.
dwblaikie Mar 1, 2021
776be16
Fix virtual-dtor warning a different way, since a virtual dtor is not…
dwblaikie Mar 1, 2021
f083f65
[lld-macho][nfc] Remove TODO regarding addends
int3 Mar 1, 2021
415c0cd
[lld-macho] Switch default to new Darwin backend
int3 Mar 1, 2021
08f0764
Remove use of tuple for multiresult type storage
jpienaar Mar 1, 2021
216dee9
[AMDGPU] Add IntrWillReturn to recently added intrinsics
jayfoad Mar 1, 2021
5a2141e
[clangd] Improve document symbols support for Objective-C categories …
DavidGoldman Feb 12, 2021
e745f7c
[LegalizeTypes] Improve ExpandIntRes_XMULO codegen.
topperc Mar 1, 2021
82289aa
[clang-tidy] Remove OptionError
njames93 Mar 1, 2021
dcfec27
[WebAssembly] Handle empty cleanuppads when adding catch_all
aheejin Mar 1, 2021
040c1b4
Move EntryExitInstrumentation pass location
aeubanks Feb 27, 2021
3f40dbb
[PowerPC][AIX] Enable passing vectors in variadic functions.
mandlebug Mar 1, 2021
52b8e10
[libclang] Remove LIBCLANG_INCLUDE_CLANG_TOOLS_EXTRA
nico Mar 1, 2021
283db5f
BPF: fix enum value 0 issue for __builtin_preserve_enum_value()
yonghong-song Mar 1, 2021
87e05eb
Revert "Remove use of tuple for multiresult type storage"
jpienaar Mar 1, 2021
8adfb38
[clang-tidy] Simplify diagnostics for UniqueptrResetRelease check
njames93 Mar 1, 2021
6fb6bdf
Fix the value_type of defusechain_iterator to match its operator*()
nlguillemot Feb 26, 2021
18adbb8
[test/profile] Add test coverage for __llvm_profile_write_buffer_inte…
vedantk Mar 1, 2021
8f9f7d0
[clang-tidy] Tweak misc-static-assert fix in c++17
njames93 Mar 1, 2021
71ef543
[darwin] switch blocking mutex from osspinlock to os_unfair_lock
aralisza Feb 26, 2021
d942a82
Make -f[no-]split-dwarf-inlining CC1 default align with driver defaul…
MaskRay Mar 1, 2021
74c883f
[libcxx] [test] Use the native path types in path.compare
mstorsjo Feb 26, 2021
ea7f211
[mlir] Add polynomial approximation for math::ExpOp
asaadaldien Feb 27, 2021
8f7dc99
[test/profile] Pass -w to suppress suggestion to use fopen_s
vedantk Mar 1, 2021
2fcc3f4
[test/profile] Disable instrprof-write-buffer-internal.c on Windows
vedantk Mar 1, 2021
087bc20
[MLIR][TOSA] Lower tosa.transpose to linalg.generic
rsuderman Mar 1, 2021
015d78a
[lldb] Remove XPCServices symlinking
smeenai Mar 1, 2021
922de25
[lld-macho] Partial revert of D95204
int3 Mar 1, 2021
011e7bc
Revert "[lldb] Fix handling of `DW_AT_decl_file` according to D91014"
jankratochvil Mar 1, 2021
a0f4526
[WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly
aardappel Feb 26, 2021
bcd504d
[x86] add tests for select-of-bools; NFC
rotateright Mar 1, 2021
fd64580
[AArch64] add tests for select-of-bools; NFC
rotateright Mar 1, 2021
bacacb9
[lld/mac] Prefix errors with "ld64.lld" instead of just "lld"
nico Mar 1, 2021
ab45289
[lld/mac] Make -v print version and search paths in additon to linkin…
nico Mar 1, 2021
103ad3f
[lldb/Commands] Fix short option collision for `process launch`
medismailben Jan 20, 2021
d62a53a
[lldb/Commands] Add command options for ScriptedProcess to ProcessLaunch
medismailben Feb 16, 2021
182f0d1
[lldb/Interpreter] Add ScriptInterpreter Wrapper for ScriptedProcess
medismailben Feb 18, 2021
2cff3de
[lldb/bindings] Add Python ScriptedProcess base class to lldb module
medismailben Feb 19, 2021
4679676
[lldb/Plugins] Add ScriptedProcess Process Plugin
medismailben Mar 1, 2021
5a451a4
[flang] Runtime: SCAN and VERIFY
klausler Feb 26, 2021
2e803ec
[lld/mac on non-mac] fix test/MachO/search-paths.test after ab45289d2…
nico Mar 1, 2021
3e6b6ce
[lld/mac] Use libSystem.dylib instead of libSystem.B.dylib in tests
nico Mar 1, 2021
8174f33
[lld/mac] Add support for -flat_namespace
nico Mar 1, 2021
418b4a7
[clang-format] Respect spaces in line comment section...
HazardyKnusperkeks Feb 27, 2021
6ca5281
[clang-format][PR47290] Add ShortNamespaceLines format option
kuzkry Mar 1, 2021
0658fc6
[lld/mac] Implement the missing bits of -undefined
nico Feb 28, 2021
564f5b0
Revert "[c++20] Mark class type NTTPs as done and start defining the …
zygoloid Mar 1, 2021
154c47d
[SDAG] add helper for select->logic folds; NFC
rotateright Mar 1, 2021
5cf2a37
[HIP] Emit kernel symbol
yxsamliu Feb 8, 2021
5cb4175
[SystemZ] Introduce distinction between the jg/jl family of mnemonics…
Mar 1, 2021
5a9c349
[lldb/Plugins] Fix SWIGPythonBridge build issue
medismailben Mar 1, 2021
04c3040
[InstrProfiling] Place __llvm_prf_vnodes and __llvm_prf_names in llvm…
MaskRay Mar 1, 2021
53d3038
Fix build failure due to dump()
yxsamliu Mar 1, 2021
54e2876
[ARM] Update and add extra WLS testing. NFC
davemgreen Mar 1, 2021
801067f
[mlir][lldb] Fix several gcc warnings in mlir and lldb
sstamenova Mar 1, 2021
8bfc141
[clang-tidy] Added option to uniqueptr delete release check
njames93 Mar 1, 2021
b783aa8
[AArch64] Fix emitting an AdrpAddLdr LOH when there's a potential clo…
aemerson Feb 26, 2021
e880f8b
[ARM] Rename pass to MVETPAndVPTOptimisationsPass
davemgreen Mar 1, 2021
32e0645
[CUDA] Remove `noreturn` attribute from __assertfail().
Artem-B Mar 1, 2021
3e8223b
[AArch64][GlobalISel] NFC: Remove dead G_BUILD_VECTOR legalization rule
Mar 1, 2021
0131498
GlobalISel: Remove dead code
arsenm Mar 1, 2021
abbe9e2
[clang-tidy] Added command line option `fix-notes`
njames93 Mar 1, 2021
9ecbb34
Fix test cxx-call-kernel.cpp
yxsamliu Mar 1, 2021
c35761d
[GlobalISel] Bail on G_PHI narrowing of odd types (PR48188)
nikic Mar 1, 2021
6dbea3e
[lldb] Add scoped timer to HostInfoMacOSX::GetXcodeSDKPath
JDevlieghere Mar 1, 2021
a9e68db
[mlir] Add canonicaliations for subtensor_insert operation.
Mar 1, 2021
36254f1
[lldb] Revert ScriptedProcess patches
medismailben Mar 1, 2021
2b5f3f4
[Sanitizer][NFC] Fix typo
luismarques Mar 1, 2021
5de2d18
[Diagnose] Unify MCContext and LLVMContext diagnosing
Feb 23, 2021
1490f6b
Fix build 5de2d189e6ad4
Mar 2, 2021
74ca5c2
[lld][WebAssembly] Convert lld/test/wasm/data-layout.ll to asm. NFC.
sbc100 Mar 1, 2021
7d09e1d
[lld][WebAssembly] Minor refactor in preparation for SHF_STRINGS supp…
sbc100 Feb 27, 2021
1039282
Fix memleak for 5de2d189e6ad4
Mar 2, 2021
b17d464
[libunwind] This adds support in libunwind for rv32 hard float
kamleshbhalui Mar 2, 2021
c351050
[ARM] support symbolic expressions as branch target in b.w
jcai19 Mar 1, 2021
38a34e2
[PowerPC] Use modulo arithmetic for vec_extract in altivec.h
nemanjai Mar 2, 2021
93c5e6b
[flang] Detect circularly defined interfaces of procedures
psteinfeld Mar 2, 2021
1ff9361
[PowerPC] Add missing overloads of vec_promote to altivec.h
nemanjai Mar 2, 2021
ea1a1eb
[NFC] Use std::swap in LoopInterchange
TaWeiTu Mar 2, 2021
7c724a8
[AMDGPU] Do not check max-bb for a single block callee
rampitec Mar 2, 2021
d36a15d
[mlir][linalg] Memoize indexing map generation.
stellaraccident Feb 26, 2021
6d2fd3d
[mlir][linalg] Replace monomorphic contration ops with polymorphic va…
stellaraccident Mar 2, 2021
9e2579d
Fix infinite recursion during IR emission if a constant-initialized l…
zygoloid Mar 1, 2021
4fd3347
[lldb] Fix typos in documentation (NFC)
kazutakahirata Mar 2, 2021
3a80088
[readobj] Use ListSeparator (NFC)
kazutakahirata Mar 2, 2021
4444b34
[IR] Use range-based for loops (NFC)
kazutakahirata Mar 2, 2021
37eca08
[mlir][NFC] Rename `MemRefType::getMemorySpace` to `getMemorySpaceAsInt`
Feb 25, 2021
d6ba8ec
[ARM] Add handling of t2LDRSB/t2LDRSH in Constant Island Pass
davemgreen Mar 2, 2021
14be3f0
[debuginfo-tests] Add some optnone tests
OCHyams Mar 2, 2021
438b5bb
[clangd] Use ML Code completion ranking as default.
usx95 Feb 1, 2021
bad8e57
Fix DecisionForestBenchmark.cpp compile errors
usx95 Mar 2, 2021
1e34cb0
[AArch64] Mark test depending on -debug as requiring asserts
d0k Mar 2, 2021
365f5e2
[JumpThreading] Fix tryToUnfoldSelectInCurrBB to treat and/or and its…
aqjune Mar 2, 2021
3fa0e79
[OpenCL] Use StringMap instead of std::map
svenvh Mar 2, 2021
c8252c5
Merge from 'sycl' to 'sycl-web'
Mar 2, 2021
2e412c5
Merge from 'main' to 'sycl-web' (#2)
Mar 2, 2021
8d1aefc
Merge remote-tracking branch 'otcshare_llvm/sycl-web' into llvmspirv_…
vmaksimo Mar 3, 2021
0e47bee
Accept intrinsic namings into -spirv-allow-unknown-intrinsics (#912)
Feb 19, 2021
32ca52e
Disable Travis CI on master branch
AlexeySachkov Feb 19, 2021
7cfb275
Remove Travis CI badge
AlexeySachkov Feb 19, 2021
8fd87e2
Minimize IR for atomic float tests (#917)
Feb 24, 2021
4e70db8
Add support for constant integers of any bitwidth
mlychkov Feb 4, 2021
b434fa7
Fix -Wignored-qualifiers warnings
svenvh Feb 25, 2021
c833aae
Implement read/write_mem_fence
gfxstrand Feb 24, 2021
f21d17c
Update DebugInfo test after LLVM change
svenvh Mar 2, 2021
1d356c0
Encode debug info producer in SPIR-V (#924)
KornevNikita Mar 3, 2021
1aae65f
Update ArbitraryFloatCastTo/FromInt processing
mlychkov Feb 26, 2021
1b329df
Align SYCL options with d8a8e5d - replace OptInFFlag with simpler Boo…
vmaksimo Mar 5, 2021
8274750
Restore code lost after incorrect merge conflict resolution
vmaksimo Mar 10, 2021
7c08291
Fix sycl-offload-intelfpga to align with clang-offload-wrapper changes
vmaksimo Mar 10, 2021
cc7a605
Merge remote-tracking branch 'intel_llvm/sycl' into llvmspirv_pulldown
vmaksimo Mar 10, 2021
bf5639a
Fix CUDA build after D97257
mlychkov Mar 11, 2021
e294673
Fix CUDA lit tests after pulldown from llorg
mlychkov Mar 11, 2021
b7bb20a
[OpenCL] Fix CUDA build after D96515
mlychkov Mar 12, 2021
5bc9224
Merge branch 'sycl' into llvmspirv_pulldown
mlychkov Mar 22, 2021
91914c6
Fix build after D97375
mlychkov Mar 22, 2021
76aefd0
[OpenCL] Mark SemaOpenCL/func.cl test as XFAIL
mlychkov Mar 24, 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"]
}
18 changes: 10 additions & 8 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 @@ -500,7 +501,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 +529,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 +576,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