Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW06) #3130

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 627 commits into from
Feb 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
627 commits
Select commit Hold shift + click to select a range
7c164a9
[SVE] Fix some logical arithmetic tests
david-arm Jan 26, 2021
25f80e1
[mlir] Async: add a separate pass to lower from async to async.coro a…
ezhulenev Jan 26, 2021
6b85739
Merge from 'main' to 'sycl-web' (#1)
dm-vodopyanov Jan 26, 2021
745064e
[AMDGPU][MC] Refactored exp tgt handling
dpreobra Jan 26, 2021
988cc0a
[LLD][ELF][AArch64] Add support for R_AARCH64_LD64_GOTPAGE_LO15 reloc…
zatrazz Jan 13, 2021
91bd115
[mlir] drop unused statics
ftynse Jan 26, 2021
4a63e53
[LIBOMPTARGET]FIX define declaration, NFC
alexey-bataev Jan 26, 2021
b3e0135
[JITLink][ELF/x86-64] When building PLT stub, use -4 offset for PCRel32.
lhames Jan 26, 2021
476abdb
[ORC] Fix debug logging message.
lhames Jan 26, 2021
028d7a3
Remove requirement for -maltivec to be used when using -mabi=vec-exta…
ZarkoT Jan 26, 2021
e878589
Revert "[flang] Search for #include "file" in right directory"
banach-space Jan 26, 2021
4dc110a
[ORC] Attempt to auto-claim responsibility for weak defs in ObjectLin…
lhames Jan 26, 2021
35b3989
[Passes] Run peeling as part of simple/full loop unrolling.
fhahn Jan 26, 2021
608ac62
[AMDGPU] Fix use of HasModifiers in VopProfile
mbrkusanin Jan 26, 2021
b36370d
[AMDGPU] Add IntrWillReturn to three intrinsics
Flakebi Jan 26, 2021
b9417c3
[CostModel] Handle CTLZ and CCTZ in getTypeBasedIntrinsicInstrCost
sdesmalen-arm Jan 26, 2021
110837f
Fix signed/unsigned comparison warning. NFCI.
RKSimon Jan 26, 2021
b2b2aa1
[LoopUnswitch] Add some additional tests.
fhahn Jan 22, 2021
1272f16
[LoopUnswitch] Avoid partially unswitching too aggressively.
fhahn Jan 22, 2021
551a69e
AMDGPU: Clear IsSSA property in SIFormMemoryClauses
arsenm Jan 18, 2021
94cf89d
[libomptarget][NFC] Fixed obsolete function names in comments
Jan 26, 2021
ee3da89
[AMDGPU] Fix null-dereference static analysis warnings. NFCI.
RKSimon Jan 26, 2021
feb0b4e
[Sema] diagnoseEquivalentInternalLinkageDeclarations - assert for non…
RKSimon Jan 26, 2021
8096644
[mlir][nfc] Move `getInnermostParallelLoops` to SCF/Transforms/Utils.h.
pifon2a Jan 26, 2021
0c0d009
[NFC] Disallow unused prefixes under clang/test/CodeGen
mtrofin Jan 26, 2021
f82cff3
[AMDGPU] HSAMD::fromString - replace std::string arg with StringRef. …
RKSimon Jan 26, 2021
879c12d
Fix null dereference static analysis warning. NFCI.
RKSimon Jan 26, 2021
09b1c56
[LoopUtils] do not initialize Cmp predicate unnecessarily; NFC
rotateright Jan 26, 2021
00773ef
[LoopVectorize] add test for fmin/fmax FMF propagation; NFC
rotateright Jan 26, 2021
b208e5b
[mlir] Add Python bindings for IntegerSet
ftynse Jan 25, 2021
9190f17
[clangd] Add std::size_t to StdSymbol mapping
kadircet Jan 26, 2021
90b8ae0
[lldb] Remove unused ThreadPlanStack::GetStackOfKind (NFC)
kastiglione Jan 26, 2021
7c03f7d
[OpenMP][deviceRTLs] Build the deviceRTLs with OpenMP instead of targ…
shiltian Jan 26, 2021
92d1195
AMDGPU: Add assertion to determineCalleeSaves
arsenm Jan 21, 2021
5f9707b
AMDGPU: Fix redundant FP spilling/assert in some functions
arsenm Sep 21, 2020
8262cd8
[mlir] Set CUDA/ROCm context before creating resources.
chsigg Jan 26, 2021
48e09fa
[lldb][NFC] Another attempt to fix GCC 5.x compilation
Teemperor Jan 26, 2021
302432f
Reland "[lit] Use os.cpu_count() to cleanup TODO"
Jan 15, 2021
1d6df1f
[mlir] sret and byval now require a type argument when constructed.
schweitzpgi Jan 26, 2021
f9d7f77
[RISCV] Have customLegalizeToWOp truncate to the original type instea…
topperc Jan 26, 2021
dad55c2
[ARM] [ELF] Fix ARMMaterializeGV for Indirect calls
zatrazz Jan 26, 2021
d92413a
[clangd] Selection handles CXXBaseSpecifier
njames93 Jan 26, 2021
7730599
[clangd] FindTarget resolves base specifier
njames93 Jan 26, 2021
32cc556
[libomptarget][devicertl][amdgpu] Fix build, variable renaming error
JonChesterfield Jan 26, 2021
4edf35f
Support for instrumenting only selected files or functions
petrhosek Jan 15, 2021
96f09aa
[gn build] Port 4edf35f11a9e
llvmgnsyncbot Jan 26, 2021
683719b
[OpenMP][Libomptarget] Introduce changes to support remote plugin
atmnpatel Jan 26, 2021
2291bd1
[AMDGPU] Update subtarget features for new target ID support
kerbowa Nov 30, 2020
31d375f
CGDebugInfo: Drop Loc.isInvalid() special case from getLineNumber
MaskRay Jan 26, 2021
189f311
CGDebugInfo CreatedLimitedType: Drop file/line for RecordType with in…
MaskRay Jan 26, 2021
d2abd62
[flang][openacc][NFC] Organize clause validity tests by directive
clementval Jan 26, 2021
7636b1f
Make SBDebugger::CreateTargetWithFileAndArch work with lldb::LLDB_DEF…
jimingham Jan 26, 2021
1e634f3
Revert "Support for instrumenting only selected files or functions"
petrhosek Jan 26, 2021
34b60d8
Add -fbinutils-version= to gate ELF features on the specified binutil…
MaskRay Jan 26, 2021
4210b87
[libc++] Fix oss-fuzz build
ldionne Jan 26, 2021
15313f6
[llvm-elfabi] Support ELF file that lacks .gnu.hash section
zeroomega Jan 26, 2021
ec8f4a3
[OpenMP][Libomptarget] Introduce Remote Offloading Plugin
atmnpatel Jan 23, 2021
fdeffd6
[libomptarget][cuda] Only run tests when sure there is cuda available
JonChesterfield Jan 26, 2021
7baff00
[libomptarget][cuda] Gracefully handle missing cuda library
JonChesterfield Jan 26, 2021
79ce46e
[llvm-elfabi] Fix test after D95140
MaskRay Jan 26, 2021
da9a354
[gn build] Port 1e634f3952aa
llvmgnsyncbot Jan 26, 2021
810572c
[OpenMP][Libomptarget] Fix cmake error on remote plugin
atmnpatel Jan 26, 2021
cbed865
[GlobalISel][IRTranslator] Ignore the llvm.experimental.noalias.scope…
aemerson Jan 26, 2021
63273fc
[NFC][lit] Cleanup code using string interpolation
Jan 26, 2021
74784a5
[X86] In shrinkAndImmediate, place the new constant into the topologi…
topperc Jan 26, 2021
c8df2d1
[NFC] Show instcombine powi simplifications drop FMF
Jan 26, 2021
716b9dd
[InstCombine] Preserve FMF for powi simplifications.
Jan 26, 2021
5f1d4d4
[libomptarget][NFC] Use portable printf format specifiers.
Jan 26, 2021
a9bd3d3
[NewPM] Add ExtraVectorizerPasses support
bjope Jan 22, 2021
8cef455
[ARM] Fix STRT/STRHT/STRBT input/output operands.
chaosdefinition Jan 26, 2021
8afabff
Frontend: Fix memory leak in CompilerInstance::setVerboseOutputStream
dexonsmith Nov 21, 2020
0554541
Salvage debug info for function arguments in coro-split funclets.
adrian-prantl Jan 26, 2021
f36007e
[GlobalISel] Implement computeKnownBits for G_SEXT_INREG
Jan 26, 2021
2f72147
Frontend: Simplify handling of non-seeking streams in CompilerInstanc…
dexonsmith Dec 15, 2020
4d28f0a
[llc] Add reportError helper and canonicalize error messages
MaskRay Jan 26, 2021
ad7aaa4
Frontend: Fix layering between create{,Default}OutputFile, NFC
dexonsmith Nov 21, 2020
3caa2d3
[libomptarget][NFC] Avoid gcc 5/6 issue with lambda captures.
Jan 26, 2021
f3c9687
llvm-lib: Pull error printing code out of two functions
nico Jan 27, 2021
fae16fc
Disable rosegment for old Android versions.
DanAlbert Jan 27, 2021
4dcb5c4
[gn build] restore build command removed in 9595a7ff55b6 for platform…
nico Jan 27, 2021
65e2fa5
[gn build] fix get.py change
nico Jan 27, 2021
6536550
[libomptarget][cuda] Handle missing _v2 symbols gracefully
JonChesterfield Jan 27, 2021
927af4b
[OpenMP] Modify OMP_ALLOCATOR environment variable
nawrinsu Nov 2, 2020
fc31920
[libc++] Give `MoveOnly` all six comparison operators, not just == an…
Quuxplusone Jan 25, 2021
bb9eb19
Support for instrumenting only selected files or functions
petrhosek Jan 15, 2021
e1d6178
[RISCV] Add rv64 run lines to rv32 MC layer tests for B extension
topperc Jan 27, 2021
e7535f8
[OpenMP][NVPTX] Drop dependence on CUDA to build NVPTX `deviceRTLs`
shiltian Jan 27, 2021
1458987
[gn build] Port bb9eb1982980
llvmgnsyncbot Jan 27, 2021
e4871c1
Rename clang/test/Frontend/output-{failures,paths}.c, NFC
dexonsmith Jan 27, 2021
8e464dd
Frontend: Use early returns in CompilerInstance::clearOutputFiles, NFC
dexonsmith Jan 27, 2021
5369517
Bump the trunk major version to 13
tstellar Jan 27, 2021
494ac2a
[TableGen] Add isContradictoryImpl implementation to CheckCondCodeMat…
topperc Jan 27, 2021
6bde085
[AMDGPU] Forward-declare TargetRegisterClass (NFC)
kazutakahirata Jan 27, 2021
657f5b9
[MemorySSA] Use ListSeparator (NFC)
kazutakahirata Jan 27, 2021
48bdd67
[llvm-objdump] Use append_range (NFC)
kazutakahirata Jan 27, 2021
7c15e0f
[mlir][Linalg] Add canonicalization for init_tensor -> subtensor op.
Jan 27, 2021
b6d87e6
[clang][cli] Port LangOpts to marshalling system, pt.1
jansvoboda11 Jan 27, 2021
e3713f1
[clang-format] Avoid considering include directive as a template closer.
mkurdej Jan 27, 2021
f967673
Fix an error about implicit fallthrough during self build - new tag f…
bader Jan 27, 2021
5133673
[mlir] Extend semantic of OffsetSizeAndStrideOpInterface.
nicolasvasilache Jan 27, 2021
dfb558b
[clang][cli] Port LangOpts to marshalling system, pt.2
jansvoboda11 Jan 27, 2021
498c4b6
[OpenMP] libomp: fix build by clang-cl with vs2019
AndreyChurbanov Jan 27, 2021
7cd4206
[libc][NFC] Use a end of list marker for cpu feature detection.
Jan 27, 2021
79c7273
[clang] Fix signedness in vector bitcast evaluation
svenvh Jan 27, 2021
40f6599
[AArch64][GlobalISel] Make G_SADDE and G_SSUBE legal
porglezomp Jan 27, 2021
cde1f54
[Test][AArch64] Use named vregs in overflow legalization tests. NFC
porglezomp Jan 27, 2021
9e2768a
[ARM] Add neon FP16 scalar_to_vector patterns.
davemgreen Jan 27, 2021
fd5e937
[AMDGPU] Write "GFX6-GFX9" instead of "GFX6-9" in docs
jayfoad Jan 26, 2021
da83b86
Fix "not all control paths return a value" warning. NFCI.
RKSimon Jan 27, 2021
a8f51ea
[flang][driver] Report prescanning diags during syntax-only parsing
Jan 27, 2021
9a75a80
[RISCV] Fix a codegen crash in getSetCCResultType
frasercrmck Jan 26, 2021
0175cd0
[AArch64] Add vector saturating add intrinsic costs
davemgreen Jan 27, 2021
48ecba3
[MachineLICM][MachineSink] Move SinkIntoLoop to MachineSink.
Jan 8, 2021
30d9ca1
[clang][AST] Encapsulate DeclarationNameLoc, NFCI
miyuki Jan 27, 2021
00fcc03
[SCEV] Fix incorrect loop exit count analysis.
cmd120 Jan 26, 2021
a5d85cb
clang-cl: Add /winsdkdir and /winsdkversion flags
nico Jan 26, 2021
3e206a5
[analyzer] NFC: Introduce reusable bug category for "C++ move semanti…
haoNoQ Jan 19, 2021
d7cc3a0
[OpenCL][Docs] Moved info from UsersManual into OpenCLSupport.
Jan 27, 2021
ef0dcb5
[DWARF] Create subprogram's DIE in DISubprogram's unit
jmorse Jan 27, 2021
e2a1a71
[lldb] Add move_iterator to supported template list
Teemperor Jan 27, 2021
f63f28e
[mlir:async] Fix deadlock in async runtime await-and-execute functions
ezhulenev Jan 27, 2021
88b8c1f
[LoopUnswitch] Add test cases not partially unswitched due to cost.
fhahn Jan 27, 2021
9ad94c1
[clang][cli] Port OpenMP-related LangOpts to marshalling system
jansvoboda11 Jan 27, 2021
05127fb
[clang][cli] Parse HeaderSearch options separately
jansvoboda11 Jan 27, 2021
d0e8a9e
[clang][cli] Generate HeaderSearch options separately
jansvoboda11 Jan 27, 2021
412ac0e
clang-cl: Prefer /vctoolsdir, /winsdkdir over LIB for link invocations
nico Jan 27, 2021
c0fc38c
Try to fix cl-options.c on bots were the default triple is non-x86 no…
nico Jan 27, 2021
12de8e1
[clangd] Work around GCC bug 66735
sam-mccall Jan 27, 2021
bb40e67
[OpenMP] Fix building using LLVM_ENABLE_RUNTIMES
ggeorgakoudis Jan 25, 2021
c5394c4
Merge from 'sycl' to 'sycl-web'
Jan 27, 2021
1e59c1a
[OpenMP][Libomptarget] Fix check-libomptarget
ggeorgakoudis Jan 25, 2021
af20232
[clangd] Treat "null" optional fields as missing
kadircet Jan 22, 2021
1edb76c
[X86] merge "={eax}" and "~{eax}" into "=&eax" for MSInlineASM
FreddyLeaf Jan 27, 2021
5e09a02
[flang][openacc] Fix clause restriction for host_data directive
clementval Jan 27, 2021
b65896e
[flang][openacc] Fix clause restriction for exit data directive
clementval Jan 27, 2021
7b3ba8d
[libcxx] Update include/__libcpp_version to match include/__config
statham-arm Jan 27, 2021
bc8d8e6
[mlir] Fold shape.eq %a, %a to true
tpopp Jan 26, 2021
5386aa2
[libc++] [P0879] constexpr heap and partial_sort algorithms
Quuxplusone Dec 17, 2020
add98b2
[compiler-rt] Support FreeBSD standalone (boot) environment
jrtc27 Jan 27, 2021
4de3bdd
[NFC] StackProtector: be consistent and to initialize DominatorTreeWr…
LebedevRI Jan 27, 2021
51a2584
[CodeGen] SafeStack: preserve DominatorTree if it is avaliable
LebedevRI Jan 27, 2021
b3718ee
[Support] Fix clang-tidy auto warnings. NFCI.
RKSimon Jan 27, 2021
30829a2
[Support] CommandLine.cpp - Fix clang-tidy namespace comment warnings…
RKSimon Jan 27, 2021
5ded5ab
ExecutionDomainFix.cpp - use const refs in for-range loops. NFCI.
RKSimon Jan 27, 2021
f3449ed
[TableGen] [DetailedRecords] Print record name that is null string as ""
Jan 24, 2021
3837d6d
Merge from 'main' to 'sycl-web' (#4)
dm-vodopyanov Jan 27, 2021
28410d1
[LoopUtils] Pass SCEVExpander instead SE to addRuntimeChecks.
fhahn Jan 27, 2021
90407b1
[libc++] Fix extern template test failing on Windows
ldionne Jan 27, 2021
f30c523
[flang][openacc] Allow multiple wait clauses
clementval Jan 27, 2021
04570e9
[RISCV] Group the legal vector types into lists we can iterator over …
topperc Jan 27, 2021
74c87a3
[libc] Disable sqrtl_test on non-x86 platforms.
Jan 27, 2021
0b50fa9
[FaultsMaps][llvm-objdump] Move FaultMapParser to Object/. Remove Cod…
topperc Jan 27, 2021
54fb3ca
[ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags
MaskRay Jan 27, 2021
3e80686
[test] Fix clang/test/CodeGen tests
MaskRay Jan 27, 2021
e19ec9c
[gn build] Port 0b50fa99452f
llvmgnsyncbot Jan 27, 2021
61a66e4
Revert "Suppress non-conforming GNU paste extension in all standard-c…
rnk Jan 27, 2021
8105992
[lit][NFC] Use enum to represent test order
Jan 27, 2021
98c21ae
[sanitizer][fuchsia] Implement ReleaseMemoryPagesToOS
mvanotti Jan 25, 2021
d90bb66
[libc] Include only the relevant header files in the integration test.
Jan 27, 2021
ab93c18
[LoopVectorize] use IR fast-math-flags exclusively (not FP function a…
rotateright Jan 27, 2021
5748a71
[builtins] Fix integer/pointer confusion in gcc_personality_v0.c
jrtc27 Jan 27, 2021
e47a388
[builtins] Fix build after D95537 due to missing size_t
jrtc27 Jan 27, 2021
a40e01e
[RISCV] Rework fault first only load isel.
topperc Jan 27, 2021
e958d49
[libc] Fix the CMake var name of the list of public headers.
Jan 27, 2021
ff038b3
[RISCV] Reduce field sizes in searchable tables to reduce binary size.
topperc Jan 27, 2021
9f87c6b
[OpenMP] Fix HWLOC topology detection for 2.0.x
jpeyton52 Jan 11, 2021
598c590
[OpenMP] Add cpuid leaf 1f topology discovery
jpeyton52 Jan 15, 2021
8e67134
[OpenMP] Fix misleading warning for OMP_PLACES
jpeyton52 Jan 21, 2021
9f2c7ef
Parse different attribute syntaxes in arbitrary order
AaronBallman Jan 27, 2021
0436ec2
Permit __VA_OPT__ in all language modes and allow it to be detected w…
zygoloid Jan 27, 2021
ba379fe
[scudo][standalone] Restore GWP-ASan flag parsing
Jan 27, 2021
c23a6dc
Silence a -Wlogical-op-parentheses diagnostic; NFC
AaronBallman Jan 27, 2021
ec5a782
[libc] Fix list of public headers usable on aarch64.
Jan 27, 2021
5d3dca2
Ignore unknown attribute warnings in this test
AaronBallman Jan 27, 2021
262c508
[sanitizer] Fix crash on empty strings.
eugenis Jan 27, 2021
ab5591e
Fix runInTerminal failures on Windows
walter-erquinigo Jan 27, 2021
2fb0a0f
[ARM] Add BE check variants for soft-fp test. NFC
davemgreen Jan 27, 2021
e53247c
Revert "[sanitizer] Fix crash on empty strings."
eugenis Jan 27, 2021
f799371
[sanitizer] Fix crash on empty strings.
vchigrin Jan 27, 2021
44f7929
[Demangle] Support demangling Swift calling convention in MS demangler.
varungandhi-apple Jan 20, 2021
5dfa37a
Don't allow __VA_OPT__ to be detected by #ifdef.
zygoloid Jan 27, 2021
58aa049
[RISCV] Move RISCVVPseudosTable from RISCVBaseInfo.h to RISCVInstrInf…
topperc Jan 27, 2021
9c7aeae
Itanium Mangling: Mangle `__alignof__` differently than `alignof`.
jyknight Dec 7, 2020
8ca3360
Itanium Mangling: Fix handling of <expr-primary> in <template-arg>.
jyknight Jan 24, 2021
a7246ba
Itanium Mangling: In 'enable_if', omit X/E around <expr-primary>.
jyknight Jan 24, 2021
7e6c87e
DebugInfo: Deduplicate addresses in debug_addr
dwblaikie Oct 25, 2019
fb12df4
[OpenMP][NVPTX] Disable building NVPTX deviceRTL by default on a non-…
shiltian Jan 27, 2021
3d25fdc
[AArch64][GlobalISel] Allow vector store legalization into 128-bit-wi…
Jan 21, 2021
7e88942
[CodeGen] IndirectBrExpandPass: preserve Dominator Tree, if available
LebedevRI Jan 27, 2021
764a7a2
clang: Fix static_assert in a few contexts in microsoft mode
nico Jan 27, 2021
6110e77
[flang] Search for #include "file" in right directory (take 2)
klausler Jan 26, 2021
1487747
[LTO] Prevent devirtualization for symbols dynamically exported
teresajohnson Dec 30, 2020
727fc31
[cxx_status] Mark P0732R2 as only 'partial', not 'Clang 12', as some of
zygoloid Jan 28, 2021
6612c2b
[llvm-c] Move LLVMX86_AMXTypeKind & LLVMPoisonValueValueKind to the b…
MaskRay Jan 28, 2021
d91ee2f
[AMDGPU] Do not reassign spilled registers
rampitec Jan 27, 2021
29472bb
[clangd] Log warning when using legacy (theia) semantic highlighting.
sam-mccall Jan 20, 2021
c3df9d5
[clangd] Parse Diagnostics block, and nest ClangTidy block under it.
sam-mccall Jan 25, 2021
02bc4c9
[mlir][PassManager] Only reinitialize the pass manager if the context…
River707 Jan 27, 2021
8a77056
[OpenMP][Libomptarget] Fix conditional in CMake for remote plugin
atmnpatel Jan 27, 2021
dd7297e
DebugInfo: Fix bug in addr+offset exprloc to use DWARFv5 addrx op ins…
dwblaikie Jan 28, 2021
8d8be87
[AMDGPU][NFC] Generate llvm.amdgcn.set.inactive tests
perlfu Jan 28, 2021
0fc9087
[libomptarget][NFC] Link plugins with threads support library due to …
Jan 27, 2021
2b9ed4f
[AMDGPU][NFC] Pre-commit test for D95509
perlfu Jan 28, 2021
5c1cea6
[Support] Fix build for Haiku
spavloff Jan 27, 2021
b7d6324
IntrinsicEmitter: Change IntrinsicsToAttributesMap from uint8_t[] to …
MaskRay Jan 28, 2021
5d05cdf
[RISCV] Copy isUnneededShiftMask from X86.
topperc Jan 28, 2021
7e99bdd
[CSSPGO] Support of CS profiles in extended binary format.
htyu Jan 28, 2021
50f1aa1
[AVR] Optimize 16-bit int shift
benshi001 Jan 28, 2021
f82b5a6
[DebugInfo] Forward-declare PDBFile (NFC)
kazutakahirata Jan 28, 2021
f890fd5
[llvm] Use llvm::is_sorted (NFC)
kazutakahirata Jan 28, 2021
0da15ea
[llvm] Use append_range (NFC)
kazutakahirata Jan 28, 2021
fc8e741
[AMDGPU] Avoid an illegal operand in si-shrink-instructions
piotrAMD Jan 27, 2021
68195b1
[yaml2obj] - Allow empty SectionHeaderTable definitions.
Jan 25, 2021
bf64918
[X86][AMX] Prevent shape def being scheduled across ldtilecfg.
LuoYuanke Jan 28, 2021
8644eb0
[NFC][Transforms][Coroutines] Remove unused variable
nullptr-cpp Jan 28, 2021
fc4e8a3
[NFC][IR][AsmWriter] Fix Wreturn-type gcc warning
nullptr-cpp Jan 28, 2021
01b9e61
[Clang][Codegen] Truncate initializers of union bitfield members
tmatheson-arm Dec 7, 2020
b9ed8eb
[ARM][RegisterScavenging] Don't consider LR liveout if it is not relo…
tmatheson-arm Jan 20, 2021
374862d
[clang][cli] Use variadic macros for parsing/generating
jansvoboda11 Jan 28, 2021
3ca502a
Use DataExtractor to decode SLEB128 in android_relas.
rlavaee Jan 22, 2021
2393b03
Revert "[clang][cli] Use variadic macros for parsing/generating"
jansvoboda11 Jan 28, 2021
fc2f27c
[RISCV] Add support for RVV int<->fp & fp<->fp conversions
frasercrmck Jan 22, 2021
54e570d
[PowerPC] Do not emit XXSPLTI32DX for sub 64-bit constants
nemanjai Jan 28, 2021
4b42270
[AMDGPU][GlobalISel] Handle G_PTR_ADD when looking for constant offset
mbrkusanin Jan 28, 2021
3c979ae
[AMDGPU][GlobalISel] Remove redundant cmp when copying constant to vcc
mbrkusanin Jan 28, 2021
9a2bbfa
[NFC] Move scavenge-lr.mir From AArch64 to Thumb2 test directory.
tmatheson-arm Jan 28, 2021
c1c1944
[ARM] Regenerate constant hoisting test. NFC
davemgreen Jan 28, 2021
279e7ea
[MLIR][LinAlg][Docs] Add missing example code and other small fixes.
ergawy Jan 28, 2021
d0c9fb1
[mlir][Linalg] Improve codegen strategy
nicolasvasilache Jan 28, 2021
8cfa963
[SimplifyCFG] If provided, preserve Dominator Tree
LebedevRI Jan 28, 2021
6617529
[CodeGen][DwarfEHPrepare] Preserve Dominator Tree
LebedevRI Jan 28, 2021
526c42e
[OpenCL] Hide sampler-less read_image builtins before CL1.2
svenvh Jan 28, 2021
7396f72
[DebugInfo] Remove some unused includes. NFCI.
RKSimon Jan 27, 2021
0164d54
[Support] Add some missing namespace closure comments. NFCI.
RKSimon Jan 27, 2021
aa76ceb
Fix "32-bit shift result used in 64-bit comparison" MSVC warning. NFCI.
RKSimon Jan 28, 2021
da8845f
[X86][AVX] Add PR48908 shuffle test case
RKSimon Jan 28, 2021
6663330
[X86][AVX] canonicalizeLaneShuffleWithRepeatedOps - don't merge VPERM…
RKSimon Jan 28, 2021
e666744
Merge from 'main' to 'sycl-web'
Jan 28, 2021
6234a2e
Merge from 'sycl' to 'sycl-web' (#2)
dm-vodopyanov Jan 28, 2021
2a08bd7
Merge remote-tracking branch 'otcshare_llvm/sycl-web' into llvmspirv_…
vmaksimo Feb 1, 2021
19eef36
Improve decoding of constant composites (#885)
AlexeySotkin Jan 26, 2021
832b1c4
Switch to LLVM main branch
svenvh Jan 28, 2021
c9090b6
Update translator for new Fast Composite extension
DmitryBushev Dec 17, 2020
d856e99
Fix access specifiers in debug info
AlexeySotkin Jan 29, 2021
076857b
Restore fsycl-is-device functionality that was lost after conflict re…
vmaksimo Feb 2, 2021
c994900
Align driver with ba5628f SmallString change
vmaksimo Feb 3, 2021
0a9bac5
Align sycl-offload-intelfpga test to accept full path for aoc output …
vmaksimo Feb 3, 2021
e68b5a0
Revert "Temporary disable LowerAMXTypePass"
vmaksimo Feb 4, 2021
b5b19b4
Ignore experimental_noalias_scope_decl intrinsic
MrSidims Feb 4, 2021
87e9823
Temporarily disable LLVM-SPIRV::dbg-value-location.ll test
vmaksimo Feb 4, 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
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions clang-tools-extra/clang-query/Query.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,7 @@ bool MatchQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const {
if (QS.DetailedASTOutput) {
OS << "Binding for \"" << BI->first << "\":\n";
const ASTContext &Ctx = AST->getASTContext();
const SourceManager &SM = Ctx.getSourceManager();
ASTDumper Dumper(OS, Ctx, SM.getDiagnostics().getShowColors());
ASTDumper Dumper(OS, Ctx, AST->getDiagnostics().getShowColors());
Dumper.SetTraversalKind(QS.TK);
Dumper.Visit(BI->second);
OS << "\n";
Expand Down
21 changes: 21 additions & 0 deletions clang-tools-extra/clang-query/tool/ClangQuery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@ using namespace llvm;
static cl::extrahelp CommonHelp(CommonOptionsParser::HelpMessage);
static cl::OptionCategory ClangQueryCategory("clang-query options");

static cl::opt<bool>
UseColor("use-color",
cl::desc(
R"(Use colors in detailed AST output. If not set, colors
will be used if the terminal connected to
standard output supports colors.)"),
cl::init(false), cl::cat(ClangQueryCategory));

static cl::list<std::string> Commands("c", cl::desc("Specify command to run"),
cl::value_desc("command"),
cl::cat(ClangQueryCategory));
Expand Down Expand Up @@ -109,6 +117,19 @@ int main(int argc, const char **argv) {

ClangTool Tool(OptionsParser->getCompilations(),
OptionsParser->getSourcePathList());

if (UseColor.getNumOccurrences() > 0) {
ArgumentsAdjuster colorAdjustor = [](const CommandLineArguments &Args, StringRef /*unused*/) {
CommandLineArguments AdjustedArgs = Args;
if (UseColor)
AdjustedArgs.push_back("-fdiagnostics-color");
else
AdjustedArgs.push_back("-fno-diagnostics-color");
return AdjustedArgs;
};
Tool.appendArgumentsAdjuster(colorAdjustor);
}

std::vector<std::unique_ptr<ASTUnit>> ASTs;
int ASTStatus = 0;
switch (Tool.buildASTs(ASTs)) {
Expand Down
38 changes: 32 additions & 6 deletions clang-tools-extra/clangd/ClangdLSPServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,15 @@ class ClangdLSPServer::MessageHandler : public Transport::MessageHandler {
};
}

template <typename Result>
void bind(const char *Method,
void (ClangdLSPServer::*Handler)(Callback<Result>)) {
Calls[Method] = [Handler, this](llvm::json::Value RawParams,
ReplyOnce Reply) {
(Server.*Handler)(std::move(Reply));
};
}

// Bind a reply callback to a request. The callback will be invoked when
// clangd receives the reply from the LSP client.
// Return a call id of the request.
Expand Down Expand Up @@ -301,6 +310,12 @@ class ClangdLSPServer::MessageHandler : public Transport::MessageHandler {
};
}

void bind(const char *Method, void (ClangdLSPServer::*Handler)()) {
Notifications[Method] = [Handler, this](llvm::json::Value RawParams) {
(Server.*Handler)();
};
}

private:
// Function object to reply to an LSP call.
// Each instance must be called exactly once, otherwise:
Expand Down Expand Up @@ -443,6 +458,14 @@ class ClangdLSPServer::MessageHandler : public Transport::MessageHandler {
};
constexpr int ClangdLSPServer::MessageHandler::MaxReplayCallbacks;

template <>
void ClangdLSPServer::MessageHandler::bind<NoParams>(
const char *Method, void (ClangdLSPServer::*Handler)(const NoParams &)) {
Notifications[Method] = [Handler, this](llvm::json::Value RawParams) {
(Server.*Handler)(NoParams{});
};
}

// call(), notify(), and reply() wrap the Transport, adding logging and locking.
void ClangdLSPServer::callRaw(StringRef Method, llvm::json::Value Params,
Callback<llvm::json::Value> CB) {
Expand Down Expand Up @@ -487,6 +510,11 @@ void ClangdLSPServer::onInitialize(const InitializeParams &Params,
"semanticTokens request, choosing the latter (no notifications).");
Opts.TheiaSemanticHighlighting = false;
}
if (Opts.TheiaSemanticHighlighting) {
log("Using legacy semanticHighlights notification, which will be removed "
"in clangd 13. Clients should use the standard semanticTokens "
"request instead.");
}

if (Params.rootUri && *Params.rootUri)
Opts.WorkspaceRoot = std::string(Params.rootUri->file());
Expand All @@ -500,6 +528,7 @@ void ClangdLSPServer::onInitialize(const InitializeParams &Params,
if (Opts.UseDirBasedCDB) {
DirectoryBasedGlobalCompilationDatabase::Options CDBOpts(TFS);
CDBOpts.CompileCommandsDir = Opts.CompileCommandsDir;
CDBOpts.ContextProvider = Opts.ContextProvider;
BaseCDB =
std::make_unique<DirectoryBasedGlobalCompilationDatabase>(CDBOpts);
BaseCDB = getQueryDriverDatabase(llvm::makeArrayRef(Opts.QueryDriverGlobs),
Expand Down Expand Up @@ -647,17 +676,15 @@ void ClangdLSPServer::onInitialize(const InitializeParams &Params,

void ClangdLSPServer::onInitialized(const InitializedParams &Params) {}

void ClangdLSPServer::onShutdown(const ShutdownParams &Params,
Callback<std::nullptr_t> Reply) {
void ClangdLSPServer::onShutdown(Callback<std::nullptr_t> Reply) {
// Do essentially nothing, just say we're ready to exit.
ShutdownRequestReceived = true;
Reply(nullptr);
}

// sync is a clangd extension: it blocks until all background work completes.
// It blocks the calling thread, so no messages are processed until it returns!
void ClangdLSPServer::onSync(const NoParams &Params,
Callback<std::nullptr_t> Reply) {
void ClangdLSPServer::onSync(Callback<std::nullptr_t> Reply) {
if (Server->blockUntilIdleForTest(/*TimeoutSeconds=*/60))
Reply(nullptr);
else
Expand Down Expand Up @@ -1445,8 +1472,7 @@ void ClangdLSPServer::onSemanticTokensDelta(
});
}

void ClangdLSPServer::onMemoryUsage(const NoParams &,
Callback<MemoryTree> Reply) {
void ClangdLSPServer::onMemoryUsage(Callback<MemoryTree> Reply) {
llvm::BumpPtrAllocator DetailAlloc;
MemoryTree MT(&DetailAlloc);
profile(MT);
Expand Down
6 changes: 3 additions & 3 deletions clang-tools-extra/clangd/ClangdLSPServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ class ClangdLSPServer : private ClangdServer::Callbacks {
// Calls have signature void(const Params&, Callback<Response>).
void onInitialize(const InitializeParams &, Callback<llvm::json::Value>);
void onInitialized(const InitializedParams &);
void onShutdown(const ShutdownParams &, Callback<std::nullptr_t>);
void onSync(const NoParams &, Callback<std::nullptr_t>);
void onShutdown(Callback<std::nullptr_t>);
void onSync(Callback<std::nullptr_t>);
void onDocumentDidOpen(const DidOpenTextDocumentParams &);
void onDocumentDidChange(const DidChangeTextDocumentParams &);
void onDocumentDidClose(const DidCloseTextDocumentParams &);
Expand Down Expand Up @@ -161,7 +161,7 @@ class ClangdLSPServer : private ClangdServer::Callbacks {
Callback<SemanticTokensOrDelta>);
/// This is a clangd extension. Provides a json tree representing memory usage
/// hierarchy.
void onMemoryUsage(const NoParams &, Callback<MemoryTree>);
void onMemoryUsage(Callback<MemoryTree>);

std::vector<Fix> getFixes(StringRef File, const clangd::Diagnostic &D);

Expand Down
4 changes: 2 additions & 2 deletions clang-tools-extra/clangd/ClangdServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,7 @@ void ClangdServer::formatOnType(PathRef File, llvm::StringRef Code,
Result.push_back(replacementToEdit(Code, R));
return CB(Result);
};
WorkScheduler.run("FormatOnType", File, std::move(Action));
WorkScheduler.runQuick("FormatOnType", File, std::move(Action));
}

void ClangdServer::prepareRename(PathRef File, Position Pos,
Expand Down Expand Up @@ -635,7 +635,7 @@ void ClangdServer::formatCode(PathRef File, llvm::StringRef Code,
tooling::calculateRangesAfterReplacements(IncludeReplaces, Ranges),
File)));
};
WorkScheduler.run("Format", File, std::move(Action));
WorkScheduler.runQuick("Format", File, std::move(Action));
}

void ClangdServer::findDocumentHighlights(
Expand Down
4 changes: 3 additions & 1 deletion clang-tools-extra/clangd/CodeComplete.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1123,7 +1123,9 @@ bool semaCodeComplete(std::unique_ptr<CodeCompleteConsumer> Consumer,
// skip all includes in this case; these completions are really simple.
PreambleBounds PreambleRegion =
ComputePreambleBounds(*CI->getLangOpts(), *ContentsBuffer, 0);
bool CompletingInPreamble = PreambleRegion.Size > Input.Offset;
bool CompletingInPreamble = Input.Offset < PreambleRegion.Size ||
(!PreambleRegion.PreambleEndsAtStartOfLine &&
Input.Offset == PreambleRegion.Size);
if (Input.Patch)
Input.Patch->apply(*CI);
// NOTE: we must call BeginSourceFile after prepareCompilerInstance. Otherwise
Expand Down
32 changes: 23 additions & 9 deletions clang-tools-extra/clangd/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringSet.h"
#include <string>
#include <vector>

Expand All @@ -51,11 +52,19 @@ struct Config {
Config(Config &&) = default;
Config &operator=(Config &&) = default;

struct CDBSearchSpec {
enum { Ancestors, FixedDir, NoCDBSearch } Policy = Ancestors;
// Absolute, native slashes, no trailing slash.
llvm::Optional<std::string> FixedCDBPath;
};

/// Controls how the compile command for the current file is determined.
struct {
// Edits to apply to the compile command, in sequence.
/// Edits to apply to the compile command, in sequence.
std::vector<llvm::unique_function<void(std::vector<std::string> &) const>>
Edits;
/// Where to search for compilation databases for this file's flags.
CDBSearchSpec CDBSearch = {CDBSearchSpec::Ancestors, llvm::None};
} CompileFlags;

enum class BackgroundPolicy { Build, Skip };
Expand All @@ -77,21 +86,26 @@ struct Config {
llvm::Optional<ExternalIndexSpec> External;
} Index;

/// Controls warnings and errors when parsing code.
struct {
bool SuppressAll = false;
llvm::StringSet<> Suppress;

/// Configures what clang-tidy checks to run and options to use with them.
struct {
// A comma-seperated list of globs specify which clang-tidy checks to run.
std::string Checks;
llvm::StringMap<std::string> CheckOptions;
} ClangTidy;
} Diagnostics;

/// Style of the codebase.
struct {
// Namespaces that should always be fully qualified, meaning no "using"
// declarations, always spell out the whole name (with or without leading
// ::). All nested namespaces are affected as well.
std::vector<std::string> FullyQualifiedNamespaces;
} Style;

/// Configures what clang-tidy checks to run and options to use with them.
struct {
// A comma-seperated list of globs to specify which clang-tidy checks to
// run.
std::string Checks;
llvm::StringMap<std::string> CheckOptions;
} ClangTidy;
};

} // namespace clangd
Expand Down
67 changes: 61 additions & 6 deletions clang-tools-extra/clangd/ConfigCompile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include "Config.h"
#include "ConfigFragment.h"
#include "ConfigProvider.h"
#include "Diagnostics.h"
#include "Features.inc"
#include "TidyProvider.h"
#include "support/Logger.h"
Expand Down Expand Up @@ -187,7 +188,7 @@ struct FragmentCompiler {
compile(std::move(F.If));
compile(std::move(F.CompileFlags));
compile(std::move(F.Index));
compile(std::move(F.ClangTidy));
compile(std::move(F.Diagnostics));
}

void compile(Fragment::IfBlock &&F) {
Expand Down Expand Up @@ -261,6 +262,36 @@ struct FragmentCompiler {
});
});
}

if (F.CompilationDatabase) {
llvm::Optional<Config::CDBSearchSpec> Spec;
if (**F.CompilationDatabase == "Ancestors") {
Spec.emplace();
Spec->Policy = Config::CDBSearchSpec::Ancestors;
} else if (**F.CompilationDatabase == "None") {
Spec.emplace();
Spec->Policy = Config::CDBSearchSpec::NoCDBSearch;
} else {
if (auto Path =
makeAbsolute(*F.CompilationDatabase, "CompilationDatabase",
llvm::sys::path::Style::native)) {
// Drop trailing slash to put the path in canonical form.
// Should makeAbsolute do this?
llvm::StringRef Rel = llvm::sys::path::relative_path(*Path);
if (!Rel.empty() && llvm::sys::path::is_separator(Rel.back()))
Path->pop_back();

Spec.emplace();
Spec->Policy = Config::CDBSearchSpec::FixedDir;
Spec->FixedCDBPath = std::move(Path);
}
}
if (Spec)
Out.Apply.push_back(
[Spec(std::move(*Spec))](const Params &, Config &C) {
C.CompileFlags.CDBSearch = Spec;
});
}
}

void compile(Fragment::IndexBlock &&F) {
Expand Down Expand Up @@ -328,6 +359,29 @@ struct FragmentCompiler {
});
}

void compile(Fragment::DiagnosticsBlock &&F) {
std::vector<llvm::StringRef> Normalized;
for (const auto &Suppressed : F.Suppress) {
if (*Suppressed == "*") {
Out.Apply.push_back([&](const Params &, Config &C) {
C.Diagnostics.SuppressAll = true;
C.Diagnostics.Suppress.clear();
});
return;
}
Normalized.push_back(normalizeSuppressedCode(*Suppressed));
}
if (!Normalized.empty())
Out.Apply.push_back([Normalized](const Params &, Config &C) {
if (C.Diagnostics.SuppressAll)
return;
for (llvm::StringRef N : Normalized)
C.Diagnostics.Suppress.insert(N);
});

compile(std::move(F.ClangTidy));
}

void compile(Fragment::StyleBlock &&F) {
if (!F.FullyQualifiedNamespaces.empty()) {
std::vector<std::string> FullyQualifiedNamespaces;
Expand Down Expand Up @@ -369,7 +423,7 @@ struct FragmentCompiler {
CurSpec += Str;
}

void compile(Fragment::ClangTidyBlock &&F) {
void compile(Fragment::DiagnosticsBlock::ClangTidyBlock &&F) {
std::string Checks;
for (auto &CheckGlob : F.Add)
appendTidyCheckSpec(Checks, CheckGlob, true);
Expand All @@ -380,8 +434,9 @@ struct FragmentCompiler {
if (!Checks.empty())
Out.Apply.push_back(
[Checks = std::move(Checks)](const Params &, Config &C) {
C.ClangTidy.Checks.append(
Checks, C.ClangTidy.Checks.empty() ? /*skip comma*/ 1 : 0,
C.Diagnostics.ClangTidy.Checks.append(
Checks,
C.Diagnostics.ClangTidy.Checks.empty() ? /*skip comma*/ 1 : 0,
std::string::npos);
});
if (!F.CheckOptions.empty()) {
Expand All @@ -392,8 +447,8 @@ struct FragmentCompiler {
Out.Apply.push_back(
[CheckOptions = std::move(CheckOptions)](const Params &, Config &C) {
for (auto &StringPair : CheckOptions)
C.ClangTidy.CheckOptions.insert_or_assign(StringPair.first,
StringPair.second);
C.Diagnostics.ClangTidy.CheckOptions.insert_or_assign(
StringPair.first, StringPair.second);
});
}
}
Expand Down
Loading