Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW33) #4300

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 457 commits into from
Aug 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
457 commits
Select commit Hold shift + click to select a range
b4fe435
[PowerPC] Remove accidently left checks
Aug 5, 2021
d71924f
[AMDGPU] Improve v2i32/v2f32 insertelt patterns
rampitec Aug 5, 2021
8a557d8
[AArch64][GlobalISel] Widen extloads before clamping during legalization
Aug 5, 2021
623cf3d
Mark getc_unlocked as unavailable by default
rprichard Aug 5, 2021
2b89f40
[LLDB][GUI] Refactor form drawing using subsurfaces
OmarEmaraDev Aug 5, 2021
a8a38ef
[llvm-profgen] Fix bug of loop scope mismatch
wlei-llvm Aug 5, 2021
ce6eb4f
[GlobalISel][KnownBits] Implement G_CTPOP
jroelofs Aug 5, 2021
1577c41
[GlobalISel] Allow the ArtifactValueFinder to return the best availab…
aemerson Jul 29, 2021
5fc7b1a
Revert "[GlobalISel][KnownBits] Implement G_CTPOP"
jroelofs Aug 6, 2021
23651c5
[PowerPC][AIX] Create multiple constant sections.
mandlebug May 14, 2021
562c8e1
[AArch64][GlobalISel] Widen G_IMPLICIT_DEF and G_FREEZE before clamping
Aug 5, 2021
e6a3944
[AArch64][GlobalISel] Overhaul G_INSERT legalization
Aug 5, 2021
66b1e62
[mlir] Cleanup: Fix warnings in MLIR
matthias-springer Aug 6, 2021
dae7add
[AVR][clang] Pass '-fno-use-init-array' to cc1 as default
mhjacobson Aug 6, 2021
4d3d182
Revert "[LLDB][GUI] Refactor form drawing using subsurfaces"
jasonmolenda Aug 6, 2021
28939b6
[NFC] Clean up and clang-format openmp/libomptarget/plugins/cuda/src/…
shiltian Aug 6, 2021
43018f0
[PowerPC] Pre-commit test for D107428. NFC.
Aug 6, 2021
7138f1c
[NFC][sanitizer] clang-format sem related block
vitalybuka Aug 6, 2021
9d10be7
[mlir] std.call reference function return types in failure
jpienaar Aug 6, 2021
6f84d94
[PowerPC] Fix copy/paste error in scalar_to_vector patterns
Aug 6, 2021
ac42f76
[libc++] s/_VSTD::_IsSame/_IsSame/. NFCI.
Quuxplusone Aug 6, 2021
7ece205
[Lanai] fix lowering wide returns
q3k Aug 6, 2021
daab81c
Replace "CHECK-NOT: #{{.*}}" with same-line positive checks. NFC.
rprichard Aug 6, 2021
a1b21ed
[GCov] Emit memset instead of stores in __llvm_gcov_reset
aeubanks Aug 6, 2021
ab737d5
[fuzzer] Fix building on case sensitive mingw platforms
mstorsjo Aug 6, 2021
666ee84
[PowerPC] Fix shift amount of xxsldwi when performing vector int_to_d…
Aug 6, 2021
4fee756
Delete copy-ctor of MachineFrameInfo.
aemerson Aug 6, 2021
d6b4993
[mlir][MemRef] Fix canonicalization of BufferCast(TensorLoad).
akuegel Aug 5, 2021
dc9b41f
[JITLink][RISCV] Add relocation fixup test
Aug 6, 2021
82ca845
[NFC] [FuncSpec] Update the Todo list for recursive functions
ChuanqiXu9 Aug 6, 2021
4b8806d
[doc] added links to discord and discourse
ChristianKuehnel Aug 6, 2021
2d9af3d
[GlobalISel] Make GLoadStore::getMemSize[InBits]() const.
aemerson Aug 6, 2021
835cbfa
[mlir][python] Make a number of imports relative.
stellaraccident Aug 6, 2021
3e58dd1
[LV] Move reduction PHI node fixup to VPlan::execute (NFC).
fhahn Aug 6, 2021
4c4093e
Introduce intrinsic llvm.isnan
spavloff Aug 5, 2021
cc3f40b
[FuncSpec] Move invariant computation for spec cost out of loop (NFC-…
ChuanqiXu9 Aug 6, 2021
62fc3e0
[NFC] [FuncSpec] Remove unused variables in isArgumentInteresting
ChuanqiXu9 Aug 6, 2021
cd2594e
[GlobalISel] Improve legalization of narrow CTTZ
jayfoad Aug 4, 2021
d77b43c
[AMDGPU][GlobalISel] Add G_AMDGPU_FFBL_B32
jayfoad Aug 4, 2021
24b67a9
[AMDGPU][GlobalISel] Improve regbankselect for 64-bit VGPR ctlz_zero_…
jayfoad Aug 4, 2021
83610d4
[AMDGPU][GlobalISel] Better legalization of 32-bit ctlz/cttz
jayfoad Aug 3, 2021
43a5c75
Revert "[LoopVectorize] Add support for replication of more intrinsic…
david-arm Aug 6, 2021
2919ac8
[llvm-readobj][XCOFF] Warn about invalid offset
Aug 6, 2021
0fd03fe
[FuncSpec] Return changed if function is changed by tryToReplaceWithC…
ChuanqiXu9 Aug 6, 2021
59f59d1
[mlir] Allow to override type/attr aliases from various hooks
Aug 3, 2021
3fd96e1
[LoopVectorize] Improve vectorisation of some intrinsics by treating …
david-arm Jul 30, 2021
22fdf61
[OpenCL][Docs] Adding builtins requires adding to both now
svenvh Aug 6, 2021
08bc441
[AArch64] NFC: drop unnecessary llvm:: namespace prefix on MCInst
c-rhodes Aug 6, 2021
9c63e5b
[Orc][examples] Temporarily disable tests for the C API due to failur…
weliveindetail Aug 6, 2021
a5a2f05
[C++4OpenCL] Introduces __remove_address_space utility
Topotuna Aug 5, 2021
aa2210a
[linalg] Expose `rewriteAsPaddedOp` function.
pifon2a Aug 6, 2021
18e6a03
[X86][AVX] Extract SUBV_BROADCAST constant bits from just the lower s…
RKSimon Aug 6, 2021
dbce6a8
[ARM] Fold insert_subvector to concat_vectors
RKSimon Aug 6, 2021
5173854
[AMDGPU] Handle functions in llvm's global ctors and dtors list
rksharma-yymd Aug 6, 2021
6385abd
Split 'qualifier on reference type has no effect' out into a new flag
lunasorcery Aug 6, 2021
ae1a2a0
[NFC][MLGO] Make logging more robust
mtrofin Aug 5, 2021
779714f
[profile] Only use NT_GNU_BUILD_ID if supported
rorth Aug 6, 2021
3709822
[flang][docs] Document the `flang` wrapper script
banach-space Aug 5, 2021
4aafd5f
[clang] Remove misleading assertion in FullSourceLoc
jansvoboda11 Aug 6, 2021
02b1c3f
[AMDGPU][MC][NFC][DOC] Updated AMD GPU assembler syntax description.
dpreobra Aug 6, 2021
3bf7798
[clangd] Strip mutliple arch options
kadircet Aug 6, 2021
79c2616
[clangd] Canonicalize inputs provided with `--`
kadircet Aug 6, 2021
f221d90
[libc++] IWYU to fix Modules complaints about _LIBCPP_ASSERT. NFCI.
Quuxplusone Aug 6, 2021
57b9107
[GlobalISel] Improve widening of cttz/cttz_zero_undef
jayfoad Aug 6, 2021
420e1d4
[AIX] Define __THW_BIG_ENDIAN__ macro
jakeegan Aug 6, 2021
3189dd2
[AIX] Define __THW_PPC__ macro
jakeegan Aug 6, 2021
3c8e94b
Disallow narrowing conversions to bool in noexcept specififers
cor3ntin Aug 6, 2021
131b462
Implement P1937 consteval in unevaluated contexts
cor3ntin Aug 6, 2021
100a7b6
[lit] Have REQUIRES support the target triple
pogo59 Jul 30, 2021
869d07e
[AIX] Define __HOS_AIX__ macro
jakeegan Aug 6, 2021
41bcfe8
[AIX] Define _ARCH_PPC64 macro for 32-bit
jakeegan Aug 6, 2021
17e9732
Fix test failure found by "Have REQUIRES support the target triple"
pogo59 Aug 6, 2021
c4c1030
[mlir] support collapsed loops in OpenMP-to-LLVM translation
ftynse Jul 28, 2021
276be84
[CodeGen] Remove computeDefOperandLatency (NFC)
kazutakahirata Aug 6, 2021
ca6baf1
[MLIR][std] Introduce bitcast operation
GMNGeoffrey Aug 5, 2021
825a08f
[lldb] Fix TestFunctionStarts.py on AS
JDevlieghere Aug 6, 2021
e4cc071
Disable a dataflow fuzz test after "Have REQUIRES support the target …
pogo59 Aug 6, 2021
16ebb7a
[llvm-objcopy] [COFF] Do not patch debug entries if PointerToRawData …
pirama-arumuga-nainar Aug 3, 2021
f88ad8d
Speculative fix for MachO lld test after "Have REQUIRES support the t…
pogo59 Aug 6, 2021
77e8f4e
[ARM] Define ComplexPatternFuncMutatesDAG
davemgreen Aug 6, 2021
b2ca4dc
[LegalizeTypes] Add a simple expansion for SMULO when a libcall isn't…
topperc Aug 6, 2021
d1cacd5
[MemCpyOpt] Teach memcpyopt to handle loads from the constant memory.
darkbuck Aug 5, 2021
eae4a44
[GlobalISel][KnownBits] Implement G_CTPOP
jroelofs Aug 5, 2021
30b0c45
[LoopCacheAnalysis]: handle mismatch type for Numerator and CacheLine…
Aug 6, 2021
5522ec0
[mlir][NFC] Fix typos in DataLayoutInterfaces.td
zero9178 Aug 6, 2021
4ad9ec8
[clangd] Rename Features.h -> Feature.h to avoid confilct with libstdc++
sam-mccall Aug 5, 2021
772d209
[gn build] Port 4ad9ec8a328c
llvmgnsyncbot Aug 6, 2021
c120edc
[libc][nfc] move ctype_utils and FPUtils to __support
michaelrj-google Aug 5, 2021
34035b1
2nd Speculative fix for MachO lld test after "Have REQUIRES support t…
pogo59 Aug 6, 2021
dddd524
Revert "[PowerPC][AIX] Limit attribute aligned to 4096."
mandlebug Aug 6, 2021
f59f659
[CMake] Check the builtins library value first
petrhosek Aug 6, 2021
6a9cf21
[CUDA, MemCpyOpt] Add a flag to force-enable memcpyopt and use it for…
Artem-B Jul 20, 2021
a552deb
[mlir] Add patterns for vector.transfer_read/write to Linalg bufferiz…
pifon2a Aug 6, 2021
889a1e6
[llvm] [cmake] Export LLVM_ENABLE_NEW_PASS_MANAGER into LLVMConfig.cmake
mgorny Aug 6, 2021
dfce290
[flang] Lift -Werror checks into local functions
ashermancinelli Aug 6, 2021
4389a41
Revert "[clang][fpenv][patch] Change clang option -ffp-model=precise …
zahiraam Aug 6, 2021
f8a4495
[ARC] Add codegen for llvm.ctlz intrinsic for the ARC backend
Aug 6, 2021
5b9a944
[MachO] Introduce chained fixups related load commands.
Aug 6, 2021
71ae2e0
[libomptarget][amdgpu] don't declare Elf_Note on FreeBSD
DimitryAndric Aug 6, 2021
2b067e3
Change TargetLowering::canMergeStoresTo() to take a MF instead of DAG.
aemerson Aug 6, 2021
9ed7416
[lldb] Try harder to find the __NSCFBoolean addresses
fredriss May 22, 2020
a4bdcda
Support Attr in DynTypedNode and ASTMatchers.
sam-mccall Oct 19, 2020
3241680
Revert "Support Attr in DynTypedNode and ASTMatchers."
sam-mccall Aug 6, 2021
c8f1482
Reapply "Support Attr in DynTypedNode and ASTMatchers."
sam-mccall Aug 6, 2021
bb81e70
[clangd] Add basic support for attributes (selection, hover)
sam-mccall Oct 20, 2020
d238b60
[Clang][DiagnosticSemaKinds] combine diagnostic texts
nickdesaulniers Aug 6, 2021
8c4208d
[Profile][NFC] Clean up initializeProfileForContinuousMode
ZequanWu Aug 5, 2021
05783e1
[amdgpu] Revise the conversion from i64 to f32.
darkbuck Aug 4, 2021
67d4994
[InstCombine] add tests for icmp of casted vector; NFC
rotateright Aug 6, 2021
0369714
[InstCombine] reduce vector casting before icmp
rotateright Aug 6, 2021
41a6b50
[OpenMP]Fix PR51349: Remove AlwaysInline for if regions.
jhuber6 Aug 6, 2021
2129c4a
Fix Windows bots failure caused by 8c4208d5c1671d1b44eaf87e8f876b7d63…
ZequanWu Aug 6, 2021
3229c97
Revert "[lit] Have REQUIRES support the target triple"
pogo59 Aug 6, 2021
3b790e9
Merge from 'sycl' to 'sycl-web'
Aug 6, 2021
f362b05
Add a "current" token to the ThreadID option to break set/modify.
jimingham Jul 28, 2021
1962b33
[AMDGPU] Added test for MachineLICM reg pressure. NFC.
rampitec Aug 6, 2021
34d78b6
[lldb] Upstream support for Foundation constant classes
JDevlieghere Aug 6, 2021
1b4c85f
[NVPTX] Add NVPTX intrinsics for CUDA PTX 6.5 ldmatrix instructions
Aug 6, 2021
1854db7
opencl-c.h: add 3.0 optional extension support for a few more bits
airlied Aug 6, 2021
0b8cb87
[MLIR][STD] Add safe scalar constant propagation for FPTruncOp
max-ku Aug 6, 2021
bfeb281
Use LC_DYLD_EXPORTS_TRIE to locate the dyld trie structure if present
jimingham Aug 6, 2021
4e5af6e
Revert "[lldb] Upstream support for Foundation constant classes"
Sterling-Augustine Aug 6, 2021
9d5e95d
Re-land "[lldb] Upstream support for Foundation constant classes"
JDevlieghere Aug 7, 2021
5a2a179
[profile][Fuchsia] Add missing system header #include
frobtech Aug 6, 2021
71e7106
[AVR][clang] Add '$SYSROOT/avr' to possible avr-libc locations
mhjacobson Aug 7, 2021
62fe3dc
Fix PPC buildbot break caused by 4c4093e6e39fe6601f9c95a95a6bc242ef64…
nemanjai Aug 7, 2021
bfb7736
[OpenMP] Fix accidental reuse of VLA size
rofirrim Aug 6, 2021
9b73b3a
Merge from 'main' to 'sycl-web' (#5)
speryt Aug 7, 2021
4c2e012
[GlobalISel] Fix a combine causing DBG_VALUE with dangling vregs.
aemerson Aug 7, 2021
72c157c
Merge from 'main' to 'sycl-web' (#11)
speryt Aug 7, 2021
c6ebc65
[LLD] Support compressed input sections on big-endian targets
atanasyan Aug 6, 2021
454f69b
[LLD] Add required `ppc` target to the test cases. NFC
atanasyan Aug 7, 2021
45685a1
[MCA] Simplify the rounding logic used in TimelineView::printWaitTime…
adibiagio Aug 7, 2021
a00aafc
[VPlan] Iterate over phi recipes to detect reductions to fix.
fhahn Aug 7, 2021
ffc3fb6
SROA: Enhance speculateSelectInstLoads
cdevadas Jul 23, 2021
d05d4e7
[NFC][InstCombine] Autogenerate checklines in a few tests being affec…
LebedevRI Aug 7, 2021
d88d279
[NFC][InstCombine] Add tests for low bit splatting pattern (PR51305)
LebedevRI Aug 7, 2021
e718705
[InstCombine] Prefer `-(x & 1)` as the low bit splatting pattern (PR5…
LebedevRI Aug 7, 2021
c6ff867
[NFC][InstCombine] Simplify emitted IR for `vector_reduce_xor(?ext(<n…
LebedevRI Aug 7, 2021
0a241e9
[NFC][InstCombine] `vector_reduce_xor(?ext(<n x i1>))` --> `?ext(vect…
LebedevRI Aug 7, 2021
c21f6dc
[IR] Remove unused declaration InitializeTypeMap (NFC)
kazutakahirata Aug 7, 2021
8a2d1b1
[X86] Add test cases for pr51371. NFC
topperc Aug 7, 2021
24dfba8
[X86] Teach shouldSinkOperands to recognize pmuldq/pmuludq patterns.
topperc Aug 7, 2021
618543b
[clang][NFC] Fix a -Wparentheses warning.
topperc Aug 7, 2021
262289c
[OpenMP] mark target task untied
ye-luo Aug 7, 2021
a9a176c
[InstCombine] Remove nnan requirement for transformation to fabs from…
Krishnakariya Aug 7, 2021
a382a74
[clang] Fix libclang linking on Solaris
rorth Aug 7, 2021
88003ce
[MemCpyOpt] Remove MemDepAnalysis-based implementation
nikic May 8, 2021
47a889c
[lldb] Move Objective-C constants into ObjCConstants.h
JDevlieghere Aug 7, 2021
d4ee84c
[RISCV] Support FP_TO_S/UINT_SAT for i32 and i64.
topperc Aug 7, 2021
5894134
[RISCV] Autogenerate test. NFC
topperc Aug 8, 2021
4c0d15f
Update `llvm-readobj` command invocation in extract-section.py
mshockwave Aug 8, 2021
657bb72
[M68k] Separate ADDA from ADD and migrate rest of the arithmetic MC t…
mshockwave Aug 7, 2021
67278b8
[LV] Support Interleaved Store Group With Gaps
dnuzman Jun 17, 2021
ab4b468
[mlir] Avoid including <alloca.h> on FreeBSD and NetBSD
DimitryAndric Aug 7, 2021
400cd6d
[libomptarget][amdgpu] use --allow-shlib-undefined to link on FreeBSD
DimitryAndric Aug 7, 2021
d9c9d13
[DWARF] Remove collectChildrenAddressRanges (NFC)
kazutakahirata Aug 8, 2021
c5c3cdb
[clangd] Populate-switch triggers when the whole condition is selected.
sam-mccall Aug 8, 2021
2167e23
[M68k] Update disassembler test case following up ADD / ADDA changes
mshockwave Aug 8, 2021
20dfe05
[RISCV] Move the $rs operand of PseudoStore from outs to ins. NFC
topperc Aug 8, 2021
88bc29f
[RISCV] Introduce a RISCV CondCode enum instead of using ISD:SET* in …
topperc Aug 8, 2021
6606936
[RISCV] Remove -target-abi from half-bitmanip-dagcombines.ll.
topperc Aug 9, 2021
2f3b738
[RISCV] Add optimizations for FMV_X_ANYEXTH similar to FMV_X_ANYEXTW_…
topperc Aug 9, 2021
b5e470a
[LowerMemIntrinsics] Typo fix.
darkbuck Aug 9, 2021
fcf2d5f
Revert "SROA: Enhance speculateSelectInstLoads"
cdevadas Aug 9, 2021
990e802
[MC][ELF] Do not error on parsing .debug_* section directive for MIPS
atanasyan Aug 8, 2021
c70fa6d
Fix gcc build error after D105519
PanTao2 Aug 9, 2021
f49c3a6
[llvm-readobj][XCOFF] Print the length of the string table.
Aug 9, 2021
1a18bb9
[AArch64] NFC: Remove DecodeVectorRegisterClass from disassembler
c-rhodes Aug 9, 2021
cf277f0
[M68k][NFC] Coalesce render methods in different asm register op class
mshockwave Aug 8, 2021
7cbcde4
[M68k] Use separate asm operand class for different widths of address
mshockwave Aug 9, 2021
e8d60e7
[ARM] Regenerate ARM neon-copy.ll test. NFC
davemgreen Aug 9, 2021
15acaad
[doc] added section on generating the html doc
ChristianKuehnel Aug 4, 2021
b4e8fee
Merge from 'main' to 'sycl-web'
Aug 9, 2021
53642d5
[NFC] Fix the formula for reciprocal calculation.
LuoYuanke Aug 8, 2021
c84ad73
[CMake] Improve GetHostTriple for Windows/ARM configurations
mstorsjo Aug 6, 2021
aefdce8
fix the error caused by D107333:
Aug 9, 2021
743f78e
[InstrProfiling] Fix warnings when building for Windows
mstorsjo Aug 6, 2021
94c001d
[profile] Build with -fms-extensions in MinGW mode
mstorsjo Aug 6, 2021
2bb4ebb
[llvm-objcopy][ELF][NFC] Remove unneeded methods of Object
igorkudrin Aug 9, 2021
8813bc0
[LLDB] Skip random fails on Arm/AArch64 Linux buildbot
omjavaid Aug 9, 2021
b5c608c
[RISCV] Add tests covering shuffles which can be optimized
frasercrmck Aug 3, 2021
5f99670
[RISCV] Half-precision for vget/vset.
Hsiangkai Aug 3, 2021
2b4a1d4
[RISCV] Improve codegen for shuffles with LHS/RHS splats
frasercrmck Aug 4, 2021
8a7c657
[mlir] support nD vector forms of shifts in std-to-llvm conversion
ftynse Aug 9, 2021
14735ca
[lldb] [gdb-remote] Add eOpenOptionReadWrite for future gdb compat
mgorny Jul 28, 2021
8bbef4f
[lldb] [gdb-remote] Sync vFile:open mode constants with GDB
mgorny Jul 28, 2021
9929cfb
[lldb] [gdb-remote] Use hexadecimal numbers in vFile packats for GDB …
mgorny Aug 4, 2021
ca34f97
Merge from 'sycl' to 'sycl-web' (#1)
abhinavgaba Aug 9, 2021
f9ffe61
[OpenCL] Factor out OpenCLBuiltinFileEmitterBase; NFC
svenvh Aug 9, 2021
0dda542
[DWARF5] Fix offset check when using .debug_names
ktran Aug 9, 2021
d4ce9e4
[DWARF] Revert sharing subprograms across CUs
jmorse Aug 9, 2021
a2acac6
Have compiler-rt/test/fuzzer report info to help diagnose a test issue
pogo59 Aug 9, 2021
d6bf9dc
[lldb] [test] Fix TestGdbRemotePlatformFile with non-022 umask
mgorny Aug 9, 2021
19bd806
[OpenCL] Add missing virtual destructor
svenvh Aug 9, 2021
3d2d3b3
[libc++] [test] IWYU in <concepts> tests.
Quuxplusone Aug 6, 2021
0dc57a6
[lldb] [test] Mark new vFile tests as XFAIL on Windows
mgorny Aug 9, 2021
116b112
[lldb] [test] Use Windows-friendly modes in vFile O_CREAT tests
mgorny Aug 9, 2021
187c69e
Reapply "[lit] Have REQUIRES support the target triple"
pogo59 Aug 9, 2021
c0eb942
[Test] Precommit tests for PR50555
anton-afanasyev Aug 9, 2021
73ecb99
[AArch64][SVE] Fix assertion failure when lowering fixed length gathe…
brads55 Aug 5, 2021
c82ba4b
[libc] Update size distributions for memory benchmarks
gchatelet Aug 9, 2021
e382f59
[DWARF] Remove findRange (NFC)
kazutakahirata Aug 9, 2021
39ca3e5
Update: clang/test/Profile/gcc-flag-compatibility.c to have -flto on AIX
madanial0 Aug 9, 2021
eabae4c
[Flang] Ported test_symbols to Python
Aug 9, 2021
875a16b
[lldb] Fix break introduced in 14735ca
rgiese Aug 9, 2021
52d89d2
[lldb] [test] Mark vFile tests as LLGS-specific
mgorny Aug 9, 2021
3240000
[lldb][NFC] Remove never read member variable IOHandler::m_editing
Teemperor Aug 9, 2021
96ed451
[libc++][NFC] Remove MSVC specific code.
mordante Aug 8, 2021
6f85d9e
[libc++][doc] Improve contributor documentation.
mordante Aug 5, 2021
65f5290
[flang] Implement runtime Assign()
klausler Jul 29, 2021
49fabd9
[openmp] Do not use shared memory on Android
pirama-arumuga-nainar Jul 30, 2021
41f4d47
[flang] Make `flang` translate `-M{fixed|free}` into `-f{fixed|free}-…
banach-space Jul 29, 2021
dc11e69
[compiler-rt] Speculative fix for cross_over_uniform_dist.test
pogo59 Aug 9, 2021
6ec36d1
[cuda] Mark builtin texture/surface reference variable as 'externally…
darkbuck Aug 8, 2021
5f6b4ce
[InstCombine] Remove nnan requirement for transformation to fabs from…
Krishnakariya Aug 9, 2021
4c830b5
Revert "[lldb] [test] Use Windows-friendly modes in vFile O_CREAT tests"
mgorny Aug 9, 2021
816aa9a
Revert "[lldb] [test] Mark new vFile tests as XFAIL on Windows"
mgorny Aug 9, 2021
27b238a
[lldb] [test] Skip all vFile tests on Windows
mgorny Aug 9, 2021
b987c28
[coro] Correct CurrentBlock tracking bug recently introduced
aschwaighofer Aug 4, 2021
69a909b
[sanitizer] Intercept sem_open/sem_unlink
vitalybuka Aug 6, 2021
9b74924
Revert "[sanitizer] Intercept sem_open/sem_unlink"
fmayer Aug 9, 2021
511ac6f
[flang] Silence new build warning
klausler Aug 9, 2021
ac20e56
[AArch64] Implement FCOPYSIGN for SVE.
efriedma-quic Aug 5, 2021
05c7f45
[mlir][sparse] add dense to sparse conversion implementation
aartbik Aug 7, 2021
a5915f9
Revert "[compiler-rt] Speculative fix for cross_over_uniform_dist.test"
pogo59 Aug 9, 2021
5b2037f
Revert "Reapply "[lit] Have REQUIRES support the target triple""
pogo59 Aug 9, 2021
d232ec3
[libc++] Add timeout to BuildKite jobs
ldionne Aug 9, 2021
f599e7a
[libc++] Refactor __perfect_forward, bind_front and not_fn
ldionne Jul 30, 2021
15cacab
[lldb] [test] Skip Expr/nodefaultlib.cpp test if LD_PRELOAD Is used
mgorny Aug 7, 2021
8cf8349
[mlir][sparse] add an elaborate sparse storage scheme integration test
aartbik Aug 9, 2021
edaffeb
Cloned from CL 389610703 by 'g4 patch'.
pifon2a Aug 9, 2021
ba06ac8
[clangd] Support `#pragma mark` in the outline
DavidGoldman Jul 12, 2021
614c7d0
[lldb] [cmake] Add LLVM_LIT_ARGS override support for standalone builds
mgorny Aug 7, 2021
85bbc05
[AArch64][SVE][InstCombine] Move last{a,b} before binop if one operan…
UsmanNadeem Jul 28, 2021
5420fc4
[AArch64][SVE][InstCombine] Unpack of a splat vector -> Scalar extend
UsmanNadeem Aug 6, 2021
706bd12
[libc++][NFC] Remove workaround for variadic templates in C++03
ldionne Aug 9, 2021
9d982c6
[libcxx][ranges] Add `ranges::reverse_view`.
zoecarver Jul 29, 2021
2708cca
[gn build] Port 9d982c67ba01
llvmgnsyncbot Aug 9, 2021
a350089
[HIP] Allow target addr space in target builtins
gandhi56 Aug 9, 2021
41e3ac3
[AIX]: Fix option processing for -b
Aug 9, 2021
27c2fa4
[mlir][Analysis] Revert D107221
matthias-springer Aug 10, 2021
ab03a84
[mlir][Analysis][NFC] Disambiguate FlatAffineConstraints constructor
matthias-springer Aug 10, 2021
b978df4
[Driver][test] Improve avr-toolchain.c
MaskRay Aug 10, 2021
69d6708
Merge remote-tracking branch 'otcshare_llvm/sycl-web' into llvmspirv_…
vmaksimo Aug 10, 2021
9eb5581
Merge commit 'b978df4af4c8a668550fa035b70795312bf41f44' into llvmspir…
vmaksimo Aug 10, 2021
99830ee
Fix getSPIRVBuiltin assertion failure
Nuullll Aug 4, 2021
bf15a8c
Fix test for LLVM DIExpression const-folder
svenvh Aug 6, 2021
df9c62a
Fix SPV-IR for OpBuildNDRange (#1145)
Fznamznon Aug 6, 2021
5c4c4c6
Fix failing lit test after community commit 3c8e94bc20e5
vmaksimo Aug 12, 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
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,7 @@ void ChangeNamespaceTool::registerMatchers(ast_matchers::MatchFinder *Finder) {
hasDeclaration(DeclMatcher),
unless(templateSpecializationType()))))),
hasParent(nestedNameSpecifierLoc()),
hasAncestor(isImplicit()),
hasAncestor(decl(isImplicit())),
hasAncestor(UsingShadowDeclInClass),
hasAncestor(functionDecl(isDefaulted())))),
hasAncestor(decl().bind("dc")))
Expand All @@ -466,7 +466,7 @@ void ChangeNamespaceTool::registerMatchers(ast_matchers::MatchFinder *Finder) {
hasAncestor(decl(IsInMovedNs).bind("dc")),
loc(nestedNameSpecifier(
specifiesType(hasDeclaration(DeclMatcher.bind("from_decl"))))),
unless(anyOf(hasAncestor(isImplicit()),
unless(anyOf(hasAncestor(decl(isImplicit())),
hasAncestor(UsingShadowDeclInClass),
hasAncestor(functionDecl(isDefaulted())),
hasAncestor(typeLoc(loc(qualType(hasDeclaration(
Expand Down Expand Up @@ -495,7 +495,7 @@ void ChangeNamespaceTool::registerMatchers(ast_matchers::MatchFinder *Finder) {
hasAncestor(cxxRecordDecl()))),
hasParent(namespaceDecl()));
Finder->addMatcher(expr(hasAncestor(decl().bind("dc")), IsInMovedNs,
unless(hasAncestor(isImplicit())),
unless(hasAncestor(decl(isImplicit()))),
anyOf(callExpr(callee(FuncMatcher)).bind("call"),
declRefExpr(to(FuncMatcher.bind("func_decl")))
.bind("func_ref"))),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ void ProBoundsConstantArrayIndexCheck::registerPPCallbacks(
void ProBoundsConstantArrayIndexCheck::registerMatchers(MatchFinder *Finder) {
// Note: if a struct contains an array member, the compiler-generated
// constructor has an arraySubscriptExpr.
Finder->addMatcher(
arraySubscriptExpr(
hasBase(ignoringImpCasts(hasType(constantArrayType().bind("type")))),
hasIndex(expr().bind("index")), unless(hasAncestor(isImplicit())))
.bind("expr"),
this);
Finder->addMatcher(arraySubscriptExpr(hasBase(ignoringImpCasts(hasType(
constantArrayType().bind("type")))),
hasIndex(expr().bind("index")),
unless(hasAncestor(decl(isImplicit()))))
.bind("expr"),
this);

Finder->addMatcher(
cxxOperatorCallExpr(
Expand Down
19 changes: 19 additions & 0 deletions clang-tools-extra/clangd/AST.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TypeLoc.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Specifiers.h"
Expand Down Expand Up @@ -481,6 +483,23 @@ llvm::Optional<QualType> getDeducedType(ASTContext &ASTCtx,
return V.DeducedType;
}

std::vector<const Attr *> getAttributes(const DynTypedNode &N) {
std::vector<const Attr *> Result;
if (const auto *TL = N.get<TypeLoc>()) {
for (AttributedTypeLoc ATL = TL->getAs<AttributedTypeLoc>(); !ATL.isNull();
ATL = ATL.getModifiedLoc().getAs<AttributedTypeLoc>()) {
Result.push_back(ATL.getAttr());
assert(!ATL.getModifiedLoc().isNull());
}
}
if (const auto *S = N.get<AttributedStmt>())
for (; S != nullptr; S = dyn_cast<AttributedStmt>(S->getSubStmt()))
llvm::copy(S->getAttrs(), std::back_inserter(Result));
if (const auto *D = N.get<Decl>())
llvm::copy(D->attrs(), std::back_inserter(Result));
return Result;
}

std::string getQualification(ASTContext &Context,
const DeclContext *DestContext,
SourceLocation InsertionPoint,
Expand Down
4 changes: 4 additions & 0 deletions clang-tools-extra/clangd/AST.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
namespace clang {
class SourceManager;
class Decl;
class DynTypedNode;

namespace clangd {

Expand Down Expand Up @@ -121,6 +122,9 @@ QualType declaredType(const TypeDecl *D);
/// If the type is an undeduced auto, returns the type itself.
llvm::Optional<QualType> getDeducedType(ASTContext &, SourceLocation Loc);

/// Return attributes attached directly to a node.
std::vector<const Attr *> getAttributes(const DynTypedNode &);

/// Gets the nested name specifier necessary for spelling \p ND in \p
/// DestContext, at \p InsertionPoint. It selects the shortest suffix of \p ND
/// such that it is visible in \p DestContext.
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/clangd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ add_clang_library(clangDaemon
DumpAST.cpp
ExpectedTypes.cpp
FeatureModule.cpp
Features.cpp
Feature.cpp
FindSymbols.cpp
FindTarget.cpp
FileDistance.cpp
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/clangd/ClangdLSPServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "Diagnostics.h"
#include "DraftStore.h"
#include "DumpAST.h"
#include "Features.h"
#include "Feature.h"
#include "GlobalCompilationDatabase.h"
#include "LSPBinder.h"
#include "Protocol.h"
Expand Down
28 changes: 28 additions & 0 deletions clang-tools-extra/clangd/CollectMacros.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,33 @@ void CollectMainFileMacros::add(const Token &MacroNameTok, const MacroInfo *MI,
else
Out.UnknownMacros.push_back({Range, IsDefinition});
}

class CollectPragmaMarks : public PPCallbacks {
public:
explicit CollectPragmaMarks(const SourceManager &SM,
std::vector<clangd::PragmaMark> &Out)
: SM(SM), Out(Out) {}

void PragmaMark(SourceLocation Loc, StringRef Trivia) override {
if (isInsideMainFile(Loc, SM)) {
// FIXME: This range should just cover `XX` in `#pragma mark XX` and
// `- XX` in `#pragma mark - XX`.
Position Start = sourceLocToPosition(SM, Loc);
Position End = {Start.line + 1, 0};
Out.emplace_back(clangd::PragmaMark{{Start, End}, Trivia.str()});
}
}

private:
const SourceManager &SM;
std::vector<clangd::PragmaMark> &Out;
};

std::unique_ptr<PPCallbacks>
collectPragmaMarksCallback(const SourceManager &SM,
std::vector<PragmaMark> &Out) {
return std::make_unique<CollectPragmaMarks>(SM, Out);
}

} // namespace clangd
} // namespace clang
12 changes: 12 additions & 0 deletions clang-tools-extra/clangd/CollectMacros.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,18 @@ class CollectMainFileMacros : public PPCallbacks {
MainFileMacros &Out;
};

/// Represents a `#pragma mark` in the main file.
///
/// There can be at most one pragma mark per line.
struct PragmaMark {
Range Rng;
std::string Trivia;
};

/// Collect all pragma marks from the main file.
std::unique_ptr<PPCallbacks>
collectPragmaMarksCallback(const SourceManager &, std::vector<PragmaMark> &Out);

} // namespace clangd
} // namespace clang

Expand Down
50 changes: 35 additions & 15 deletions clang-tools-extra/clangd/CompileCommands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -222,22 +222,42 @@ void CommandMangler::adjust(std::vector<std::string> &Cmd,
/*FlagsToExclude=*/driver::options::NoDriverOption |
(IsCLMode ? 0 : driver::options::CLOption));

// Move the inputs to the end, separated via `--` from flags. This ensures
// modifications done in the following steps apply in more cases (like setting
// -x, which only affects inputs that come after it).
if (!ArgList.hasArgNoClaim(driver::options::OPT__DASH_DASH)) {
// Drop all the inputs and only add one for the current file.
llvm::SmallVector<unsigned, 1> IndicesToDrop;
for (auto *Input : ArgList.filtered(driver::options::OPT_INPUT))
IndicesToDrop.push_back(Input->getIndex());
llvm::sort(IndicesToDrop);
llvm::for_each(llvm::reverse(IndicesToDrop),
// +1 to account for the executable name in Cmd[0] that
// doesn't exist in ArgList.
[&Cmd](unsigned Idx) { Cmd.erase(Cmd.begin() + Idx + 1); });
Cmd.push_back("--");
Cmd.push_back(File.str());
llvm::SmallVector<unsigned, 1> IndicesToDrop;
// Having multiple architecture options (e.g. when building fat binaries)
// results in multiple compiler jobs, which clangd cannot handle. In such
// cases strip all the `-arch` options and fallback to default architecture.
// As there are no signals to figure out which one user actually wants. They
// can explicitly specify one through `CompileFlags.Add` if need be.
unsigned ArchOptCount = 0;
for (auto *Input : ArgList.filtered(driver::options::OPT_arch)) {
++ArchOptCount;
for (auto I = 0U; I <= Input->getNumValues(); ++I)
IndicesToDrop.push_back(Input->getIndex() + I);
}
// If there is a single `-arch` option, keep it.
if (ArchOptCount < 2)
IndicesToDrop.clear();

// Strip all the inputs and `--`. We'll put the input for the requested file
// explicitly at the end of the flags. This ensures modifications done in the
// following steps apply in more cases (like setting -x, which only affects
// inputs that come after it).
for (auto *Input : ArgList.filtered(driver::options::OPT_INPUT))
IndicesToDrop.push_back(Input->getIndex());
// Anything after `--` is also treated as input, drop them as well.
if (auto *DashDash =
ArgList.getLastArgNoClaim(driver::options::OPT__DASH_DASH)) {
Cmd.resize(DashDash->getIndex() + 1); // +1 to account for Cmd[0].
}
llvm::sort(IndicesToDrop);
llvm::for_each(llvm::reverse(IndicesToDrop),
// +1 to account for the executable name in Cmd[0] that
// doesn't exist in ArgList.
[&Cmd](unsigned Idx) { Cmd.erase(Cmd.begin() + Idx + 1); });
// All the inputs are stripped, append the name for the requested file. Rest
// of the modifications should respect `--`.
Cmd.push_back("--");
Cmd.push_back(File.str());

for (auto &Edit : Config::current().CompileFlags.Edits)
Edit(Cmd);
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/clangd/ConfigCompile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include "ConfigFragment.h"
#include "ConfigProvider.h"
#include "Diagnostics.h"
#include "Features.h"
#include "Feature.h"
#include "TidyProvider.h"
#include "support/Logger.h"
#include "support/Path.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
//===--- Features.cpp - Compile-time configuration ------------------------===//
//===--- Feature.cpp - Compile-time configuration ------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "Features.h"
#include "Feature.h"
#include "clang/Basic/Version.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Host.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
//===--- Features.h - Compile-time configuration ------------------*-C++-*-===//
//===--- Feature.h - Compile-time configuration ------------------*-C++-*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
// This file is not named "Features.h" because of a conflict with libstdc++:
// https://github.com/clangd/clangd/issues/835
//===----------------------------------------------------------------------===//

#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_FEATURES_H
#define LLVM_CLANG_TOOLS_EXTRA_CLANGD_FEATURES_H
#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_FEATURE_H
#define LLVM_CLANG_TOOLS_EXTRA_CLANGD_FEATURE_H
#include <string>

// Export constants like CLANGD_BUILD_XPC
Expand Down
Loading