Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
352 commits
Select commit Hold shift + click to select a range
a0869b1
[CostModel][X86] Fix expanded CTPOP i8 costs
RKSimon Feb 21, 2024
4d4af15
[NFC][flang][OpenMP] Split `DataSharing` and `Clause` processors (#81…
ergawy Feb 21, 2024
5a023f5
[AArch64][SVE2] Enable dynamic shuffle for fixed length types. (#72490)
Feb 21, 2024
7318585
[clang] Implement CWG1719 "Layout compatibility and cv-qualification …
Endilll Feb 21, 2024
9c0e45d
[SystemZ] Use VT (not ArgVT) for SlotVT in LowerCall(). (#82475)
JonPsson1 Feb 21, 2024
e214f00
[mlir][Transforms][NFC] Turn in-place op modification into `IRRewrite…
matthias-springer Feb 21, 2024
3a70335
[mlir][Transforms] Support rolling back properties in dialect convers…
matthias-springer Feb 21, 2024
b49f155
[mlir][Transforms][NFC] Simplify `ArgConverter` state (#81462)
matthias-springer Feb 21, 2024
f037e70
[RISCV][TTI] Cost a subvector extract at a register boundary with exa…
preames Feb 21, 2024
3ee8c93
[Offload] Fix NVPTX global entry names
jhuber6 Feb 21, 2024
ffcdf47
[clang][Interp] Allow adding an offset to a function pointer
tbaederr Feb 21, 2024
4beb4d5
[CostModel][X86] Add test coverage for icmp vs zero
RKSimon Feb 21, 2024
c16d0d1
[SimplifyCFG] Add test coverage for #80122
RKSimon Feb 21, 2024
9978f6a
[CostModel][X86] Reduce the extra costs for ICMP complex predicates w…
RKSimon Feb 21, 2024
453b1a2
[LLVM][DWARF] Refactor code for generating DWARF V5 .debug_names (#82…
cmtice Feb 21, 2024
13b0321
[clang][Interp][NFC] Reject unimplemented cast expressions differently
tbaederr Feb 21, 2024
3f732c4
[mlir][Transforms] Fix use-after-free in #82474 (#82504)
matthias-springer Feb 21, 2024
2cd59bd
[RISCV] Add test case for miscompile in gather -> strided load combin…
lukel97 Feb 21, 2024
2e29c91
Revert "[Coro] [async] Disable inlining in async coroutine splitting …
Feb 21, 2024
162fa4d
Module::getOrInsertFunction: set debug info format (#82505)
hvdijk Feb 21, 2024
71441ed
[mlir][Vector] Add vector bitwidth target to xfer op flattening (#81966)
dcaballe Feb 21, 2024
58f45d9
[flang][openmp] - depend clause support in target, target enter/updat…
bhandarkar-pranav Feb 21, 2024
cc374d8
[OpenMP] Remove `register_requires` global constructor (#80460)
jhuber6 Feb 21, 2024
cc13f3b
Correctly round FP -> BF16 when SDAG expands such nodes (#82399)
majnemer Feb 21, 2024
0a518db
[InstallAPI] Set InstallAPI as a standalone tool instead of CC1 actio…
cyndyishida Feb 21, 2024
2c30180
[coro] [async] Don't fail on targets that don't support tail calls
Feb 21, 2024
e50a231
[flang][OpenMP] Add support for copyprivate (#80485)
luporl Feb 21, 2024
579ae44
[InstallAPI] Add missing clangBasic library dependency
cyndyishida Feb 21, 2024
e7bfe41
[InstallAPI] Add additional missing library dependency
cyndyishida Feb 21, 2024
c5bbf97
[AMDGPU] fixes mistake in #82018 (#82223)
nickleus27 Feb 21, 2024
2167881
[ARM,MC] Support FDPIC relocations
MaskRay Feb 21, 2024
5488e3e
[InstallAPI] add explicit dependency on llvmOption library
cyndyishida Feb 21, 2024
6f0e39c
[NVPTX] Set ISD::FP_{EXTEND,ROUND} to Custom for more types
majnemer Feb 21, 2024
966b026
[NVPTX] Simplify handling of ISD::BF16_TO_FP
majnemer Feb 21, 2024
4247175
[nfc]For InstrProfData.inc, clang-format functions and opt-out of for…
mingmingl-llvm Feb 21, 2024
9c24688
[lldb][test] Modernize asserts (#82503)
rupprecht Feb 21, 2024
1c81b4a
[gn] port 0a518db99e0c (clang-installapi)
nico Feb 21, 2024
ddc0f1d
[TargetLowering] Actually add the adjustment to the significand
majnemer Feb 21, 2024
3d66d69
[VPlan] Support live-ins without underlying IR in type analysis. (#80…
fhahn Feb 21, 2024
22cf983
[VPlan] Use opaque pointers in VPlan unit test IR (#69947)
calebwat Feb 21, 2024
db9811c
Make lldbDataFormatters.py compatible with Python 3.8 (#82518)
arichardson Feb 21, 2024
baf6bd3
[Clang] Fixes to immediate-escalating functions (#82281)
cor3ntin Feb 21, 2024
5daf200
[BOLT] Fix memory leak in BinarySection (#82520)
maksfb Feb 21, 2024
7fa8585
[NFC][clang] Remove trailing whitespaces
bwendling Feb 21, 2024
cb1fed3
[NVPTX] Correctly guard int -> bf16 on PTX version and SM version
majnemer Feb 21, 2024
d4fd202
[mlir] Use arith max or min ops instead of cmp + select (#82178)
Feb 21, 2024
cd160a6
[VPlan] Do not add call results with void type to State (NFC).
fhahn Feb 21, 2024
99c457d
Unbreak *tf builtins for hexfloat (#82208)
arichardson Feb 21, 2024
81b4b89
[Sanitizer] Support -fwrapv with -fsanitize=signed-integer-overflow (…
JustinStitt Feb 21, 2024
c63e68b
Bump the minimum LLVM version for TestTypeList.py
rastogishubham Feb 21, 2024
2b2881b
Add namespace qualifier for llvm::StringRef
slackito Feb 21, 2024
9eff001
[TargetLowering] Correctly yield NaN from FP_TO_BF16
majnemer Feb 21, 2024
d17eade
Do not call disable / enable on null depot (#82542)
fmayer Feb 21, 2024
be36812
[TargetLowering] Be more efficient in fp -> bf16 NaN conversions
majnemer Feb 21, 2024
828bf13
[InstallAPI] Cleanup HeaderFile Interface & options handling, NFC (#8…
cyndyishida Feb 21, 2024
049e142
[libc] Fix startup utilities failing to install in full build mode (#…
jhuber6 Feb 21, 2024
300425c
Revert "[Docs] Add release note about Clang-defined target OS macros …
zixu-w Feb 21, 2024
699c408
[NFC][HWASAN] Fix misleading name
vitalybuka Feb 16, 2024
9ea9e93
[MachinePipeliner] Fix elements being added while the list is iterate…
ytmukai Feb 22, 2024
640e781
[BOLT][DWARF][NFC] Use SkeletonCU in place of IsDWO check (#82540)
ayermolo Feb 22, 2024
004c197
[BOLT][DWARF][NFC] Expose DebugStrOffsetsWriter::clear (#82548)
ayermolo Feb 22, 2024
f204aee
[mlir][GPU] Remove the SerializeToCubin pass (#82486)
fabianmcg Feb 22, 2024
4c0fdcd
[Hexagon] Generate absolute-set load/store instructions. (#82034)
Feb 22, 2024
d62ca8d
[Hexagon] Optimize post-increment load and stores in loops. (#82418)
Feb 22, 2024
a976e3c
[compiler-rt][Fuchsia] Propogate raw_report to UnmapOrDieVmar (#82566)
PiJoules Feb 22, 2024
ba31a19
[gn build] Port 4c0fdcdb3307
llvmgnsyncbot Feb 22, 2024
dd6d059
[gn build] Port d62ca8def395
llvmgnsyncbot Feb 22, 2024
99822be
Apply clang-tidy fixes for readability-identifier-naming in Serializa…
joker-eph Oct 20, 2023
4432479
Apply clang-tidy fixes for llvm-qualified-auto in InterfaceAttachment…
joker-eph Oct 20, 2023
df8d5c1
Apply clang-tidy fixes for llvm-qualified-auto in OperationSupportTes…
joker-eph Oct 20, 2023
fa25433
Apply clang-tidy fixes for modernize-use-override in SerializeNVVMTar…
joker-eph Oct 20, 2023
0d12628
Apply clang-tidy fixes for readability-container-size-empty in Serial…
joker-eph Oct 20, 2023
1eeeab8
[lldb][test] Modernize assertEqual(value, bool) (#82526)
rupprecht Feb 22, 2024
11d115d
[RISCV] Adjust test case to show wrong stride. NFC
lukel97 Feb 22, 2024
7e1432f
[lldb] Standardize command option parsing error messages (#82273)
bulbazord Feb 22, 2024
05af9c8
[TableGen] Suppress per-HwMode duplicate instructions/tables. (#82567)
nvjle Feb 22, 2024
815644b
[RISCV] Fix mgather -> riscv.masked.strided.load combine not extendin…
lukel97 Feb 22, 2024
db7e9e6
[TypeProf][InstrPGO] Introduce raw and instr profile format change fo…
mingmingl-llvm Feb 22, 2024
4d73cbe
[nfc]remove unused variable after pr/81691 (#82578)
mingmingl-llvm Feb 22, 2024
0e8d187
Revert type profiling change as compiler-rt test break on Windows. (#…
mingmingl-llvm Feb 22, 2024
386aa7b
[mlir][Vector] Replace `vector.shuffle` with `vector.interleave` in v…
dcaballe Feb 22, 2024
6757913
[lldb][test] Fix PythonDataObjectsTest
rupprecht Feb 22, 2024
6676f67
[mlir][Bazel] Remove stub target which is not needed anymore.
akuegel Feb 22, 2024
bc1c86b
[mlir][Bazel] Also remove SerializeToCubin target.
akuegel Feb 22, 2024
7e97ae3
[RISCV] Teach RISCVMakeCompressible handle Zca/Zcf/Zce/Zcd. (#81844)
yetingk Feb 22, 2024
edd4aee
[RISCV] Compute integers once in isSimpleVIDSequence. NFCI (#82590)
lukel97 Feb 22, 2024
e899641
[clang][dataflow] Fix inaccuracies in `buildStmtToBasicBlockMap()`. (…
martinboehme Feb 22, 2024
8bd327d
[AMDGPU][GlobalISel] Add fdiv / sqrt to rsq combine (#78673)
nickleus27 Feb 22, 2024
fde344a
[mlir][Transforms] Dialect conversion: Improve signature conversion A…
matthias-springer Feb 22, 2024
25e7e8d
[CGP] Permit tail call optimization on undefined return value
antoniofrighetto Feb 20, 2024
c5253aa
[AArch64] Restore Z-registers before P-registers (#79623) (#82492)
CarolineConcatto Feb 22, 2024
55558cd
[mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (…
matthias-springer Feb 22, 2024
fddf23c
[SPIRV] Add support for the SPV_KHR_subgroup_rotate extension (#82374)
VyacheslavLevytskyy Feb 22, 2024
6cca23a
[SPIRV] Prevent creation of jump tables from switch (#82287)
VyacheslavLevytskyy Feb 22, 2024
bcbffd9
[AMDGPU] Split Dpp8FI and Dpp16FI operands (#82379)
jayfoad Feb 22, 2024
6193233
[AArch64] Fix sched model for TSV110 core. (#82343)
yugr Feb 22, 2024
4a602d9
Add support for the SPV_INTEL_usm_storage_classes extension (#82247)
VyacheslavLevytskyy Feb 22, 2024
f01719a
[mlir][test] Add integration tests for vector.interleave (#80969)
MacDue Feb 22, 2024
e4d4ebe
[llvm][llvm-jitlink] Disable test on Windows on Arm
DavidSpickett Feb 22, 2024
b9ce237
[AMDGPU] Clean up conversion of DPP instructions in AMDGPUDisassemble…
jayfoad Feb 22, 2024
4f12f47
[AArch64] Switch to soft promoting half types. (#80576)
hvdijk Feb 22, 2024
3b7d433
[AMDGPU] Remove DPP DecoderNamespaces. NFC. (#82491)
jayfoad Feb 22, 2024
f17e415
[AArch64] Mangle names of all ARM64EC functions with entry thunks (#8…
bylaws Feb 22, 2024
1f99a45
[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)
sdesmalen-arm Feb 20, 2024
4235e44
[GlobalISel] Constant-fold G_PTR_ADD with different type sizes (#81473)
Pierre-vh Feb 22, 2024
3ef63a7
[CVP] Refactor `processMinMaxIntrinsic` to check non-strict predicate…
dtcxzyw Feb 22, 2024
c831d83
[InferAddrSpaces] Correctly replace identical operands of insts (#82610)
Pierre-vh Feb 22, 2024
73c646a
[flang] Fix warning when with clang-cl/msvc
DavidSpickett Feb 22, 2024
18f1166
Multilib support for libraries with exceptions (#75031)
pwprzybyla Feb 22, 2024
b47f63d
[Clang][SME] Detect always_inline used with mismatched streaming attr…
SamTebbs33 Feb 22, 2024
fa8a211
[analyzer] Improve handling of unsigned values in ArrayBoundCheckerV2…
NagyDonat Feb 22, 2024
afa8a2e
[analyzer] Remove superfluous #include "CallDescription.h" (NFC) (#82…
NagyDonat Feb 22, 2024
770fd38
[LangRef] Document string literals in LLVM's format (#82529)
Hixie Feb 22, 2024
5b8e560
[AIX] Lower intrinsic __builtin_cpu_is into AIX platform-specific cod…
diggerlin Feb 22, 2024
cbb24e1
[LLVM][IR] Add native vector support to ConstantInt & ConstantFP. (#7…
paulwalker-arm Feb 22, 2024
88e31f6
[OpenMP][FIX] Remove unsound omp_get_thread_limit deduplication (#79524)
MattPD Feb 22, 2024
d3f6dd6
[InstCombine] Pick bfloat over half when shrinking ops that started w…
d0k Feb 22, 2024
9dbedca
[build] Check RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES for libc also (…
petrhosek Feb 22, 2024
cf8fc53
[Flang][LLVM][OpenMP] Relax target data restrictions to be more inlin…
agozillon Feb 22, 2024
27498e9
[Flang][OpenMP] Prevent ICE for certain constructs in unnamed program…
skatrak Feb 22, 2024
8e28037
[SystemZ] Add SystemZ path for the PR labeler (#82515)
redstar Feb 22, 2024
307409a
[flang] Fix warning fix
DavidSpickett Feb 22, 2024
20434bf
[RemoveDIs][NFC] Add DPLabel class [2/3] (#82376)
OCHyams Feb 22, 2024
601c9be
[clang][NFC] Fix arm_acle.h title headers (#82624)
vhscampos Feb 22, 2024
08eced5
[mlir][test] Add -march=aarch64 -mattr=+sve to test-scalable-interleave
MacDue Feb 22, 2024
695a9d8
LoopVectorize: add test for crash in #72969 (#74111)
artagnon Feb 22, 2024
9eb5f94
[RISCV][AArch64] Add vscale_range attribute to tests per architecture…
preames Feb 22, 2024
0107c88
[RISCV][SDAG] Improve codegen of select with constants if zicond is a…
dtcxzyw Feb 22, 2024
43f1fa9
[LLVM][DebugInfo] Refactor some code for easier sharing. (#82153)
cmtice Feb 22, 2024
f67ef1a
[RISCV][LV] Add additional small trip count loop coverage
preames Feb 22, 2024
c9afd1a
[RISCV] Add test case showing missed opportunity to form sextload whe…
topperc Feb 22, 2024
a51f4af
[HCS] Externd to outline overlapping sub/super cold regions (#80732)
scui-ibm Feb 22, 2024
c1716e3
[DAGCombiner][RISCV] CSE zext nneg and sext. (#82597)
topperc Feb 22, 2024
5b53fa0
[RISCV] Enable -riscv-enable-sink-fold by default. (#82026)
topperc Feb 22, 2024
26cc6f1
[OpenACC] Implement 'break' and 'continue' errors for Compute Cnstrct…
erichkeane Feb 22, 2024
87b1e73
[ConstraintElim] Decompose sext-like insts for signed predicates (#82…
dtcxzyw Feb 22, 2024
26d71d9
[llvm-readobj,ELF] Support --decompress/-z (#82594)
MaskRay Feb 22, 2024
163eaf3
[CodeGen] Clean up MachineFunctionSplitter MBB safety checking (NFC)
dhoekwater Feb 22, 2024
6599c02
[HEXAGON] Fix bit boundary for isub_hi in HexagonBitSimplify (#82336)
yandalur Feb 22, 2024
b0edc1c
[Loads] Fix crash in isSafeToLoadUnconditionally with scalable access…
lukel97 Feb 22, 2024
5b079af
[libc] add FXBits class (#82065)
michaelrj-google Feb 22, 2024
3a85594
[NFC] Fix typo in ReleaseNotes.rst (#82655)
sethp Feb 22, 2024
bc841bb
[clang] Rename installapi tests, NFC
cyndyishida Feb 22, 2024
e630a45
[HCS] Fix unused variable warnings. NFCI.
d0k Feb 22, 2024
ea174c0
[Libomptarget] Remove global ctor and use reference counting (#80499)
jhuber6 Feb 22, 2024
ec24094
[LTO] Remove Config.UseDefaultPipeline (#82587)
igorkudrin Feb 22, 2024
54a6cf1
[DirectX][NFC] Use LLVM Types in DXIL Operation specifications in DXI…
bharadwajy Feb 22, 2024
2e7cacf
[clang-format] Fix crash in TokenAnnotator (#82349)
rymiel Feb 22, 2024
a23d4ce
[lldb][llvm] Return an error instead of crashing when parsing a line …
clayborg Feb 22, 2024
da1880c
GSym aggregated output to JSON file (#81763)
kevinfrei Feb 22, 2024
5c24c31
[clang] Implement CWG2759 "`[[no_unique_address]` and common initial …
Endilll Feb 22, 2024
cc83927
[CVP] Canonicalize signed minmax into unsigned (#82478)
dtcxzyw Feb 22, 2024
33a6ce1
[HIP] Allow partial linking for `-fgpu-rdc` (#81700)
yxsamliu Feb 22, 2024
1069823
Enable JumpTableToSwitch pass by default (#82546)
alexander-shaposhnikov Feb 22, 2024
4f7ab78
[mlir][mesh] add support in spmdization for incomplete sharding annot…
sogartar Feb 22, 2024
744c005
[AArch64][CodeGen] Fix crash when fptrunc returns fp16 with +nofp att…
nasherm Feb 22, 2024
6ddb25e
[scudo] increase frames per stack to 16 for stack depot (#82427)
fmayer Feb 22, 2024
242f98c
[Clang][SME] Skip writing output files to the source directory
d0k Feb 22, 2024
3168af5
LoopVectorize: Mark crash test as requiring assertions
d0k Feb 22, 2024
32994cc
[SLP]Improve findReusedOrderedScalars and graph rotation.
alexey-bataev Feb 22, 2024
2685e7e
[lldb][docs] Remove/update docs pointing to unittest2 (#82672)
rupprecht Feb 22, 2024
e88c255
[InstCombine] Add support for cast instructions in `getFreelyInverted…
dtcxzyw Feb 22, 2024
3b20fb3
[bazel] add missing dep after 5b079af169cd04b457465fd7ca31714efeefe6d9
slackito Feb 22, 2024
f5c8e9e
LoopVectorize/test: guard pr72969 with asserts (#82653)
artagnon Feb 22, 2024
c1e9883
[TOSA] TosaToLinalg: fix int64_t min/max lowering of clamp (#82641)
mgehre-amd Feb 22, 2024
66f6929
[HLSL][Doc] Add doc about expected differences (#82395)
llvm-beanz Feb 22, 2024
847048f
[mlir][Vector] Fix bug in vector xfer op flattening transformation (#…
dcaballe Feb 22, 2024
91e9e31
[NewPM/CodeGen] Rewrite pass manager nesting (#81068)
aeubanks Feb 22, 2024
7f71fa9
Extend GCC workaround to GCC < 8.4 for llvm::iterator_range ctor (#82…
RoboTux Feb 22, 2024
df6f756
Re-land [lldb-dap] Add support for data breakpoint. (#81909)
ZequanWu Feb 22, 2024
0eb64ee
[gn build] Port df6f756a1927
llvmgnsyncbot Feb 22, 2024
45fe67d
Fix build on musl by including stdint.h (#81434)
Calandracas606 Feb 22, 2024
47b7c91
[libc] Rework the GPU build to be a regular target (#81921)
jhuber6 Feb 22, 2024
3ed4b95
[Flang] Fix test not updated after 'clang' case change
jhuber6 Feb 22, 2024
7276352
[LSR] Clear SCEVExpander before calling DeleteDeadPHIs
nikic Feb 22, 2024
d4bfca3
[clang][CodeGen] Keep processing the rest of AST after encountering u…
whentojump Feb 22, 2024
ae3e142
Fix test/Dialect/Vector/vector-transfer-flatten.mlir
dcaballe Feb 22, 2024
e2f0826
[MLIR] Fix LLVM dialect specification to use AnySignlessInteger inste…
joker-eph Feb 22, 2024
e314622
[clang][driver] Allow unaligned access on ARMv7 and higher by default…
ilovepi Feb 22, 2024
d5a15f3
[Clang][NVPTX] Allow passing arguments to the linker while standalone…
jhuber6 Feb 22, 2024
018c992
[Flang] Fix the test ordering of the GPU libraries
jhuber6 Feb 22, 2024
bc5aba9
[CodeGen][MIR][UnitTests] Fix shared build. NFC
darkbuck Feb 22, 2024
87b4108
[Libomptarget][NFC] Remove concept of optional plugin functions (#82681)
jhuber6 Feb 22, 2024
e3cab8f
[LinkerWrapper] Fix test after permitting NVPTX linker arguments
jhuber6 Feb 22, 2024
4ebee95
[mlir][test] Fix -Wunused-variable in PassBuilderCallbacksTest.cpp (NFC)
DamonFool Feb 22, 2024
e8740d4
[Clang] Fix missing architecture on CUDA test
jhuber6 Feb 22, 2024
5bd0c44
[libc] Match the names of BSD sys/queue.h member names (#82696)
petrhosek Feb 22, 2024
aaf2d07
[Hexagon] Clean up redundant transfer instructions. (#82663)
Feb 22, 2024
568baba
[AArch64] Implement __builtin_cpu_supports, compiler-rt tests. (#82378)
ilinpv Feb 22, 2024
2b0f566
[gn build] Port aaf2d078b622
llvmgnsyncbot Feb 22, 2024
d57f158
[Tosa] Add Tosa Sin and Cos operators (#82510)
Jerry-Ge Feb 22, 2024
f37c6d5
[AMDGPU][NFC] Refactor SIInsertWaitcnts zero waitcnt generation (#82575)
vangthao95 Feb 22, 2024
cd1d4d8
[mlir][Vector] Add missing CHECK rules to vector-transfer-flatten.mli…
dcaballe Feb 22, 2024
ac518c7
[RISCV] Vector sub (zext, zext) -> sext (sub (zext, zext)) (#82455)
preames Feb 23, 2024
9e84a22
[libc] Silence warnings when building GPU tests (#82701)
jhuber6 Feb 23, 2024
7a5c01d
[libc] Search the compiler's path for GPU utility tools (#82712)
jhuber6 Feb 23, 2024
590c968
[NVPTX] fixup support for unaligned parameters and returns (#82562)
AlexMaclean Feb 23, 2024
19e518d
[Clang][Parser] Have the depth of the abbreviated generic lambdas ins…
zyn0217 Feb 23, 2024
5ccf546
[llvm][cmake] Performing expensive checks requires enabling assert. (…
huaatian Feb 23, 2024
2e5af56
[C++20] [Modules] Allow to compile a pcm with and without -fPIC
ChuanqiXu9 Feb 23, 2024
6e6bf9f
[WebAssembly] Disable multivalue emission temporarily (#82714)
aheejin Feb 23, 2024
ca09e08
[Symbolizer][WebAssembly] Use wasm-specific getSymbolSize (#82083)
dschuff Feb 23, 2024
de41eae
[SelectionDAG][RISCV] Use FP type for legality query for LRINT/LLRINT…
topperc Feb 23, 2024
2d50703
[RISCV] Use RISCVSubtarget::getRealVLen() in more places. NFC
lukel97 Feb 23, 2024
0d72fe9
[mlir] Fix FunctionOpInterface extraSharedClassDeclaration to be full…
shkoo Feb 23, 2024
afd4690
[lldb] Fix term-width setting (#82736)
JDevlieghere Feb 23, 2024
850dde0
[RISCV][VP] Introduce vp saturating addition/subtraction and RISC-V s…
yetingk Feb 23, 2024
d7a28f7
[RISCV] Add asserts for insert/extract_subvector invariants. NFC
lukel97 Feb 23, 2024
1fe6be8
[X86] Support APXF to enable __builtin_cpu_supports. (#80636)
FreddyLeaf Feb 23, 2024
354401f
[lldb] Fix GetTerminalWidth after afd469023aad
JDevlieghere Feb 23, 2024
531e8c2
[llvm][AArch64] Autoupgrade function attributes from Module attribute…
DanielKristofKiss Feb 23, 2024
6fae3e7
[llvm][AArch64] Do not inline a function with different signing schem…
DanielKristofKiss Feb 23, 2024
5ca8775
[clang][analyzer] Fix argument invalidations in StreamChecker. (#79470)
balazske Feb 23, 2024
d68d295
[mlir][Transforms][NFC] Turn op/block arg replacements into `IRRewrit…
matthias-springer Feb 23, 2024
b014944
[NFC] [doc] Mentioning to include the guard headers from imported mod…
ChuanqiXu9 Feb 23, 2024
ace83da
[clang][Interp][NFC] Improve Program dump()ing
tbaederr Feb 23, 2024
9ca70d7
[mlir][Transforms][NFC] Turn op creation into `IRRewrite` (#81759)
matthias-springer Feb 23, 2024
59ff4d1
[mlir][Transforms][NFC] Turn unresolved materializations into `IRRewr…
matthias-springer Feb 23, 2024
b13c8e5
Revert "[llvm][AArch64] Autoupgrade function attributes from Module a…
DanielKristofKiss Feb 23, 2024
2ae8bee
[ARM][GlobalISel] Remove legacy legalizer rules (#82619)
Pierre-vh Feb 23, 2024
bbdc62e
[AArch64][CostModel] Improve scalar frem cost (#80423)
paschalis-mpeis Feb 23, 2024
335d34d
[MLIR][LLVM] Fix debug intrinsic import (#82637)
gysit Feb 23, 2024
a622b21
[mlir][Transforms] Make `ConversionPatternRewriter` constructor priva…
matthias-springer Feb 23, 2024
b39f566
[mlir][ArmSME] Add test-lower-to-arm-sme pipeline (#81732)
c-rhodes Feb 23, 2024
7889090
[mlir][math] Propagate scalability in `convert-math-to-llvm` (#82635)
MacDue Feb 23, 2024
13acb3a
[clang][Interp] Don't diagnose alread invalid function decls
tbaederr Feb 23, 2024
5f1319b
[mlir][Transforms] Encapsulate dialect conversion options in `Convers…
matthias-springer Feb 23, 2024
5cb2ebc
Reland "[clang] Preserve found-decl when constructing VarTemplateIds"…
kadircet Feb 23, 2024
4419b2c
[clangd] Make tidy-rename tests conditional
kadircet Feb 23, 2024
de04b7d
[analyzer] Fix core.VLASize checker false positive taint reports (#68…
dkrupp Feb 23, 2024
9dfb843
[include-cleaner] Use FoundDecl only for using-shadow-decls (#82615)
kadircet Feb 23, 2024
7bb08ee
[mlir][Transforms][NFC] Decouple `ConversionPatternRewriterImpl` from…
matthias-springer Feb 23, 2024
404854e
[clang][Interp][NFC] Print global variable initialization state
tbaederr Feb 23, 2024
e7c6091
Remove duplicated REQUIRES: asserts
d0k Feb 23, 2024
790bcec
[GlobalISel] Fix a check that aligned tail call is lowered (#82016)
e-kud Feb 23, 2024
22734e1
[Clang][AArch64] Fix 'svzero_za' intrinsic to take no arguments. (#82…
sdesmalen-arm Feb 23, 2024
3c90fce
[Clang][AArch64] Add missing prototypes for streaming-compatible rout…
sdesmalen-arm Feb 23, 2024
8a16422
[RemoveDIs] Add DPLabels support [3a/3] (#82633)
OCHyams Feb 23, 2024
cdf19d1
[Clang] Fix acle_sme_zero.c (missing aarch64-registered-target)
sdesmalen-arm Feb 23, 2024
e132643
Add build rule for MLIRArmSMETestPasses
tsitdikov Feb 23, 2024
3dfca24
[AMDGPU] Fix encoding of VOP3P dpp on GFX11 and GFX12 (#82710)
rampitec Feb 23, 2024
d9e4309
[mlir][NFC] Fix format specifier warning on Windows
zero9178 Feb 23, 2024
6ac2c04
Add TestArmSME dependency to mlir-opt library.
tsitdikov Feb 23, 2024
f1e0392
[RISCV] Disable generation of asynchronous unwind tables for RISCV ba…
quic-garvgupt Feb 23, 2024
3b3d097
[Clang] Fix acle_sme_zero.c once more.
sdesmalen-arm Feb 23, 2024
bcf9826
[MLIR] Expose approximation patterns for tanh/erf. (#82750)
jreiffers Feb 23, 2024
ddb4450
[ClangFormat] Fix indent in child lines within a macro argument. (#82…
r4nt Feb 23, 2024
b639dd3
[GlobalIsel] Combine ADDE
tschuett Feb 20, 2024
b8f3e54
address review comments
tschuett Feb 23, 2024
abcb97c
Merge branch 'gisel-adde' of github.com:tschuett/llvm-project into gi…
tschuett Feb 23, 2024
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
  •  
  •  
  •  
5 changes: 1 addition & 4 deletions .ci/generate-buildkite-pipeline-premerge
Original file line number Diff line number Diff line change
Expand Up @@ -233,10 +233,7 @@ linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq)

windows_projects_to_test=$(exclude-windows $(compute-projects-to-test ${modified_projects}))
windows_check_targets=$(check-targets ${windows_projects_to_test} | sort | uniq)
# Temporary disable the windows job.
# See https://discourse.llvm.org/t/rfc-future-of-windows-pre-commit-ci/76840
#windows_projects=$(add-dependencies ${windows_projects_to_test} | sort | uniq)
windows_projects=""
windows_projects=$(add-dependencies ${windows_projects_to_test} | sort | uniq)

# Generate the appropriate pipeline
if [[ "${linux_projects}" != "" ]]; then
Expand Down
11 changes: 10 additions & 1 deletion .ci/monolithic-windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ targets="${2}"

echo "--- cmake"
pip install -q -r ${MONOREPO_ROOT}/mlir/python/requirements.txt

# The CMAKE_*_LINKER_FLAGS to disable the manifest come from research
# on fixing a build reliability issue on the build server, please
# see https://github.com/llvm/llvm-project/pull/82393 and
# https://discourse.llvm.org/t/rfc-future-of-windows-pre-commit-ci/76840/40
# for further information.
cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
-D LLVM_ENABLE_PROJECTS="${projects}" \
-G Ninja \
Expand All @@ -49,7 +55,10 @@ cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
-D COMPILER_RT_BUILD_ORC=OFF \
-D CMAKE_C_COMPILER_LAUNCHER=sccache \
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache \
-D MLIR_ENABLE_BINDINGS_PYTHON=ON
-D MLIR_ENABLE_BINDINGS_PYTHON=ON \
-D CMAKE_EXE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_MODULE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO"

echo "--- ninja"
# Targets are not escaped as they are passed as separate arguments.
Expand Down
20 changes: 20 additions & 0 deletions .github/new-prs-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -846,6 +846,26 @@ backend:PowerPC:
- clang/lib/Driver/ToolChains/Arch/PPC.*
- clang/test/CodeGen/PowerPC/**

backend:SystemZ:
- llvm/include/llvm/BinaryFormat/ELFRelocs/SystemZ*
- llvm/include/llvm/BinaryFormat/GOFF.h
- llvm/include/llvm/IR/IntrinsicsSystemZ.td
- llvm/lib/Target/SystemZ/**
- llvm/test/Analysis/**/SystemZ/**
- llvm/test/CodeGen/SystemZ/**
- llvm/test/DebugInfo/SystemZ/**
- llvm/test/ExecutionEngine/**/SystemZ/**
- llvm/test/MC/Disassembler/SystemZ/**
- llvm/test/MC/GOFF/**
- llvm/test/MC/SystemZ/**
- llvm/test/Transforms/**/SystemZ/**
- clang/include/clang/Basic/BuiltinsSystemZ.*
- clang/lib/Basic/Targets/SystemZ.*
- clang/lib/CodeGen/Targets/SystemZ.cpp
- clang/lib/Driver/ToolChains/ZOS*
- clang/lib/Driver/ToolChains/Arch/SystemZ.*
- clang/test/CodeGen/SystemZ/**

third-party:unittests:
- third-party/unittests/**

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/release-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
name: Create a New Release
runs-on: ubuntu-latest
needs: validate-tag

steps:
- name: Install Dependencies
run: |
Expand All @@ -40,8 +41,9 @@ jobs:
- name: Create Release
env:
GITHUB_TOKEN: ${{ github.token }}
USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
run: |
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --release ${{ needs.validate-tag.outputs.release-version }} --user ${{ github.actor }} create
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --release ${{ needs.validate-tag.outputs.release-version }} --user ${{ github.actor }} --user-token "$USER_TOKEN" create
release-documentation:
name: Build and Upload Release Documentation
needs:
Expand Down
20 changes: 13 additions & 7 deletions bolt/include/bolt/Core/BinarySection.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,10 +139,7 @@ class BinarySection {
Alignment = NewAlignment;
ELFType = NewELFType;
ELFFlags = NewELFFlags;
OutputSize = NewSize;
OutputContents = StringRef(reinterpret_cast<const char *>(NewData),
NewData ? NewSize : 0);
IsFinalized = true;
updateContents(NewData, NewSize);
}

public:
Expand Down Expand Up @@ -484,9 +481,18 @@ class BinarySection {
void flushPendingRelocations(raw_pwrite_stream &OS,
SymbolResolverFuncTy Resolver);

/// Change contents of the section.
void updateContents(const uint8_t *Data, size_t NewSize) {
OutputContents = StringRef(reinterpret_cast<const char *>(Data), NewSize);
/// Change contents of the section. Unless the section has a valid SectionID,
/// the memory passed in \p NewData will be managed by the instance of
/// BinarySection.
void updateContents(const uint8_t *NewData, size_t NewSize) {
if (getOutputData() && !hasValidSectionID() &&
(!hasSectionRef() ||
OutputContents.data() != getContentsOrQuit(Section).data())) {
delete[] getOutputData();
}

OutputContents = StringRef(reinterpret_cast<const char *>(NewData),
NewData ? NewSize : 0);
OutputSize = NewSize;
IsFinalized = true;
}
Expand Down
8 changes: 6 additions & 2 deletions bolt/include/bolt/Core/DIEBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ class DIEBuilder {
std::vector<std::unique_ptr<DIEAbbrev>> Abbreviations;
BinaryContext &BC;
DWARFContext *DwarfContext{nullptr};
bool IsDWO{false};
DWARFUnit *SkeletonCU{nullptr};
uint64_t UnitSize{0};
llvm::DenseSet<uint64_t> AllProcessed;

Expand Down Expand Up @@ -264,8 +264,12 @@ class DIEBuilder {
/// current Section.
DIE *constructDIEFast(DWARFDie &DDie, DWARFUnit &U, uint32_t UnitId);

/// Returns true if this DIEBUilder is for DWO Unit.
bool isDWO() const { return SkeletonCU != nullptr; }

public:
DIEBuilder(BinaryContext &BC, DWARFContext *DwarfContext, bool IsDWO = false);
DIEBuilder(BinaryContext &BC, DWARFContext *DwarfContext,
DWARFUnit *SkeletonCU = nullptr);

/// Returns enum to what we are currently processing.
ProcessingType getCurrentProcessingState() { return getState().Type; }
Expand Down
8 changes: 7 additions & 1 deletion bolt/include/bolt/Core/DebugData.h
Original file line number Diff line number Diff line change
Expand Up @@ -450,10 +450,16 @@ class DebugStrOffsetsWriter {
return std::move(StrOffsetsBuffer);
}

private:
/// Initializes Buffer and Stream.
void initialize(DWARFUnit &Unit);

/// Clear data.
void clear() {
IndexToAddressMap.clear();
StrOffsets.clear();
}

private:
std::unique_ptr<DebugStrOffsetsBufferVector> StrOffsetsBuffer;
std::unique_ptr<raw_svector_ostream> StrOffsetsStream;
std::map<uint32_t, uint32_t> IndexToAddressMap;
Expand Down
13 changes: 1 addition & 12 deletions bolt/lib/Core/BinarySection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,18 +190,7 @@ void BinarySection::flushPendingRelocations(raw_pwrite_stream &OS,
clearList(PendingRelocations);
}

BinarySection::~BinarySection() {
if (isReordered()) {
delete[] getData();
return;
}

if (!isAllocatable() && !hasValidSectionID() &&
(!hasSectionRef() ||
OutputContents.data() != getContentsOrQuit(Section).data())) {
delete[] getOutputData();
}
}
BinarySection::~BinarySection() { updateContents(nullptr, 0); }

void BinarySection::clearRelocations() { clearList(Relocations); }

Expand Down
20 changes: 10 additions & 10 deletions bolt/lib/Core/DIEBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,8 @@ void DIEBuilder::constructFromUnit(DWARFUnit &DU) {
}

DIEBuilder::DIEBuilder(BinaryContext &BC, DWARFContext *DwarfContext,
bool IsDWO)
: BC(BC), DwarfContext(DwarfContext), IsDWO(IsDWO) {}
DWARFUnit *SkeletonCU)
: BC(BC), DwarfContext(DwarfContext), SkeletonCU(SkeletonCU) {}

static unsigned int getCUNum(DWARFContext *DwarfContext, bool IsDWO) {
unsigned int CUNum = IsDWO ? DwarfContext->getNumDWOCompileUnits()
Expand All @@ -204,11 +204,11 @@ void DIEBuilder::buildTypeUnits(DebugStrOffsetsWriter *StrOffsetWriter,
true);
}
}
const unsigned int CUNum = getCUNum(DwarfContext, IsDWO);
const unsigned int CUNum = getCUNum(DwarfContext, isDWO());
getState().CloneUnitCtxMap.resize(CUNum);
DWARFContext::unit_iterator_range CU4TURanges =
IsDWO ? DwarfContext->dwo_types_section_units()
: DwarfContext->types_section_units();
isDWO() ? DwarfContext->dwo_types_section_units()
: DwarfContext->types_section_units();

getState().Type = ProcessingType::DWARF4TUs;
for (std::unique_ptr<DWARFUnit> &DU : CU4TURanges)
Expand All @@ -218,8 +218,8 @@ void DIEBuilder::buildTypeUnits(DebugStrOffsetsWriter *StrOffsetWriter,
constructFromUnit(*DU.get());

DWARFContext::unit_iterator_range CURanges =
IsDWO ? DwarfContext->dwo_info_section_units()
: DwarfContext->info_section_units();
isDWO() ? DwarfContext->dwo_info_section_units()
: DwarfContext->info_section_units();

// This handles DWARF4 CUs and DWARF5 CU/TUs.
// Creating a vector so that for reference handling only DWARF5 CU/TUs are
Expand All @@ -242,11 +242,11 @@ void DIEBuilder::buildCompileUnits(const bool Init) {
if (Init)
BuilderState.reset(new State());

unsigned int CUNum = getCUNum(DwarfContext, IsDWO);
unsigned int CUNum = getCUNum(DwarfContext, isDWO());
getState().CloneUnitCtxMap.resize(CUNum);
DWARFContext::unit_iterator_range CURanges =
IsDWO ? DwarfContext->dwo_info_section_units()
: DwarfContext->info_section_units();
isDWO() ? DwarfContext->dwo_info_section_units()
: DwarfContext->info_section_units();

// This handles DWARF4 CUs and DWARF5 CU/TUs.
// Creating a vector so that for reference handling only DWARF5 CU/TUs are
Expand Down
3 changes: 1 addition & 2 deletions bolt/lib/Core/DebugData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -909,8 +909,7 @@ void DebugStrOffsetsWriter::finalizeSection(DWARFUnit &Unit,
}

StrOffsetSectionWasModified = false;
IndexToAddressMap.clear();
StrOffsets.clear();
clear();
}

void DebugStrWriter::create() {
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Rewrite/DWARFRewriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -709,7 +709,7 @@ void DWARFRewriter::updateDebugInfo() {
: LegacyRangesSectionWriter.get();
// Skipping CUs that failed to load.
if (SplitCU) {
DIEBuilder DWODIEBuilder(BC, &(*SplitCU)->getContext(), true);
DIEBuilder DWODIEBuilder(BC, &(*SplitCU)->getContext(), Unit);
DWODIEBuilder.buildDWOUnit(**SplitCU);
std::string DWOName = updateDWONameCompDir(
*Unit, *DIEBlder, *DIEBlder->getUnitDIEbyUnit(*Unit));
Expand Down
9 changes: 3 additions & 6 deletions bolt/lib/Rewrite/RewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4092,12 +4092,9 @@ void RewriteInstance::rewriteNoteSections() {
return getNewValueForSymbol(S->getName());
});

// Set/modify section info.
BinarySection &NewSection = BC->registerOrUpdateNoteSection(
SectionName, SectionData, Size, Section.sh_addralign,
!BSec->isWritable(), BSec->getELFType());
NewSection.setOutputAddress(0);
NewSection.setOutputFileOffset(NextAvailableOffset);
// Section contents are no longer needed, but we need to update the size so
// that it will be reflected in the section header table.
BSec->updateContents(nullptr, Size);

NextAvailableOffset += Size;
}
Expand Down
9 changes: 5 additions & 4 deletions bolt/unittests/Core/BinaryContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,11 @@ TEST_P(BinaryContextTester, FlushPendingRelocCALL26) {
// 12: bl func2
// 16: func2

char Data[20] = {};
constexpr size_t DataSize = 20;
uint8_t *Data = new uint8_t[DataSize];
BinarySection &BS = BC->registerOrUpdateSection(
".text", ELF::SHT_PROGBITS, ELF::SHF_EXECINSTR | ELF::SHF_ALLOC,
(uint8_t *)Data, sizeof(Data), 4);
".text", ELF::SHT_PROGBITS, ELF::SHF_EXECINSTR | ELF::SHF_ALLOC, Data,
DataSize, 4);
MCSymbol *RelSymbol1 = BC->getOrCreateGlobalSymbol(4, "Func1");
ASSERT_TRUE(RelSymbol1);
BS.addRelocation(8, RelSymbol1, ELF::R_AARCH64_CALL26, 0, 0, true);
Expand All @@ -89,7 +90,7 @@ TEST_P(BinaryContextTester, FlushPendingRelocCALL26) {
BS.addRelocation(12, RelSymbol2, ELF::R_AARCH64_CALL26, 0, 0, true);

std::error_code EC;
SmallVector<char> Vect(sizeof(Data));
SmallVector<char> Vect(DataSize);
raw_svector_ostream OS(Vect);

BS.flushPendingRelocations(OS, [&](const MCSymbol *S) {
Expand Down
8 changes: 7 additions & 1 deletion clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "ClangdServer.h"
#include "ConfigProvider.h"
#include "Diagnostics.h"
#include "Feature.h"
#include "FeatureModule.h"
#include "LSPBinder.h"
#include "LSPClient.h"
Expand Down Expand Up @@ -198,6 +199,9 @@ TEST_F(LSPTest, RecordsLatencies) {
// clang-tidy's renames are converted to clangd's internal rename functionality,
// see clangd#1589 and clangd#741
TEST_F(LSPTest, ClangTidyRename) {
// This test requires clang-tidy checks to be linked in.
if (!CLANGD_TIDY_CHECKS)
return;
Annotations Header(R"cpp(
void [[foo]]();
)cpp");
Expand All @@ -214,7 +218,9 @@ TEST_F(LSPTest, ClangTidyRename) {
Client.didOpen("foo.hpp", Header.code());
Client.didOpen("foo.cpp", Source.code());

auto RenameDiag = Client.diagnostics("foo.cpp").value().at(0);
auto Diags = Client.diagnostics("foo.cpp");
ASSERT_TRUE(Diags && !Diags->empty());
auto RenameDiag = Diags->front();

auto RenameCommand =
(*Client
Expand Down
5 changes: 5 additions & 0 deletions clang-tools-extra/include-cleaner/lib/WalkAST.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,11 @@ class ASTWalker : public RecursiveASTVisitor<ASTWalker> {

bool VisitDeclRefExpr(DeclRefExpr *DRE) {
auto *FD = DRE->getFoundDecl();
// Prefer the underlying decl if FoundDecl isn't a shadow decl, e.g:
// - For templates, found-decl is always primary template, but we want the
// specializaiton itself.
if (!llvm::isa<UsingShadowDecl>(FD))
FD = DRE->getDecl();
// For refs to non-meber-like decls, use the found decl.
// For member-like decls, we should have a reference from the qualifier to
// the container decl instead, which is preferred as it'll handle
Expand Down
18 changes: 11 additions & 7 deletions clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,8 @@ TEST(WalkAST, VarTemplates) {
template<typename T> T* $explicit^Foo<T*> = nullptr;)cpp",
"int *x = ^Foo<int *>;"),
ElementsAre(Decl::VarTemplateSpecialization));
// Implicit specializations through explicit instantiations has source
// locations pointing at the primary template.
EXPECT_THAT(testWalk(R"cpp(
template<typename T> T $explicit^Foo = 0;
template int Foo<int>;)cpp",
Expand All @@ -239,18 +241,19 @@ TEST(WalkAST, FunctionTemplates) {
EXPECT_THAT(testWalk(R"cpp(
template <typename T> void $explicit^foo() {})cpp",
"auto x = []{ ^foo<int>(); };"),
ElementsAre(Decl::FunctionTemplate));
// FIXME: DeclRefExpr points at primary template, not the specialization.
ElementsAre(Decl::Function));
EXPECT_THAT(testWalk(R"cpp(
template<typename T> void $explicit^foo() {}
template<> void foo<int>(){})cpp",
template<typename T> void foo() {}
template<> void $explicit^foo<int>(){})cpp",
"auto x = []{ ^foo<int>(); };"),
ElementsAre(Decl::FunctionTemplate));
ElementsAre(Decl::Function));
// The decl is actually the specialization, but explicit instantations point
// at the primary template.
EXPECT_THAT(testWalk(R"cpp(
template<typename T> void $explicit^foo() {};
template void foo<int>();)cpp",
"auto x = [] { ^foo<int>(); };"),
ElementsAre(Decl::FunctionTemplate));
ElementsAre(Decl::Function));
}
TEST(WalkAST, TemplateSpecializationsFromUsingDecl) {
// Class templates
Expand Down Expand Up @@ -548,7 +551,8 @@ TEST(WalkAST, Concepts) {
testWalk(Concept, "template<typename T> void func() requires ^Foo<T> {}");
testWalk(Concept, "void func(^Foo auto x) {}");
// FIXME: Foo should be explicitly referenced.
testWalk("template<typename T> concept Foo = true;", "void func() { ^Foo auto x = 1; }");
testWalk("template<typename T> concept Foo = true;",
"void func() { ^Foo auto x = 1; }");
}

TEST(WalkAST, FriendDecl) {
Expand Down
Loading