Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
245 commits
Select commit Hold shift + click to select a range
4e679ea
[MLIR] [python] Fixed the signature of `_OperationBase.get_asm` (#136…
superbobry Apr 23, 2025
2484060
[RISCV] Clear kill flags after replaceRegWith in RISCVFoldMemOffset. …
topperc Apr 23, 2025
122e515
gn build: Port d1cce66469d0 more
pcc Apr 23, 2025
4f71655
[clang-format] Fix a bug in parsing C-style cast of lambdas (#136099)
owenca Apr 23, 2025
9efabbb
[clang-format] Fix a bug in lexing C++ UDL ending in $ (#136476)
owenca Apr 23, 2025
037657d
[clang-format] Correctly annotate kw_operator in using decls (#136545)
owenca Apr 23, 2025
afc030d
[clang-format] Don't test stability if JS format test fails (#136662)
owenca Apr 23, 2025
68d89e9
[RISCV] Remove stale comment. NFC
topperc Apr 23, 2025
34a4c58
[clang] Rework `hasBooleanRepresentation`. (#136038)
michele-scandale Apr 23, 2025
141c14c
[LoongArch] Pre-commit for widen shuffle mask (#136544)
tangaac Apr 23, 2025
7547ad3
[libc][math] Skip checking for exceptional values in expm1f when LIBC…
lntue Apr 23, 2025
439f16a
[mlir][bazel] Port e112dccc8ba49425c575a6b15325f2cbeef5c606.
chsigg Apr 23, 2025
3ccfbc8
[lldb] Make sure changing the separator takes immediate effect (#136779)
JDevlieghere Apr 23, 2025
7b68015
[CIR] Infer MLIRContext in attr builders when possible (#136741)
xlauko Apr 23, 2025
5080a02
[CodeGenPrepare] Unfold slow ctpop when used in power-of-two test (#1…
s-barannikov Apr 23, 2025
1a78ef9
[clang][bytecode] Allow casts from void* only in std::allocator calls…
tbaederr Apr 23, 2025
832ca74
[RISCV] Add Andes N45/NX45 processor definition (#136670)
tclin914 Apr 23, 2025
30c4714
[mlir][utils] Update generate-test-checks.py (#136757)
banach-space Apr 23, 2025
665914f
[clangd] Improve `BlockEnd` inlayhint presentation (#136106)
MythreyaK Apr 23, 2025
98b6f8d
[CostModel] Remove optional from InstructionCost::getValue() (#135596)
davemgreen Apr 23, 2025
ca3a5d3
[Clang] [Driver] use __cxa_atexit by default on Cygwin. (#135701)
jeremyd2019 Apr 23, 2025
1a99f79
[RISCV] Add tests for fixed-length vwadd[u].{w,v}v with disjoint or. NFC
lukel97 Apr 23, 2025
da8f2d5
Revert "[clang-format] Allow breaking before kw___attribute (#128623)"
owenca Apr 23, 2025
dfc60b2
[mlir][bazel] Also add SideEffectInterfaces dep to PtrDialect.
chsigg Apr 23, 2025
8204931
[RISCV] Add disjoint or patterns for vwadd[u].v{v,x} (#136716)
lukel97 Apr 23, 2025
dd3de59
[CostModel] Fix InlineSizeEstimatorAnalysis after #135596
davemgreen Apr 23, 2025
ae47f25
[docs] Fix the use of word "dependent" and other typos in the C++ Mod…
necto Apr 23, 2025
d0cd6f3
[AArch64] Fix tryToConvertShuffleOfTbl2ToTbl4 with non-buildvector in…
davemgreen Apr 23, 2025
91edbe2
[lldb][LoongArch] Fix expression function call failure
wangleiat Apr 23, 2025
8a57df6
[llvm-extract] support unnamed bbs. (#135140)
AllinLeeYL Apr 23, 2025
6db447f
[InstCombine] Canonicalize `max(min(X, MinC), MaxC) -> min(max(X, Max…
el-ev Apr 23, 2025
4a58071
[AMDGPU] Support block load/store for CSR (#130013)
rovka Apr 23, 2025
48585ca
InstCombine: Avoid counting uses of constants (#136566)
arsenm Apr 23, 2025
a133170
[gn build] Port 4a58071d8726
llvmgnsyncbot Apr 23, 2025
3cd6b86
[MachinePipeliner] Use AliasAnalysis properly when analyzing loop-car…
kasuga-fj Apr 23, 2025
0de2f64
[clang] XFAIL the `Xclangas.s` test on AIX. (#136744)
alexrp Apr 23, 2025
11a3de7
[SDag][ARM][RISCV] Allow lowering CTPOP into a libcall (#101786)
s-barannikov Apr 23, 2025
8e9ff8e
[mlir][tosa] Align Variable ops to match with TOSA v1.0 spec (#130680)
Jerry-Ge Apr 23, 2025
a7999f3
[NFC][AArch64TTI] Refactor instCombineSVEVectorMul into simplifySVEIn…
paulwalker-arm Apr 17, 2025
3c3fb35
[mlir][tosa] Enhance CONV3D & DEPTHWISE_CONV2D verifier (#135738)
tatwaichong Apr 23, 2025
8c47f23
[SPIRV] Support for the SPV_INTEL_subgroup_matrix_multiply_accumulate…
VyacheslavLevytskyy Apr 23, 2025
15d8b3c
[LLVM][ISel][AArch64 Remove AArch64ISD::FCM##z nodes. (#135817)
paulwalker-arm Apr 23, 2025
37e8c6c
[BOLT] Do not return Def-ed registers from MCPlusBuilder::getUsedRegs…
atrosinenko Apr 23, 2025
c93af22
[X86] combineConstantPoolLoads - remove duplicate SDLoc. NFC.
RKSimon Apr 23, 2025
720a911
[SeparateConstOffsetFromGEP] Preserve inbounds flag based on ValueTra…
ritter-x2a Apr 23, 2025
b0524f3
[clang][AVR] Improve compatibility of inline assembly with avr-gcc (#…
benshi001 Apr 23, 2025
717efc0
[RISCV] Support disjoint RISCVISD::OR_VL in combineOp_VLToVWOp_VL (#1…
lukel97 Apr 23, 2025
2a9f77f
[Reassociate] Invalidate analysis passes after canonicalizeOperands (…
bjope Apr 23, 2025
71ce9e2
Control analysis-based diagnostics with #pragma (#136323)
AaronBallman Apr 23, 2025
05b7e97
[flang][OpenMP] Extend common::AtomicDefaultMemOrderType enumeration …
kparzysz Apr 23, 2025
013aab4
[NFC][LLVM] Add test coverage for all binops to sve-intrinsic-simplif…
paulwalker-arm Apr 17, 2025
0f32809
Reland [mlir][x86vector] AVX Convert/Broadcast BF16 to F32 instructio…
arun-thmn Apr 23, 2025
500cccc
Remove spurious semicolon; NFC
AaronBallman Apr 23, 2025
a99e055
[DAG] shouldReduceLoadWidth - add optional<unsigned> byte offset argu…
RKSimon Apr 23, 2025
1fd0b41
[lldb/DWARF] Remove "range lower than function low_pc" check (#132395)
labath Apr 23, 2025
94206c9
[lldb] Preparation for DWARF indexing speedup (#123732)
labath Apr 23, 2025
4e073a1
[gn build] Port 94206c9700d5
llvmgnsyncbot Apr 23, 2025
6bb2f90
Revert "[AMDGPU] Support block load/store for CSR" (#136846)
rovka Apr 23, 2025
673882c
[gn build] Port 6bb2f90557fb
llvmgnsyncbot Apr 23, 2025
14b38cf
[mlir][vector] Update test post 136699 (nfc) (#136841)
banach-space Apr 23, 2025
8292e05
[libclc] Build for OpenCL 3.0 (#135733)
wenju-he Apr 23, 2025
1ce709c
[LV] Fix crash when building partial reductions using types that aren…
NickGuy-Arm Apr 23, 2025
a1f369e
[AArch64][SVE] Add dot product lowering for PARTIAL_REDUCE_MLA node (…
NickGuy-Arm Apr 23, 2025
386ff11
[flang][OpenMP] Use OmpMemoryOrderType enumeration in FAIL clause (#1…
kparzysz Apr 23, 2025
5b0cd17
[Clang][llvm] Implement fp8 FMOP4A intrinsics (#130127)
virginia-cangelosi Apr 23, 2025
92bba68
[Offload] Fix handling of 'bare' mode when environment missing (#136794)
jhuber6 Apr 23, 2025
6d0d50f
[OpenMP] Update the bitcode library install and search path (#136754)
jhuber6 Apr 23, 2025
91e1922
[DSE] Skip non-pointer args in initializes handling (NFCI)
nikic Apr 23, 2025
14dee0a
[NewGVN] Avoid AA query on non-pointers (NFCI)
nikic Apr 23, 2025
01ee03c
[CoroElide] Avoid AA query on non-pointers (NFCI)
nikic Apr 23, 2025
208257f
[CoroElide] Remove unnecessary bitcast (NFCI)
nikic Apr 23, 2025
eea1efe
[InstrProfiling] Avoid unnecessary bitcast (NFC)
nikic Apr 23, 2025
00934be
[AArch64] Funnel Shift now uses rev32/rev64 instructions (#136707)
jyli0116 Apr 23, 2025
52cb1c9
[AArch64Arm64ECCallLowering] Remove unnecessary bitcasts (NFCI)
nikic Apr 23, 2025
a2c1ff1
[mlir][acc] Use consistent name for device_num operand (#136745)
razvanlupusoru Apr 23, 2025
4cc806f
[AArch64Arm64ECCallLowering] Drop unnecessary pointer type members (NFC)
nikic Apr 23, 2025
5afe859
[OMPIRBuilder] Remove unnecessary pointer bitcasts (NFCI)
nikic Apr 23, 2025
237ed0c
[mlir][bazel] Port 0f32809139bd104adb2c1de4fa1044da78a7e5af.
chsigg Apr 23, 2025
e58d227
[NFC][AArch64][GlobalISel] Add test coverage for vector load/store le…
tobias-stadler Apr 23, 2025
46f18b7
[ItaniumDemangle][test] Add test-cases for ref-qualified member point…
Michael137 Apr 23, 2025
8158d43
[TOSA] Rescale output_zp fix (#136116)
d-smirnov Apr 23, 2025
8502ba1
[MLIR][NFC] Retire let constructor for MemRef (#134788)
chelini Apr 23, 2025
806d59e
[libclc] Fix unguarded use of image types (#136871)
frasercrmck Apr 23, 2025
6c56160
[libclc] Re-enable compiler warning (#136872)
frasercrmck Apr 23, 2025
f11b3de
[flang][cuda] Carry over the CUDA attribute in target rewrite (#136811)
clementval Apr 23, 2025
9651902
[lldb][DataFormatters] Make data-formatters log to the DataFormatters…
Michael137 Apr 23, 2025
cc6def4
[libc] Special case PPC double double for print (#136614)
jhuber6 Apr 23, 2025
ecb0daa
[NFC][LLVM][TableGen] Eliminate inheritance from std::vector (#136573)
jurahul Apr 23, 2025
7915124
[DAG] narrowExtractedVectorLoad - reuse existing SDLoc. NFC (#136870)
RKSimon Apr 23, 2025
2e389cb
[Flang][OpenACC] Make async clause on data consistent with elsewhere …
erichkeane Apr 23, 2025
8abc917
[InstCombine] Do not fold logical is_finite test (#136851)
dtcxzyw Apr 23, 2025
24c8605
AMDGPU/MC: Fix emitting absolute expressions (#136789)
nhaehnle Apr 23, 2025
2f0cd0c
[NFCI] Move ProfOStream from InstrProfWriter.cpp to InstrProf.h/cpp (…
mingmingl-llvm Apr 23, 2025
1da856a
[lldb] Fix typo in ManualDWARFIndexSet.h
labath Apr 23, 2025
a83b4a2
[DirectX] Implement the ForwardHandleAccesses pass (#135378)
bogner Apr 23, 2025
ea5449d
[OpenACC][CIR] Implement 'async'/'if' lowering for 'data' construct
erichkeane Apr 22, 2025
d7215c0
[libclang/C++] Fix clang_File_isEqual for in-memory files (#135773)
DeinAlptraum Apr 23, 2025
83c309b
[CUDA][HIP] capture possible ODR-used var (#136645)
yxsamliu Apr 23, 2025
1b6cbaa
[clang][bytecode] Refine diagnostics for volatile reads (#136857)
tbaederr Apr 23, 2025
6dbc01e
[AMDGPU][True16][CodeGen] update GFX11Plus codegen test with true16 f…
broxigarchen Apr 23, 2025
1041d54
[lldb-dap] Updating the 'next' request handler use well structured ty…
ashgti Apr 23, 2025
060f3f0
[clang][deps] Make dependency directives getter thread-safe (#136178)
jansvoboda11 Apr 23, 2025
385b07b
[clang-doc][NFC] Remove else after return (#136443)
ilovepi Apr 23, 2025
0f5965f
[CIR] Introduce type aliases for records (#136387)
andykaylor Apr 23, 2025
3c9027c
[clang][Modules] Clarify error message when size check fails in looku…
cyndyishida Apr 23, 2025
dbb8434
SelectionDAG: Add missing AddNodeIDCustom case for MDNodeSDNode.
pcc Apr 23, 2025
3b48e2a
[lldb-dap] Ensure we acquire the SB API lock while handling requests.…
ashgti Apr 23, 2025
213424b
Add MachO RISC-V CPU type and CPU subtype to llvm & lldb (#136785)
JDevlieghere Apr 23, 2025
bdf21ca
[LV] Fix missing entry in willGenerateVectors (#136712)
artagnon Apr 23, 2025
98eb476
Fix stmt-seq-macho.test for little endian platforms (#137017)
alx32 Apr 23, 2025
d3e1fd6
[mlir][LLVM] Improve `llvm.extractvalue` folder (#136861)
matthias-springer Apr 23, 2025
5bb4cf9
[libc] implement sigsetjmp/siglongjmp for x86-64 (#136072)
SchrodingerZhu Apr 23, 2025
a0fce0b
[bazel] Use non_arc_srcs instead of passing -fno-objc-arc (#137037)
keith Apr 23, 2025
b8e420e
Reland "[HLSL][RootSignature] Implement initial parsing of the descri…
inbelic Apr 23, 2025
bc11987
[Offload] Fix missing dependency on `clang-nvlink-wrapper' (#137033)
jhuber6 Apr 23, 2025
3fbbe9b
[VPlan] Add exit phi operands during initial construction (NFC). (#13…
fhahn Apr 23, 2025
a05aeda
[RawPtrRefMemberChecker] Member variable checker should allow T* in s…
rniwa Apr 23, 2025
f07511a
[libc] build fix for sigsetjmp (#137047)
SchrodingerZhu Apr 23, 2025
563ab56
[lldb-dap] Show load addresses in disassembly (#136755)
eronnen Apr 23, 2025
0fdb908
[flang][cuda][NFC] Update binary name (#137034)
clementval Apr 23, 2025
ff36508
[VPlan] Remove redundant setting of parent in createLoopRegion (NFC).
fhahn Apr 23, 2025
112014b
[Clang][NFC] Use temporary instead of one use local variable when cre…
shafik Apr 23, 2025
71f2c1e
[VPlan] Use early exit in ::extractLastLaneOfFirstOperand (NFC).
fhahn Apr 23, 2025
f418981
[CIR] Create CIR_TypedAttr common class (#136852)
xlauko Apr 23, 2025
ff6a23d
[RISCV] Return false for Zalasr load/store in isWorthFoldingAdd. (#13…
topperc Apr 23, 2025
cef9ed5
[lldb] Fix typo in tagged-pointer syntax string (NFC) (#137069)
kastiglione Apr 23, 2025
6f5b98b
[lldb] returning command completions up to a maximum (#135565)
eronnen Apr 23, 2025
ee617f1
[NFC] [AArch64] Simplify offset scaling in ldst-opt (#137044)
guy-david Apr 23, 2025
cd826d6
Revert "[Clang,debuginfo] added vtt parameter in destructor DISubrout…
rnk Apr 23, 2025
dd17cf4
[lldb] Minor improvements to AddNamesMatchingPartialString (NFC) (#13…
kastiglione Apr 23, 2025
0e0a166
Revert unintentional diff from cd826d6e840ed33ad88458c862da5f9fcc6e908c
rnk Apr 23, 2025
b6f32ad
[NVPTX] Switch to untyped float registers (#137011)
AlexMaclean Apr 23, 2025
9a8f90d
[memprof] Move writeMemProf to a separate file (#137051)
kazutakahirata Apr 23, 2025
d72f1f9
Bug fix in FindModuleUUID (#137075)
GeorgeHuyubo Apr 23, 2025
0d00b6b
Revert "[libc] build fix for sigsetjmp (#137047)" (#137077)
gulfemsavrun Apr 23, 2025
6388a7a
[RISCV] Check the extension type for atomic loads in isel patterns. (…
topperc Apr 23, 2025
0547e84
[FunctionAttrs] Bail if initializes range overflows 64-bit signed int…
aeubanks Apr 23, 2025
f75295f
[gn build] Port 9a8f90dba3f8
llvmgnsyncbot Apr 23, 2025
4f36ada
[Clang] Fix crash when -header-include-filtering is not specified (#1…
bob-wilson Apr 23, 2025
2397180
[lldb] Implement CLI support for reverse-continue (#132783)
rocallahan Apr 23, 2025
55160e6
[ConstEval] Fix crash when comparing strings past the end (#137078)
hnrklssn Apr 23, 2025
de2f939
[lldb] Quote module name in error message (#137083)
adrian-prantl Apr 23, 2025
93705c3
Revert "[ConstEval] Fix crash when comparing strings past the end" (#…
hnrklssn Apr 23, 2025
6ba704a
[lldb-dap] Migrate 'stepIn' request to well structured types. (#137071)
ashgti Apr 24, 2025
fc7fee8
Revert "[RISCV] Allow spilling to unused Zcmp Stack (#125959)" (#137060)
topperc Apr 24, 2025
905f1d8
[mlir][AMDGPU] Implement gpu.subgroup_reduce with DPP intrinsics on A…
Muzammiluddin-Syed-ECE Apr 24, 2025
0400b8e
[NFC][CFI] Add CFI minimal runtime tests (#137093)
vitalybuka Apr 24, 2025
9ad2193
[X86][NFC] Precommit test for #136520
e-kud Apr 21, 2025
adab66f
[bazel] Add missing deps after 905f1d8068a5bc1149732b46afc3f5dd780aa5d9
slackito Apr 24, 2025
b45225f
[Utils][vim] Add missing highlights for disjoint (#136801)
tclin914 Apr 24, 2025
5981be7
[RISCV] Add Andes A45/AX45 processor definition (#136832)
tclin914 Apr 24, 2025
a68c8e8
[mlir][vector] Fix parser of vector.transfer_read (#133721)
douyixuan Apr 24, 2025
178cdbf
[bazel] Add missing deps in mlir/test/BUILD.bazel after 905f1d8068a5b…
slackito Apr 24, 2025
30fec12
[mlir][AMDGPU] Add missing dependency (#137107)
Muzammiluddin-Syed-ECE Apr 24, 2025
ea0dbee
[memprof] Move IndexedMemProfReader::deserialize to IndexedemProfData…
kazutakahirata Apr 24, 2025
de1af6b
Eval string one past end reland (#137091)
hnrklssn Apr 24, 2025
0975c09
[clang][p2719] Module deserialization does not restore allocator flag…
ojhunt Apr 24, 2025
e646642
[MLIR][LLVM] Allow strings in module flag value (#136793)
bcardosolopes Apr 24, 2025
cb8495c
[Driver][CFI] Add missing '-' into error message (#137097)
vitalybuka Apr 24, 2025
cd92d8d
[clang-format][NFC] Reformat clang/test/Format/lit.local.cfg with black
owenca Apr 24, 2025
cb96a3d
[memprof] Dump the number of matched frames (#137082)
kazutakahirata Apr 24, 2025
77fe6aa
[libclc] only check filename part of the source for avoiding duplicat…
wenju-he Apr 24, 2025
31c7997
[cfi] Fix one -fno-sanitize-merge case, and add two TODOs (#135438)
thurstond Apr 24, 2025
096ab51
[lldb][MachO] MachO corefile support for riscv32 binaries (#137092)
jasonmolenda Apr 24, 2025
054ee17
[gn build] Port 096ab51de034
llvmgnsyncbot Apr 24, 2025
dbb0605
[SelectionDAG] Add NewSDValueDbgMsg to getAtomic.
topperc Apr 24, 2025
fb0000b
[lldb][lldb-dap] Add ToJSON for OptionValueEnumeration (#137007)
da-viper Apr 24, 2025
de81b85
[AArch64] Allow variadic calls with SVE argument if it is named. (#13…
sdesmalen-arm Apr 24, 2025
45a3056
[Flang] Add a Fortran Standards Support doc (#132195)
kiranchandramohan Apr 24, 2025
7af555e
[ARM][RISCV] Partially revert #101786 (#137120)
s-barannikov Apr 24, 2025
886f119
[AMDGPU] Use variadic isa<>. NFC. (#137016)
jayfoad Apr 24, 2025
bea110d
[clangd] Strip invalid fromRanges for outgoing calls (#134657)
HampusAdolfsson Apr 24, 2025
15bb1db
[VPlan] Remove ILV::sinkScalarOperands. (#136023)
fhahn Apr 24, 2025
0c61b24
[mlir] add a fluent API to GreedyRewriterConfig (#137122)
ftynse Apr 24, 2025
e268f71
[VPlan] Remove unneeded early continue. (NFC)
fhahn Apr 24, 2025
a3d05e8
Remove an incorrect assert in MFMASmallGemmSingleWaveOpt. (#130131)
anjenner Apr 24, 2025
03c2862
[libc++][ranges] Reject non-class types in ranges::to (#135802)
Yuzhiy05 Apr 24, 2025
a2f00e1
[RISCV] Add fixed-length patterns for disjoint or patterns for vwadd[…
lukel97 Apr 24, 2025
3883b27
[VPlan] Fix typo in assertion. NFC (#137009)
lukel97 Apr 24, 2025
be04497
[AArch64] Update __gcsss intrinsic to match revised ACLE specificatio…
sivan-shani Apr 24, 2025
59b26ab
[TSan, SanitizerBinaryMetadata] Analyze the capture status for `alloc…
Camsyn Apr 24, 2025
1ec22fa
[SystemZ] Handle f16 load positive/negative/complement without libcal…
JonPsson1 Apr 24, 2025
55066b8
[clang][bytecode] Compute pointer differences as 64bit integers (#137…
tbaederr Apr 24, 2025
94a14f9
[SystemZ] Add DAGCombine for FCOPYSIGN to remove rounding. (#136131)
JonPsson1 Apr 24, 2025
e98a61d
[mlir][tosa] Add verifier check for Concat Op (#136047)
Tai78641 Apr 24, 2025
66461db
SPIRV: Set NoPHIs property after rewriting them (#136327)
arsenm Apr 24, 2025
c6c0846
[libclang/python] Add equality comparison operators for File (#130383)
DeinAlptraum Apr 24, 2025
82c25d2
[clang][bytecode] Disable i686 test
tbaederr Apr 24, 2025
88083a0
[X86] SimplifyDemandedVectorEltsForTargetNode - handle 512-bit X86ISD…
RKSimon Apr 24, 2025
ebceb73
[mlir][vector] Update the folder for vector.{insert|extract} (#136579)
banach-space Apr 24, 2025
427b644
Revert "[LLVM][ISel][AArch64 Remove AArch64ISD::FCM##z nodes. (#135817)"
paulwalker-arm Apr 24, 2025
e37c236
[mlir][bazel] Remove unnecessary dependencies. (#136999)
chsigg Apr 24, 2025
d664c42
[libclc] Remove unnecessary clcmacros.h (#137149)
frasercrmck Apr 24, 2025
6900e90
[LLVM][TargetParser] Handle -msys targets the same as -cygwin. (#136817)
jeremyd2019 Apr 24, 2025
15321d2
[C] Add (new) -Wimplicit-void-ptr-cast to -Wc++-compat (#136855)
AaronBallman Apr 24, 2025
2edade2
[libclc][NFC] Clang-format vload/vstore code
frasercrmck Apr 24, 2025
acc335b
[X86] Add build vector test patterns with only 2 unique scalars
RKSimon Apr 24, 2025
5d136f9
[VPlan] Manage instruction metadata in VPlan. (#135272)
fhahn Apr 24, 2025
f218cd2
[IA] Remove unused argument. NFC
lukel97 Apr 24, 2025
dde00f5
[libc][math] Improve performance test framework (#134501)
meltq Apr 24, 2025
06d4876
[VPlan] Replace checking IR loop with checking VPlan predecessors (NFC).
fhahn Apr 24, 2025
7914464
[PhaseOrdering][X86] blendv-select.ll - add test coverage for #66513
RKSimon Apr 24, 2025
e35cc2d
[lldb][TypeSystemClang][NFC] Clean up TypeSystemClang::DeclGetMangled…
Michael137 Apr 24, 2025
bcdafc1
[lldb] Disable reverse continue command test on Windows
DavidSpickett Apr 24, 2025
8b2d269
[X86] Add extended test coverage for #135010
RKSimon Apr 24, 2025
d7f3c31
Reapply "[LLVM][ISel][AArch64 Remove AArch64ISD::FCM##z nodes. (#1358…
paulwalker-arm Apr 24, 2025
ecdd3fd
[RemoveDI][Polly] Use iterators instead of instruction pointers to Se…
kartcq Apr 24, 2025
224cd50
[DebugInfo][GlobalOpt] Preserve source locs for optimized loads (#134…
SLTozer Apr 24, 2025
57530c2
[GlobalOpt] Do not promote malloc if there are atomic loads/stores (#…
nikic Apr 24, 2025
f572a59
[VectorCombine] Ensure canScalarizeAccess handles cases where the ind…
RKSimon Apr 24, 2025
2dfe68a
[NFC][OpenMP] Fix task record/replay comments (#137178)
jpinot Apr 24, 2025
10ea5ee
[X86] pr40891.ll - add X64 test coverage
RKSimon Apr 24, 2025
139e30e
[libclc] Remove (vload|vstore)_half helpers (#137181)
frasercrmck Apr 24, 2025
e3eee9e
[X86] vector-trunc.ll - replace stores to ptr undef with real ptr values
RKSimon Apr 24, 2025
ed866d9
[X86][Combine] Ensure single use chain in extract-load combine (#136520)
e-kud Apr 24, 2025
52a9649
[clang][SPIR-V] Addrspace of opencl_global should always be 1 (#136753)
sarnex Apr 24, 2025
3e605b1
[NFC] Add a pre-commit test case for #111696 (#136730)
diggerlin Apr 24, 2025
d859cb6
[OpenACC] Fix variable dereference found by static analysis
erichkeane Apr 24, 2025
9ae7aa7
[clang][bytecode] Diagnose comparing pointers to fields... (#137159)
tbaederr Apr 24, 2025
0fcc9ff
[CMake] Support using precompiled headers with ccache in flang (#136856)
mrkajetanp Apr 24, 2025
d43ce35
[TableGen][GISel] Allow isTrivialOperatorNode to import patterns with…
topperc Apr 24, 2025
4f5cfa8
AMDGPU: Remove amdhsa_code_object_version module flags from most test…
arsenm Apr 24, 2025
72cc868
[Clang][NFC] Move temp variable back into the source (#137095)
shafik Apr 24, 2025
b278aa3
[RISCV] Make xrivosvizip interleave2 and deinterleave2 undef safe (#1…
preames Apr 24, 2025
a903c7b
[PowerPC] Intrinsics and tests for dmr insert/extract (#135653)
RolandF77 Apr 24, 2025
2ca071b
[TableGen][RISCV][AArch64][GISel] Properly implement isAnyExtLoad/isS…
topperc Apr 24, 2025
feaa5aa
Fix a crash in constant evaluation of ExtVectorElementExprs (#136771)
ahatanak Apr 24, 2025
c7fbaba
[clang] fix typo in CHECK line
mizvekov Apr 24, 2025
0ab330b
[ms] [llvm-ml] Add support for `@CatStr` built-in function symbol (#1…
ericastor Apr 24, 2025
72b2d4d
[llvm-cov] Fix branch counts of template functions (second attempt) (…
stma247 Apr 24, 2025
fe90b9d
[ASan] Limits the conditions of the deadlock patch (#137127)
Camsyn Apr 24, 2025
e329b6c
[NFC][RootSignatures] Conform to new std::optional calling convention…
inbelic Apr 24, 2025
565a075
[flang][cuda][rt] Track asynchronous allocation stream for deallocati…
clementval Apr 24, 2025
e78b763
update_test_checks: Relax DIFile filename checks (#135692)
slinder1 Apr 24, 2025
2de936b
[mlir][vector] Fix emulation of "narrow" type `vector.store` (#133231)
banach-space Apr 24, 2025
7a276c8
[lldb] Fix logic error in AppleObjCTypeEncodingParser (#137067)
kastiglione Apr 24, 2025
8832a59
[clang] Enable making the module build stack thread-safe (#137059)
jansvoboda11 Apr 24, 2025
1143a04
[DebugInfo][DWARF] Emit DW_AT_abstract_origin for concrete/inlined DW…
dzhidzhoev Apr 24, 2025
3e7e23d
clang/HIP: Add tests that shows fpmath metadata ends up on sqrt calls…
arsenm Apr 24, 2025
c386cc0
support bf16
stumpOS Apr 23, 2025
a5a3fe8
add test
stumpOS Apr 23, 2025
d1e77e0
revert unintentional white space changes
stumpOS Apr 23, 2025
9c20a8f
also guard against v2bf16
stumpOS Apr 23, 2025
33a1785
format
stumpOS Apr 23, 2025
b85acb2
remove vector type from conditional
stumpOS Apr 24, 2025
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
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions bolt/lib/Core/MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -442,10 +442,10 @@ void MCPlusBuilder::getUsedRegs(const MCInst &Inst, BitVector &Regs) const {
for (MCPhysReg ImplicitUse : InstInfo.implicit_uses())
Regs |= getAliases(ImplicitUse, /*OnlySmaller=*/true);

for (unsigned I = 0, E = Inst.getNumOperands(); I != E; ++I) {
if (!Inst.getOperand(I).isReg())
for (const MCOperand &Operand : useOperands(Inst)) {
if (!Operand.isReg())
continue;
Regs |= getAliases(Inst.getOperand(I).getReg(), /*OnlySmaller=*/true);
Regs |= getAliases(Operand.getReg(), /*OnlySmaller=*/true);
}
}

Expand Down
140 changes: 122 additions & 18 deletions bolt/unittests/Core/MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

#ifdef AARCH64_AVAILABLE
#include "AArch64Subtarget.h"
#include "MCTargetDesc/AArch64MCTargetDesc.h"
#endif // AARCH64_AVAILABLE

#ifdef X86_AVAILABLE
Expand All @@ -19,6 +20,7 @@
#include "bolt/Rewrite/RewriteInstance.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/MC/MCInstBuilder.h"
#include "llvm/Support/TargetSelect.h"
#include "gtest/gtest.h"

Expand Down Expand Up @@ -70,16 +72,28 @@ struct MCPlusBuilderTester : public testing::TestWithParam<Triple::ArchType> {
BC->MRI.get(), BC->STI.get())));
}

void assertRegMask(const BitVector &RegMask,
std::initializer_list<MCPhysReg> ExpectedRegs) {
ASSERT_EQ(RegMask.count(), ExpectedRegs.size());
for (MCPhysReg Reg : ExpectedRegs)
ASSERT_TRUE(RegMask[Reg]) << "Expected " << BC->MRI->getName(Reg) << ".";
}

void assertRegMask(std::function<void(BitVector &)> FillRegMask,
std::initializer_list<MCPhysReg> ExpectedRegs) {
BitVector RegMask(BC->MRI->getNumRegs());
FillRegMask(RegMask);
assertRegMask(RegMask, ExpectedRegs);
}

void testRegAliases(Triple::ArchType Arch, uint64_t Register,
uint64_t *Aliases, size_t Count,
std::initializer_list<MCPhysReg> ExpectedAliases,
bool OnlySmaller = false) {
if (GetParam() != Arch)
GTEST_SKIP();

const BitVector &BV = BC->MIB->getAliases(Register, OnlySmaller);
ASSERT_EQ(BV.count(), Count);
for (size_t I = 0; I < Count; ++I)
ASSERT_TRUE(BV[Aliases[I]]);
assertRegMask(BV, ExpectedAliases);
}

char ElfBuf[sizeof(typename ELF64LE::Ehdr)] = {};
Expand All @@ -94,17 +108,15 @@ INSTANTIATE_TEST_SUITE_P(AArch64, MCPlusBuilderTester,
::testing::Values(Triple::aarch64));

TEST_P(MCPlusBuilderTester, AliasX0) {
uint64_t AliasesX0[] = {AArch64::W0, AArch64::W0_HI,
AArch64::X0, AArch64::W0_W1,
AArch64::X0_X1, AArch64::X0_X1_X2_X3_X4_X5_X6_X7};
size_t AliasesX0Count = sizeof(AliasesX0) / sizeof(*AliasesX0);
testRegAliases(Triple::aarch64, AArch64::X0, AliasesX0, AliasesX0Count);
testRegAliases(Triple::aarch64, AArch64::X0,
{AArch64::W0, AArch64::W0_HI, AArch64::X0, AArch64::W0_W1,
AArch64::X0_X1, AArch64::X0_X1_X2_X3_X4_X5_X6_X7});
}

TEST_P(MCPlusBuilderTester, AliasSmallerX0) {
uint64_t AliasesX0[] = {AArch64::W0, AArch64::W0_HI, AArch64::X0};
size_t AliasesX0Count = sizeof(AliasesX0) / sizeof(*AliasesX0);
testRegAliases(Triple::aarch64, AArch64::X0, AliasesX0, AliasesX0Count, true);
testRegAliases(Triple::aarch64, AArch64::X0,
{AArch64::W0, AArch64::W0_HI, AArch64::X0},
/*OnlySmaller=*/true);
}

TEST_P(MCPlusBuilderTester, AArch64_CmpJE) {
Expand Down Expand Up @@ -155,6 +167,100 @@ TEST_P(MCPlusBuilderTester, AArch64_CmpJNE) {
ASSERT_EQ(Label, BB->getLabel());
}

TEST_P(MCPlusBuilderTester, testAccessedRegsImplicitDef) {
if (GetParam() != Triple::aarch64)
GTEST_SKIP();

// adds x0, x5, #42
MCInst Inst = MCInstBuilder(AArch64::ADDSXri)
.addReg(AArch64::X0)
.addReg(AArch64::X5)
.addImm(42)
.addImm(0);

assertRegMask([&](BitVector &BV) { BC->MIB->getClobberedRegs(Inst, BV); },
{AArch64::NZCV, AArch64::W0, AArch64::X0, AArch64::W0_HI,
AArch64::X0_X1_X2_X3_X4_X5_X6_X7, AArch64::W0_W1,
AArch64::X0_X1});

assertRegMask(
[&](BitVector &BV) { BC->MIB->getTouchedRegs(Inst, BV); },
{AArch64::NZCV, AArch64::W0, AArch64::W5, AArch64::X0, AArch64::X5,
AArch64::W0_HI, AArch64::W5_HI, AArch64::X0_X1_X2_X3_X4_X5_X6_X7,
AArch64::X2_X3_X4_X5_X6_X7_X8_X9, AArch64::X4_X5_X6_X7_X8_X9_X10_X11,
AArch64::W0_W1, AArch64::W4_W5, AArch64::X0_X1, AArch64::X4_X5});

assertRegMask([&](BitVector &BV) { BC->MIB->getWrittenRegs(Inst, BV); },
{AArch64::NZCV, AArch64::W0, AArch64::X0, AArch64::W0_HI});

assertRegMask([&](BitVector &BV) { BC->MIB->getUsedRegs(Inst, BV); },
{AArch64::W5, AArch64::X5, AArch64::W5_HI});

assertRegMask([&](BitVector &BV) { BC->MIB->getSrcRegs(Inst, BV); },
{AArch64::W5, AArch64::X5, AArch64::W5_HI});
}

TEST_P(MCPlusBuilderTester, testAccessedRegsImplicitUse) {
if (GetParam() != Triple::aarch64)
GTEST_SKIP();

// b.eq <label>
MCInst Inst =
MCInstBuilder(AArch64::Bcc)
.addImm(AArch64CC::EQ)
.addImm(0); // <label> - should be Expr, but immediate 0 works too.

assertRegMask([&](BitVector &BV) { BC->MIB->getClobberedRegs(Inst, BV); },
{});

assertRegMask([&](BitVector &BV) { BC->MIB->getTouchedRegs(Inst, BV); },
{AArch64::NZCV});

assertRegMask([&](BitVector &BV) { BC->MIB->getWrittenRegs(Inst, BV); }, {});

assertRegMask([&](BitVector &BV) { BC->MIB->getUsedRegs(Inst, BV); },
{AArch64::NZCV});

assertRegMask([&](BitVector &BV) { BC->MIB->getSrcRegs(Inst, BV); },
{AArch64::NZCV});
}

TEST_P(MCPlusBuilderTester, testAccessedRegsMultipleDefs) {
if (GetParam() != Triple::aarch64)
GTEST_SKIP();

// ldr x0, [x5], #16
MCInst Inst = MCInstBuilder(AArch64::LDRXpost)
.addReg(AArch64::X5)
.addReg(AArch64::X0)
.addReg(AArch64::X5)
.addImm(16);

assertRegMask(
[&](BitVector &BV) { BC->MIB->getClobberedRegs(Inst, BV); },
{AArch64::W0, AArch64::W5, AArch64::X0, AArch64::X5, AArch64::W0_HI,
AArch64::W5_HI, AArch64::X0_X1_X2_X3_X4_X5_X6_X7,
AArch64::X2_X3_X4_X5_X6_X7_X8_X9, AArch64::X4_X5_X6_X7_X8_X9_X10_X11,
AArch64::W0_W1, AArch64::W4_W5, AArch64::X0_X1, AArch64::X4_X5});

assertRegMask(
[&](BitVector &BV) { BC->MIB->getTouchedRegs(Inst, BV); },
{AArch64::W0, AArch64::W5, AArch64::X0, AArch64::X5, AArch64::W0_HI,
AArch64::W5_HI, AArch64::X0_X1_X2_X3_X4_X5_X6_X7,
AArch64::X2_X3_X4_X5_X6_X7_X8_X9, AArch64::X4_X5_X6_X7_X8_X9_X10_X11,
AArch64::W0_W1, AArch64::W4_W5, AArch64::X0_X1, AArch64::X4_X5});

assertRegMask([&](BitVector &BV) { BC->MIB->getWrittenRegs(Inst, BV); },
{AArch64::W0, AArch64::X0, AArch64::W0_HI, AArch64::W5,
AArch64::X5, AArch64::W5_HI});

assertRegMask([&](BitVector &BV) { BC->MIB->getUsedRegs(Inst, BV); },
{AArch64::W5, AArch64::X5, AArch64::W5_HI});

assertRegMask([&](BitVector &BV) { BC->MIB->getSrcRegs(Inst, BV); },
{AArch64::W5, AArch64::X5, AArch64::W5_HI});
}

#endif // AARCH64_AVAILABLE

#ifdef X86_AVAILABLE
Expand All @@ -163,15 +269,13 @@ INSTANTIATE_TEST_SUITE_P(X86, MCPlusBuilderTester,
::testing::Values(Triple::x86_64));

TEST_P(MCPlusBuilderTester, AliasAX) {
uint64_t AliasesAX[] = {X86::RAX, X86::EAX, X86::AX, X86::AL, X86::AH};
size_t AliasesAXCount = sizeof(AliasesAX) / sizeof(*AliasesAX);
testRegAliases(Triple::x86_64, X86::AX, AliasesAX, AliasesAXCount);
testRegAliases(Triple::x86_64, X86::AX,
{X86::RAX, X86::EAX, X86::AX, X86::AL, X86::AH});
}

TEST_P(MCPlusBuilderTester, AliasSmallerAX) {
uint64_t AliasesAX[] = {X86::AX, X86::AL, X86::AH};
size_t AliasesAXCount = sizeof(AliasesAX) / sizeof(*AliasesAX);
testRegAliases(Triple::x86_64, X86::AX, AliasesAX, AliasesAXCount, true);
testRegAliases(Triple::x86_64, X86::AX, {X86::AX, X86::AL, X86::AH},
/*OnlySmaller=*/true);
}

TEST_P(MCPlusBuilderTester, ReplaceRegWithImm) {
Expand Down
3 changes: 1 addition & 2 deletions clang-tools-extra/clang-doc/Serialize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -261,8 +261,7 @@ static bool isPublic(const clang::AccessSpecifier AS,
const clang::Linkage Link) {
if (AS == clang::AccessSpecifier::AS_private)
return false;
else if ((Link == clang::Linkage::Module) ||
(Link == clang::Linkage::External))
if ((Link == clang::Linkage::Module) || (Link == clang::Linkage::External))
return true;
return false; // otherwise, linkage is some form of internal linkage
}
Expand Down
33 changes: 22 additions & 11 deletions clang-tools-extra/clangd/InlayHints.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ std::string summarizeExpr(const Expr *E) {
return getSimpleName(*E->getFoundDecl()).str();
}
std::string VisitCallExpr(const CallExpr *E) {
return Visit(E->getCallee());
std::string Result = Visit(E->getCallee());
Result += E->getNumArgs() == 0 ? "()" : "(...)";
return Result;
}
std::string
VisitCXXDependentScopeMemberExpr(const CXXDependentScopeMemberExpr *E) {
Expand Down Expand Up @@ -147,6 +149,9 @@ std::string summarizeExpr(const Expr *E) {
}

// Literals are just printed
std::string VisitCXXNullPtrLiteralExpr(const CXXNullPtrLiteralExpr *E) {
return "nullptr";
}
std::string VisitCXXBoolLiteralExpr(const CXXBoolLiteralExpr *E) {
return E->getValue() ? "true" : "false";
}
Expand All @@ -165,12 +170,14 @@ std::string summarizeExpr(const Expr *E) {
std::string Result = "\"";
if (E->containsNonAscii()) {
Result += "...";
} else if (E->getLength() > 10) {
Result += E->getString().take_front(7);
Result += "...";
} else {
llvm::raw_string_ostream OS(Result);
llvm::printEscapedString(E->getString(), OS);
if (E->getLength() > 10) {
llvm::printEscapedString(E->getString().take_front(7), OS);
Result += "...";
} else {
llvm::printEscapedString(E->getString(), OS);
}
}
Result.push_back('"');
return Result;
Expand Down Expand Up @@ -408,12 +415,14 @@ struct Callee {
class InlayHintVisitor : public RecursiveASTVisitor<InlayHintVisitor> {
public:
InlayHintVisitor(std::vector<InlayHint> &Results, ParsedAST &AST,
const Config &Cfg, std::optional<Range> RestrictRange)
const Config &Cfg, std::optional<Range> RestrictRange,
InlayHintOptions HintOptions)
: Results(Results), AST(AST.getASTContext()), Tokens(AST.getTokens()),
Cfg(Cfg), RestrictRange(std::move(RestrictRange)),
MainFileID(AST.getSourceManager().getMainFileID()),
Resolver(AST.getHeuristicResolver()),
TypeHintPolicy(this->AST.getPrintingPolicy()) {
TypeHintPolicy(this->AST.getPrintingPolicy()),
HintOptions(HintOptions) {
bool Invalid = false;
llvm::StringRef Buf =
AST.getSourceManager().getBufferData(MainFileID, &Invalid);
Expand Down Expand Up @@ -1120,7 +1129,6 @@ class InlayHintVisitor : public RecursiveASTVisitor<InlayHintVisitor> {
// Otherwise, the hint shouldn't be shown.
std::optional<Range> computeBlockEndHintRange(SourceRange BraceRange,
StringRef OptionalPunctuation) {
constexpr unsigned HintMinLineLimit = 2;

auto &SM = AST.getSourceManager();
auto [BlockBeginFileId, BlockBeginOffset] =
Expand Down Expand Up @@ -1148,7 +1156,7 @@ class InlayHintVisitor : public RecursiveASTVisitor<InlayHintVisitor> {
auto RBraceLine = SM.getLineNumber(RBraceFileId, RBraceOffset);

// Don't show hint on trivial blocks like `class X {};`
if (BlockBeginLine + HintMinLineLimit - 1 > RBraceLine)
if (BlockBeginLine + HintOptions.HintMinLineLimit - 1 > RBraceLine)
return std::nullopt;

// This is what we attach the hint to, usually "}" or "};".
Expand Down Expand Up @@ -1178,17 +1186,20 @@ class InlayHintVisitor : public RecursiveASTVisitor<InlayHintVisitor> {
StringRef MainFileBuf;
const HeuristicResolver *Resolver;
PrintingPolicy TypeHintPolicy;
InlayHintOptions HintOptions;
};

} // namespace

std::vector<InlayHint> inlayHints(ParsedAST &AST,
std::optional<Range> RestrictRange) {
std::optional<Range> RestrictRange,
InlayHintOptions HintOptions) {
std::vector<InlayHint> Results;
const auto &Cfg = Config::current();
if (!Cfg.InlayHints.Enabled)
return Results;
InlayHintVisitor Visitor(Results, AST, Cfg, std::move(RestrictRange));
InlayHintVisitor Visitor(Results, AST, Cfg, std::move(RestrictRange),
HintOptions);
Visitor.TraverseAST(AST.getASTContext());

// De-duplicate hints. Duplicates can sometimes occur due to e.g. explicit
Expand Down
9 changes: 8 additions & 1 deletion clang-tools-extra/clangd/InlayHints.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,17 @@ namespace clang {
namespace clangd {
class ParsedAST;

struct InlayHintOptions {
// Minimum height of a code block in lines for a BlockEnd hint to be shown
// Includes the lines containing the braces
int HintMinLineLimit = 10;
};

/// Compute and return inlay hints for a file.
/// If RestrictRange is set, return only hints whose location is in that range.
std::vector<InlayHint> inlayHints(ParsedAST &AST,
std::optional<Range> RestrictRange);
std::optional<Range> RestrictRange,
InlayHintOptions HintOptions = {});

} // namespace clangd
} // namespace clang
Expand Down
23 changes: 18 additions & 5 deletions clang-tools-extra/clangd/XRefs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2380,7 +2380,7 @@ outgoingCalls(const CallHierarchyItem &Item, const SymbolIndex *Index) {
// Initially store the ranges in a map keyed by SymbolID of the callee.
// This allows us to group different calls to the same function
// into the same CallHierarchyOutgoingCall.
llvm::DenseMap<SymbolID, std::vector<Range>> CallsOut;
llvm::DenseMap<SymbolID, std::vector<Location>> CallsOut;
// We can populate the ranges based on a refs request only. As we do so, we
// also accumulate the callee IDs into a lookup request.
LookupRequest CallsOutLookup;
Expand All @@ -2390,8 +2390,8 @@ outgoingCalls(const CallHierarchyItem &Item, const SymbolIndex *Index) {
elog("outgoingCalls failed to convert location: {0}", Loc.takeError());
return;
}
auto It = CallsOut.try_emplace(R.Symbol, std::vector<Range>{}).first;
It->second.push_back(Loc->range);
auto It = CallsOut.try_emplace(R.Symbol, std::vector<Location>{}).first;
It->second.push_back(*Loc);

CallsOutLookup.IDs.insert(R.Symbol);
});
Expand All @@ -2411,9 +2411,22 @@ outgoingCalls(const CallHierarchyItem &Item, const SymbolIndex *Index) {

auto It = CallsOut.find(Callee.ID);
assert(It != CallsOut.end());
if (auto CHI = symbolToCallHierarchyItem(Callee, Item.uri.file()))
if (auto CHI = symbolToCallHierarchyItem(Callee, Item.uri.file())) {
std::vector<Range> FromRanges;
for (const Location &L : It->second) {
if (L.uri != Item.uri) {
// Call location not in same file as the item that outgoingCalls was
// requested for. This can happen when Item is a declaration separate
// from the implementation. There's not much we can do, since the
// protocol only allows returning ranges interpreted as being in
// Item's file.
continue;
}
FromRanges.push_back(L.range);
}
Results.push_back(
CallHierarchyOutgoingCall{std::move(*CHI), std::move(It->second)});
CallHierarchyOutgoingCall{std::move(*CHI), std::move(FromRanges)});
}
});
// Sort results by name of the callee.
llvm::sort(Results, [](const CallHierarchyOutgoingCall &A,
Expand Down
Loading
Loading