Skip to content

[AutoBump] Merge with bd56950b (Jan 22) (13) #551

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

Open
wants to merge 202 commits into
base: bump_to_67b9d3ff
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
ebc5020
[AMDGPU] Update entry point name for PAL metadata (#123581)
dstutt Jan 21, 2025
455b3d6
[LLD][COFF] Separate EC and native exports for ARM64X (#123652)
cjacek Jan 21, 2025
b6b18f1
[Reassociate] Don't reassociate vXi1 logical expressions (#123329)
RKSimon Jan 21, 2025
9b6e8df
[AMDGPU][NewPM] Port SIFixVGPRCopies to NPM (#123592)
optimisan Jan 21, 2025
616979e
[NVPTX] Add support for PTX 8.6 and CUDA 12.6 (12.8) (#123398)
sergey-kozub Jan 21, 2025
7acad68
[AMDGPU][CodeGen] SILowerWWMCopies: Declare used analyses (#123710)
optimisan Jan 21, 2025
d96ec48
[libclc] Route select through __clc_select (#123647)
frasercrmck Jan 21, 2025
eaf3e1b
[libclc] Route int bitselect through CLC; add half (#123653)
frasercrmck Jan 21, 2025
84fa175
[AArch64] FEAT_SPEv1p2 is optional in v8.7-A and v9.2-A (#123336)
ostannard Jan 21, 2025
50bfa85
[DAGCombiner] Fix scalarizeExtractedBinOp for some SETCC cases (#123071)
david-arm Jan 21, 2025
6dc356d
[Clang] Add numeric for iota.
davemgreen Jan 21, 2025
3ff9368
[SPIR-V] Ensure that Module resource is managed locally wrt. a unit t…
VyacheslavLevytskyy Jan 21, 2025
cda81b1
[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (reapply) (#123733)
michalpaszkowski Jan 21, 2025
c7de642
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (5/11…
momchil-velikov Jan 21, 2025
13c6abf
[X86][AVX10.2-MINMAX][NFC] Remove NE[P] from intrinsic and instructio…
phoebewang Jan 21, 2025
733be4e
[mlir][spirv] Add GpuToLLVM cconv suited to Vulkan, migrate last test…
andfau-amd Jan 21, 2025
8294459
[AMDGPU] Change scope of resource usage info symbols (#114810)
JanekvO Jan 21, 2025
5d9c717
[GISel] Fold shifts to constant result. (#123510)
lialan Jan 21, 2025
3365693
[clang-format] Rename ExportBlockIndentation -> IndentExportBlock (#1…
Sirraide Jan 21, 2025
d028eaa
[AArch64] Update SVE untyped intrinsics to have FP8 variants (#123585)
jthackray Jan 21, 2025
4b73f6a
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (6/11…
momchil-velikov Jan 21, 2025
67a412f
[mlir][IR] CommonTypeConstraints: fully qualify low-precision FP type…
cota Jan 21, 2025
ec6c344
[include-cleaner] Respect langopts when analyzing macro names (#123634)
kadircet Jan 21, 2025
f233a54
[OpenMP] Remove usage of pointer-to-member in lookup (#123671)
jhuber6 Jan 21, 2025
9ca1323
[AMDGPU] Fix crash due to missing check for FLAT instructions that do…
chinmaydd Jan 21, 2025
29f7392
[flang][OpenMP] Rewrite standalone `loop` (without `bind`) directives…
ergawy Jan 21, 2025
03744d2
[Clang] Remove 3-element vector load and store special handling (#104…
shiltian Jan 21, 2025
5183ec4
[X86] urem-seteq-vec-tautological.ll - regenerate VPTERNLOG comment
RKSimon Jan 21, 2025
0eb7195
[X86] LowerMUL/LowerRotate - avoid undefs in shuffle mask to prevent …
RKSimon Jan 21, 2025
13918f5
[OpenACC] Remove unreachable code
erichkeane Jan 21, 2025
59dffce
[FIX] Include `<numeric>` in `clang/lib/CodeGen/CGExpr.cpp`
shiltian Jan 21, 2025
aeffc01
[lldb][DWARFASTParserClang][NFC] Remove redundant local variable
Michael137 Jan 20, 2025
c3d8205
[RegAllocFast] Don't convert MCRegUnit to MCRegister. NFC (#123705)
topperc Jan 21, 2025
0c21705
[analysis][NFC] clean unittest log (#123758)
HerrCai0907 Jan 21, 2025
f5f32ce
[CodeGen] Use MCRegister instead of MCPhysReg in RegisterMaskPair. NF…
topperc Jan 21, 2025
8f5df88
[Flang][Semantics] Allow declare target to be used on functions exter…
agozillon Jan 21, 2025
70632f9
[AMDGPU][True16][MC] true16 for v_cmp_xx_f16 (#122943)
broxigarchen Jan 21, 2025
e1c1e74
[AMDGPU][True16][MC] true16 for v_cmp_class_f16 (#122984)
broxigarchen Jan 21, 2025
a53abb2
[mlir][IR] CommonTypeConstraints: fix syntax error (#123765)
basioli-k Jan 21, 2025
5deb4ef
[SLP]Initial non-power-of-2 (but still whole register) for remaining …
alexey-bataev Jan 21, 2025
e7e3c45
[mlir] Remove mlir-vulkan-runner and GPUToVulkan conversion passes (#…
andfau-amd Jan 21, 2025
0dcb16e
[Xtensa] Implement Windowed Register Option. (#121118)
andreisfr Jan 21, 2025
a79098b
[compiler-rt] Destroy pthread attrs after use in tests (#114923)
kevans91 Jan 21, 2025
27f15ad
[MLIR][ROCDL] Add ops for LDS read transpose and global to LDS intrin…
plognjen Jan 21, 2025
184c056
[SLP][NFC]Update the test by replacing undefs with constant values, NFC
alexey-bataev Jan 21, 2025
e3c16e0
[SPIR-V] Fix debug-type-pointer.ll test case (#123764)
VyacheslavLevytskyy Jan 21, 2025
5e79ae6
DAG: Fix vector_shuffle -> splat fold defining undef lanes (#123596)
arsenm Jan 21, 2025
712359d
[Flang] Fix -werror from recent resolve-names.cpp changes, left over …
agozillon Jan 21, 2025
b7abc51
[bazel]Fix bazel build past e7e3c45bc70904e24e2b3221ac8521e67eb84668 …
dklimkin Jan 21, 2025
cf6d79a
[FMV][GlobalOpt] Add an option for static resolution of non-FMV calle…
labrinea Jan 21, 2025
485c80e
[PAC] Ignore noexcept on function type when computing discriminator o…
ahatanak Jan 21, 2025
e6c9cd9
[BOLT] Drop parsing sample PC when processing LBR perf data (#123420)
aaupov Jan 21, 2025
b4576bb
Update download and upload artifacts action usage to v4 ahead of depr…
philippjh Jan 21, 2025
4a1c33d
[llvm-gsymutil] Add support for merged functions lookup differentiati…
alx32 Jan 21, 2025
7c91435
[Flang][PPC] XFAIL `-funroll-loops` to include both powerpc64 and pow…
mustartt Jan 21, 2025
59850c2
Attempt to fix libc++ actions runner restarter. (#120627)
EricWF Jan 21, 2025
e376f9c
[RISCV] Mark RVV stores and segmented loads as masked pseudo (#123106)
mshockwave Jan 21, 2025
e4f03b1
[GSYM] Fix a warning
kazutakahirata Jan 21, 2025
6518b12
[Offload][NFC] Factor out and rename the `__tgt_offload_entry` struct…
jhuber6 Jan 21, 2025
4564ac9
Add gfx950 mfma instructions to ROCDL dialect (#123361)
yiqian1 Jan 21, 2025
a31e253
[compiler-rt][rtsan] Fix recvmmsg rtsan interceptor for glibc < 2.21 …
devnexen Jan 21, 2025
baeedd7
[Flang][OpenMP] Fix run line w/ use mod_lib (#123762)
jplehr Jan 21, 2025
1888a5f
[Github][CI] Remove premerge container (#123483)
boomanaiden154 Jan 21, 2025
106f105
[CI][Github] Disable premerge workflow on main
boomanaiden154 Jan 21, 2025
cdb4da3
[NVPTX] Fix failing test and incorrect `mcpu` reading in reflect
jhuber6 Jan 21, 2025
8770126
[VPlan] Remove stale comment for collectUsersInExitBlocks.
fhahn Jan 21, 2025
0ca6b2b
[MemProf] Fix an incorrect iterator increment (#123438)
teresajohnson Jan 21, 2025
662133a
[flang][OpenMP][OpenACC] remove libEvaluate dependency in passes (#12…
jeanPerier Jan 21, 2025
a0ec385
[lld] Migrate away from PointerUnion::dyn_cast (NFC) (#123721)
kazutakahirata Jan 21, 2025
cdd3214
[TargetLowering] Use getShiftAmountConstant. NFC (#123802)
topperc Jan 21, 2025
b393a87
[NFC] Remove extra spaces from comments in Target.td (#123788)
jurahul Jan 21, 2025
cac67d3
[Clang] emit -Wignored-qualifiers diagnostic for cv-qualified base cl…
a-tarasyuk Jan 21, 2025
89f119c
[RISCV] Update matchSplatAsGather to use the index of extract_elt if …
mikhailramalho Jan 21, 2025
e700106
[RISCV] Revise naming and style in matchSplatAsGather [nfc]
preames Jan 21, 2025
bfafbe3
[llvm-gsymutil] Fix flaky test (#123814)
alx32 Jan 21, 2025
5651544
Make armv6 iOS by default instead of macOS when targeting Darwin (#11…
Un1q32 Jan 21, 2025
c95d789
Fix incorrect console.print -> console.log to fix libc++ restarter
EricWF Jan 21, 2025
e2d9e99
[libc] fix -Wextra-semi (#123783)
nickdesaulniers Jan 21, 2025
659e66e
[LLD][COFF] Implement ARM64X relocations for the exception table (#12…
cjacek Jan 21, 2025
48b2ce9
[libc++] Document that internal aliases should be marked _LIBCPP_NODE…
philnik777 Jan 21, 2025
2d317d9
[libc++] Fix no-op shrink_to_fit for vector<bool> (#120495)
winner245 Jan 21, 2025
80097a1
[libc++] Fix input-only range handling for `basic_string` (#116890)
frederick-vs-ja Jan 21, 2025
733a98d
[libc++] Fix input-only range handling for `vector` (#116157)
frederick-vs-ja Jan 21, 2025
6c787ff
Revert "[LV]: Teach LV to recursively (de)interleave. (#122989)"
fhahn Jan 21, 2025
3418cd0
[LV] Add test showing cost-model difference after 9491f75e1d9.
fhahn Jan 21, 2025
c59ede6
Update Developer Policy for copyright notices (#123463)
llvm-beanz Jan 21, 2025
9457418
[LLD] [COFF] Fix linking MSVC generated implib header objects (#122811)
mstorsjo Jan 21, 2025
671ec34
[LLD][COFF] Add support for hybrid exports on ARM64X (#123724)
cjacek Jan 21, 2025
c912e98
[llvm-lib] Don't rewrite paths for members in non-thin archives (#123…
mstorsjo Jan 21, 2025
af84ed8
[ObjectYAML][NFC] Simplify ELFState<ELFT>::initProgramHeaders() (#123…
igorkudrin Jan 21, 2025
dd860bc
[HLSL] Implement the `reflect` HLSL function (#122992)
Icohedron Jan 21, 2025
01045b7
[CUDA] Add missing zero initializer for reflect
jhuber6 Jan 21, 2025
81c0f30
[ORC] Add ExecutorSymbolDef toPtr / fromPtr convenience functions.
lhames Jan 21, 2025
debe7bd
[memprof] Migrate away from PointerUnion::dyn_cast (NFC) (#123716)
kazutakahirata Jan 21, 2025
4c91263
Revert "[HLSL] Implement the `reflect` HLSL function" (#123846)
inbelic Jan 21, 2025
d33e33f
[LLDB] Add draft docstrings for SBSaveCoreOptions (#123132)
Jlalond Jan 21, 2025
b821aae
Remove references to MipsAndroid as it is unsupported (#123810)
hiraditya Jan 21, 2025
635e154
Remove check for Android in Mips.cpp (#123793)
hiraditya Jan 21, 2025
83cdcd5
[MLIR/linalg] Update arg name of `generalizeNamedOp` in `Transforms.h…
ita9naiwa Jan 21, 2025
68fdc09
[bazel] Add SPIRV
chapuni Jan 21, 2025
ec0958c
[bazel] Reorder targets
chapuni Jan 21, 2025
8a5f1ef
[ORC] Simplify error return. NFC.
lhames Jan 22, 2025
6ab9daf
[clang] Implement #pragma clang section on COFF targets (#112714)
vtz Jan 22, 2025
7cf8add
[TLOF][NFC] Make emitLinkerDirectives virtual and public. (#123773)
nvjle Jan 22, 2025
d540ebf
[ARM64EC] Avoid emitting unnecessary symbol references with /guard:cf…
efriedma-quic Jan 22, 2025
d25a1f8
[mlir][Vector][NFC] Add `vector-transform-options` flag to ConvertVec…
dcaballe Jan 22, 2025
b9813ce
[LLDB][LLDB-DAP] Wire up DAP to listen to external progress events (#…
Jlalond Jan 22, 2025
e45de3d
Move RemoveRedundantDbgInstrs outside of inner loop in JumpThreading …
huangjd Jan 22, 2025
c26e1a2
[flang][cuda] Allocate descriptor in managed memory when memref is a …
clementval Jan 22, 2025
335f1a7
[opt][HIPSTDPAR] Handle `__hipstdpar_hidden_malloc` (#123150)
AlexVlx Jan 22, 2025
011b618
[DXIL] Define and generate `DXILAttribute` and `DXILProperty` (#117072)
inbelic Jan 22, 2025
4280316
[flang][cuda] Fix link issue after c26e1a2
clementval Jan 22, 2025
76b0187
[Github] Move agent container to separate tar archive
boomanaiden154 Jan 21, 2025
9883aa9
[RISCV] Remove some unnecessary UnsupportedSched* that are implied by…
topperc Jan 22, 2025
4089314
[SandboxVec][DAG][NFC] Remove early return in notifyMoveInstr()
vporpo Jan 22, 2025
e8811ad
[AMDGPU] Fix unreachable reg bit width (#122107)
Shoreshen Jan 22, 2025
12903fb
[NFC] Include PassID for runBeforePass children.
rastogishubham Jan 22, 2025
ee5d600
Revert "[CI][Github] Disable premerge workflow on main"
boomanaiden154 Jan 22, 2025
18ee7e1
Revert "[LLDB] Add draft docstrings for SBSaveCoreOptions" (#123873)
Jlalond Jan 22, 2025
8c2030b
[LLD] [ELF] Add support for linker script unary plus operator (#121508)
partaror Jan 22, 2025
7c58d63
[AMDGPU] Add commute for some VOP3 inst (#121326)
Shoreshen Jan 22, 2025
ceaaa2b
[AMDGPU] Fix warnings
kazutakahirata Jan 22, 2025
582fe3e
[mlir][python][cmake] Remove unsupported argument from AddMLIRPython.…
ScottTodd Jan 22, 2025
05861b3
[C++20] [Modules] Make sure vtable are generated for explicit templat…
ChuanqiXu9 Jan 22, 2025
c53faf6
Revert "[LLD] [COFF] Fix linking MSVC generated implib header objects…
thurstond Jan 22, 2025
9d0bfea
[ORC] Remove an unimplemented method decl. NFC.
lhames Jan 22, 2025
ae13998
[JITLink] Fix comment: addSection no longer takes an alignment. NFC.
lhames Jan 22, 2025
2841cdb
[lldb] Support format string in the prompt (#123430)
JDevlieghere Jan 22, 2025
3bd8b02
[clang-format] Handle leading C++11 attribute in QualifierAlignment (…
owenca Jan 22, 2025
9cbc1f2
[mlir][NFC] Avoid using braced initializer lists to call a constructo…
hanhanW Jan 22, 2025
5d76642
[clang-format][NFC] Keep option names sorted in Format.h
owenca Jan 22, 2025
07d03c8
[NFC] [C++20] [Modules] Add two tests for comparison lookup within mo…
ChuanqiXu9 Jan 22, 2025
65df99c
[NFC] Avoid potential nullptr deref by using castAs<> (#123395)
schittir Jan 22, 2025
527c030
[RISCV][test] Add VANDN tests with constants
pfusik Jan 20, 2025
7256c91
[JITLink][MachO] Add getOrCreateLocalMachOHeader utility.
lhames Jan 17, 2025
382bafc
[ORC][MachO] Prepare MachOPlatform for compact-unwind support.
lhames Jan 22, 2025
6aeffcd
[TableGen] Add a backend generating SDNode descriptions (#123002)
s-barannikov Jan 22, 2025
3630d9e
[PartiallyInlineLibCalls] Add infrastructure for emitting optimizatio…
TiborGY Jan 22, 2025
8fad58a
[compiler-rt][rtsan] process_vm_readv/process_vm_writev interception.…
devnexen Jan 22, 2025
1d23fb9
[clang][CodeComplete] Use HeuristicResolver to resolve pointee types …
HighCommander4 Jan 22, 2025
ebb27cc
[RISCV] Select Zvkb VANDN for shorter constant loading sequences (#12…
pfusik Jan 22, 2025
a88f31d
[X86] Fix overflow with large stack probes on x86-64 (#113219)
mconst Jan 22, 2025
830bd0e
[SandboxIR] Remove sandboxir::PointerType::get(Type) (#123885)
junlarsen Jan 22, 2025
b7b9ccf
[lldb] Implement basic support for reverse-continue (#112079)
rocallahan Jan 22, 2025
d839c06
[lldb] Avoid repeated map lookups (NFC) (#123892)
kazutakahirata Jan 22, 2025
4c6242e
[mlir] Link libraries that aren't included in libMLIR to libMLIR (#12…
mgorny Jan 22, 2025
53ea5ff
[mutation analyzer] support mutation analysis for pointee (#118593)
HerrCai0907 Jan 22, 2025
f7d8336
[llvm] Pass MachineInstr flags to storeRegToStackSlot/loadRegFromStac…
RamNalamothu Jan 22, 2025
ca65055
Remove mention of conditional branches in undefined values section. (…
Chobbes Jan 22, 2025
69d0c4c
[Clang] SubstituteConstraintExpressionWithoutSatisfaction needs an un…
zyn0217 Jan 22, 2025
9decc24
Revert "[mlir] Link libraries that aren't included in libMLIR to libM…
mgorny Jan 22, 2025
a5159e2
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123890)
kazutakahirata Jan 22, 2025
aaf0643
[lld] Migrate away from PointerUnion::dyn_cast (NFC) (#123891)
kazutakahirata Jan 22, 2025
8ad4f1a
[Analysis] Avoid repeated hash lookups (NFC) (#123893)
kazutakahirata Jan 22, 2025
19a7fe0
[CodeGen] Avoid repeated hash lookups (NFC) (#123894)
kazutakahirata Jan 22, 2025
0a9c08c
[Clang] Implement P2280R4 Using unknown pointers and references in co…
shafik Jan 22, 2025
0369ac8
Fix markup in cxx_status.html
cor3ntin Jan 22, 2025
bc6f84a
[StrTable] Switch diag group names to `llvm::StringTable` (#123302)
chandlerc Jan 22, 2025
22561cf
Revert "[lldb] Implement basic support for reverse-continue" (#123906)
labath Jan 22, 2025
957213f
[OpenCL] Diagnose block references in selection operator (#114824)
svenvh Jan 22, 2025
3088c31
[llvm] Add NCD search on Array of basic blocks (NFC) (#119355)
enoskova-sc Jan 22, 2025
047e8e4
Reapply "[mlir] Link libraries that aren't included in libMLIR to lib…
mgorny Jan 22, 2025
7bb949e
[IR][unittests] Replace of PointerType::getUnqual(Type) with opaque v…
junlarsen Jan 22, 2025
76672e3
[Polly] Add vectorize metadata to loops identified as vectorizable by…
kartcq Jan 22, 2025
4df6d3d
Reland "RegisterCoalescer: Add implicit-def of super register when co…
sdesmalen-arm Jan 22, 2025
6e1ea7e
[AArch64] Set the default streaming hazard size to 1024 for +sme,+sve…
MacDue Jan 22, 2025
d064d3f
Revert "[Xtensa] Implement Windowed Register Option." (#123913)
sylvestre Jan 22, 2025
937cbce
Revert "[flang][OpenMP] Enable delayed privatization by default `omp.…
ergawy Jan 22, 2025
70f8040
[LoongArch] Simplify some Args.getLastArg() calls with AddTargetFeatu…
SixWeining Jan 22, 2025
9178708
[PAC][lld][AArch64][ELF] Support signed TLSDESC (#113817)
kovdan01 Jan 22, 2025
2ee36d4
[compiler-rt][rtsan] Fix sendmmsg and recvmmsg rtsan interceptor for …
kongy Jan 22, 2025
23fd8f6
[lldb][DWARFASTParserClang][NFCI] Simplify ParseChildParameters (#123…
Michael137 Jan 22, 2025
5f40570
[win/asan] GetInstructionSize: Support some more 5 byte instructions.…
bernhardu Jan 22, 2025
a343b8e
[AMDGPU][NewPM] Port SILowerWWMCopies to NPM (#123695)
optimisan Jan 22, 2025
d2e5103
[C++20] [Modules] Correct the visibility of decls in implicit global …
ChuanqiXu9 Jan 22, 2025
0d24130
[llvm][Docs] Add lldb user expressions related release notes (#123772)
dlav-sc Jan 22, 2025
56592a8
[win/asan] GetInstructionSize: Support some more 4 byte instructions.…
bernhardu Jan 22, 2025
2b0e225
[clangd] Support .clangd command line modifications for C++ modules (…
petr-polezhaev Jan 22, 2025
dedf014
[LoongArch] lower SCALAR_TO_VECTOR to INSERT_VECTOR_ELT (#122863)
tangaac Jan 22, 2025
ef37c3d
[llvm][Docs] Release note for LLDB optionally disabled regsets for RV…
AlexeyMerzlyakov Jan 22, 2025
9e0b2b6
[libclc] Don't rely on fp16 pragma guards in headers (#122751)
frasercrmck Jan 22, 2025
28c819c
[Clang] Fix tests broken by 0a9c08c
cor3ntin Jan 22, 2025
4a2ebd6
[LV][NFC] Refactor structures used to maintain uncountable exit info …
david-arm Jan 22, 2025
0165d04
[HIP] [NFC] Rename to `ClangArgs`
Xeonacid Jan 22, 2025
6123a81
[compiler-rt][rtsan] Fix process_vm_readv/process_vm_writev signature…
devnexen Jan 22, 2025
974f678
[HIP] [NFC] Rename to ClangArgs (really)
Xeonacid Jan 22, 2025
6b1db79
Revert "Reland "RegisterCoalescer: Add implicit-def of super register…
sdesmalen-arm Jan 22, 2025
c745ece
[compiler-rt][rtsan] page regions api interception update. (#123601)
devnexen Jan 22, 2025
099fd01
[mlir][Vector] Remove Vector{Load|Store}ToMemrefLoadLowering (#121454)
meltq Jan 22, 2025
1a1dbac
[PS4/PS5][Driver] Observe <sysroot>/target/lib for libraries (#123350)
playstation-edd Jan 22, 2025
58be6fd
[X86] fixup-bw-inst.ll - regenerate test checks to simplify diff for …
RKSimon Jan 22, 2025
c4ef805
[Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#1…
ostannard Jan 22, 2025
ffde268
[compiler-rt] Make Arm builtins aware of endianness in VMOVs (#123204)
vhscampos Jan 22, 2025
b7423e9
[AMDGPU] Remove .i32 suffix from comments documenting intrinsics (#12…
jayfoad Jan 22, 2025
d03fab1
[RISCV] Add precommit test for #123882
wangpc-pp Jan 22, 2025
9d676e2
[MCA] Use MCInstrAnalysis to analyse call/return instructions (#123882)
wangpc-pp Jan 22, 2025
97c3a99
Remove incorrect CUDA defines (#123898)
sergey-kozub Jan 22, 2025
c6c6475
[SLP][NFC] Update test for PR #118055 (#122696)
sushgokh Jan 22, 2025
fbd86d0
[clang-reorder-fields] Reorder leading comments (#123740)
legrosbuffle Jan 22, 2025
5136c6d
[Tools][Docker] Update Dockerfiles and Docker guide (#123841)
marcauberer Jan 22, 2025
bd56950
[clang] Refine the temporay object member access filtering for GSL po…
hokein Jan 22, 2025
11819d6
[AutoBump] Merge with bd56950b (Jan 22)
jorickert May 21, 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
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .github/workflows/build-ci-container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
container-name-tag: ${{ steps.vars.outputs.container-name-tag }}
container-name-agent-tag: ${{ steps.vars.outputs.container-name-agent-tag }}
container-filename: ${{ steps.vars.outputs.container-filename }}
container-agent-filename: ${{ steps.vars.outputs.container-agent-filename }}
steps:
- name: Checkout LLVM
uses: actions/checkout@v4
Expand All @@ -42,6 +43,7 @@ jobs:
echo "container-name-tag=$container_name:$tag" >> $GITHUB_OUTPUT
echo "container-name-agent-tag=$container_name-agent:$tag" >> $GITHUB_OUTPUT
echo "container-filename=$(echo $container_name:$tag | sed -e 's/\//-/g' -e 's/:/-/g').tar" >> $GITHUB_OUTPUT
echo "container-agent-filename=$(echo $container_name-agent:$tag | sed -e 's/\//-/g' -e 's/:/-/g').tar" >> $GITHUB_OUTPUT
- name: Build container
working-directory: ./.github/workflows/containers/github-action-ci/
run: |
Expand All @@ -53,13 +55,14 @@ jobs:
# maintain minimal permissions while building the container.
- name: Save container image
run: |
podman save ${{ steps.vars.outputs.container-name-tag }} ${{ steps.vars.outputs.container-name-agent-tag }} > ${{ steps.vars.outputs.container-filename }}
podman save ${{ steps.vars.outputs.container-name-tag }} > ${{ steps.vars.outputs.container-filename }}
podman save ${{ steps.vars.outputs.container-name-agent-tag }} > ${{ steps.vars.outputs.container-agent-filename }}

- name: Upload container image
uses: actions/upload-artifact@v4
with:
name: container
path: ${{ steps.vars.outputs.container-filename }}
path: "*.tar"
retention-days: 14

- name: Test Container
Expand Down Expand Up @@ -92,6 +95,7 @@ jobs:
podman push ${{ needs.build-ci-container.outputs.container-name-tag }}
podman push ${{ needs.build-ci-container.outputs.container-name }}:latest

podman load -i ${{ needs.build-ci-container.outputs.container-agent-filename }}
podman tag ${{ needs.build-ci-container.outputs.container-name-agent-tag }} ${{ needs.build-ci-container.outputs.container-name-agent }}:latest
podman push ${{ needs.build-ci-container.outputs.container-name-agent-tag }}
podman push ${{ needs.build-ci-container.outputs.container-name-agent }}:latest
8 changes: 4 additions & 4 deletions .github/workflows/libclang-abi-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ jobs:
sed -i 's/LLVM_[0-9]\+/LLVM_NOVERSION/' $lib-${{ matrix.ref }}.abi
done
- name: Upload ABI file
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
with:
name: ${{ matrix.name }}
path: '*${{ matrix.ref }}.abi'
Expand All @@ -143,12 +143,12 @@ jobs:
- abi-dump
steps:
- name: Download baseline
uses: actions/download-artifact@v3
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
with:
name: build-baseline
path: build-baseline
- name: Download latest
uses: actions/download-artifact@v3
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
with:
name: build-latest
path: build-latest
Expand All @@ -162,7 +162,7 @@ jobs:
done
- name: Upload ABI Comparison
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
with:
name: compat-report-${{ github.sha }}
path: compat_reports/
37 changes: 30 additions & 7 deletions .github/workflows/libcxx-restart-preempted-jobs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,12 @@ jobs:
check_run_id: check_run_id
})

// For temporary debugging purposes to see the structure of the annotations.
console.log(annotations);

has_failed_job = false;
saved_failure_message = null;

for (annotation of annotations.data) {
if (annotation.annotation_level != 'failure') {
continue;
Expand All @@ -106,15 +112,32 @@ jobs:

const failure_match = annotation.message.match(failure_regex);
if (failure_match != null) {
// We only want to restart the workflow if all of the failures were due to preemption.
// We don't want to restart the workflow if there were other failures.
core.notice('Choosing not to rerun workflow because we found a non-preemption failure' +
'Failure message: "' + annotation.message + '"');
await create_check_run('skipped', 'Choosing not to rerun workflow because we found a non-preemption failure\n'
+ 'Failure message: ' + annotation.message)
return;
has_failed_job = true;
saved_failure_message = annotation.message;
}
}
if (has_failed_job && (! has_preempted_job)) {
// We only want to restart the workflow if all of the failures were due to preemption.
// We don't want to restart the workflow if there were other failures.
//
// However, libcxx runners running inside docker containers produce both a preemption message and failure message.
//
// The desired approach is to ignore failure messages which appear on the same job as a preemption message
// (An job is a single run with a specific configuration, ex generic-gcc, gcc-14).
//
// However, it's unclear that this code achieves the desired approach, and it may ignore all failures
// if a preemption message is found at all on any run.
//
// For now, it's more important to restart preempted workflows than to avoid restarting workflows with
// non-preemption failures.
//
// TODO Figure this out.
core.notice('Choosing not to rerun workflow because we found a non-preemption failure' +
'Failure message: "' + saved_failure_message + '"');
await create_check_run('skipped', 'Choosing not to rerun workflow because we found a non-preemption failure\n'
+ 'Failure message: ' + saved_failure_message)
return;
}
}

if (!has_preempted_job) {
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/llvm-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,14 +137,14 @@ jobs:
# Remove symbol versioning from dumps, so we can compare across major versions.
sed -i 's/LLVM_${{ matrix.llvm_version_major }}/LLVM_NOVERSION/' ${{ matrix.ref }}.abi
- name: Upload ABI file
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
with:
name: ${{ matrix.name }}
path: ${{ matrix.ref }}.abi

- name: Upload symbol list file
if: matrix.name == 'build-baseline'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
with:
name: symbol-list
path: llvm.symbols
Expand All @@ -157,17 +157,17 @@ jobs:
- abi-dump
steps:
- name: Download baseline
uses: actions/download-artifact@v3
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
with:
name: build-baseline
path: build-baseline
- name: Download latest
uses: actions/download-artifact@v3
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
with:
name: build-latest
path: build-latest
- name: Download symbol list
uses: actions/download-artifact@v3
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # 4.1.8
with:
name: symbol-list
path: symbol-list
Expand All @@ -186,7 +186,7 @@ jobs:
abi-compliance-checker $EXTRA_ARGS -l libLLVM.so -old build-baseline/*.abi -new build-latest/*.abi || test "${{ needs.abi-dump-setup.outputs.ABI_HEADERS }}" = "llvm-c"
- name: Upload ABI Comparison
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
with:
name: compat-report-${{ github.sha }}
path: compat_reports/
5 changes: 0 additions & 5 deletions .github/workflows/premerge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,6 @@ jobs:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
container:
image: ghcr.io/llvm/ci-ubuntu-22.04:latest
defaults:
run:
shell: bash
steps:
- name: Checkout LLVM
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
./llvm/utils/release/build-docs.sh -release "${{ inputs.release-version }}" -no-doxygen

- name: Create Release Notes Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # 4.6.0
with:
name: release-notes
path: docs-build/html-export/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/spirv-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ jobs:
with:
build_target: check-llvm-codegen-spirv
projects:
extra_cmake_args: '-DLLVM_TARGETS_TO_BUILD="" -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="SPIRV" -DLLVM_INCLUDE_SPIRV_TOOLS_TESTS=ON'
extra_cmake_args: '-DLLVM_TARGETS_TO_BUILD="SPIRV" -DLLVM_INCLUDE_SPIRV_TOOLS_TESTS=ON'
os_list: '["ubuntu-22.04"]'
4 changes: 0 additions & 4 deletions bolt/include/bolt/Profile/DataAggregator.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ class DataAggregator : public DataReader {
private:
struct PerfBranchSample {
SmallVector<LBREntry, 32> LBR;
uint64_t PC;
};

struct PerfBasicSample {
Expand Down Expand Up @@ -334,9 +333,6 @@ class DataAggregator : public DataReader {
/// Process all branch events.
void processBranchEvents();

/// This member function supports generating data for AutoFDO LLVM tools.
std::error_code writeAutoFDOData(StringRef OutputFilename);

/// Parse the full output generated by perf script to report non-LBR samples.
std::error_code parseBasicEvents();

Expand Down
109 changes: 9 additions & 100 deletions bolt/lib/Profile/DataAggregator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,6 @@ TimeAggregator("time-aggr",
cl::ZeroOrMore,
cl::cat(AggregatorCategory));

static cl::opt<bool>
UseEventPC("use-event-pc",
cl::desc("use event PC in combination with LBR sampling"),
cl::cat(AggregatorCategory));

static cl::opt<bool> WriteAutoFDOData(
"autofdo", cl::desc("generate autofdo textual data instead of bolt data"),
cl::cat(AggregatorCategory));

} // namespace opts

namespace {
Expand Down Expand Up @@ -187,15 +178,13 @@ void DataAggregator::start() {
/*Wait = */false);
} else if (!opts::ITraceAggregation.empty()) {
std::string ItracePerfScriptArgs = llvm::formatv(
"script -F pid,ip,brstack --itrace={0}", opts::ITraceAggregation);
"script -F pid,brstack --itrace={0}", opts::ITraceAggregation);
launchPerfProcess("branch events with itrace", MainEventsPPI,
ItracePerfScriptArgs.c_str(),
/*Wait = */ false);
} else {
launchPerfProcess("branch events",
MainEventsPPI,
"script -F pid,ip,brstack",
/*Wait = */false);
launchPerfProcess("branch events", MainEventsPPI, "script -F pid,brstack",
/*Wait = */ false);
}

// Note: we launch script for mem events regardless of the option, as the
Expand Down Expand Up @@ -381,67 +370,6 @@ void DataAggregator::parsePreAggregated() {
}
}

std::error_code DataAggregator::writeAutoFDOData(StringRef OutputFilename) {
outs() << "PERF2BOLT: writing data for autofdo tools...\n";
NamedRegionTimer T("writeAutoFDO", "Processing branch events", TimerGroupName,
TimerGroupDesc, opts::TimeAggregator);

std::error_code EC;
raw_fd_ostream OutFile(OutputFilename, EC, sys::fs::OpenFlags::OF_None);
if (EC)
return EC;

// Format:
// number of unique traces
// from_1-to_1:count_1
// from_2-to_2:count_2
// ......
// from_n-to_n:count_n
// number of unique sample addresses
// addr_1:count_1
// addr_2:count_2
// ......
// addr_n:count_n
// number of unique LBR entries
// src_1->dst_1:count_1
// src_2->dst_2:count_2
// ......
// src_n->dst_n:count_n

const uint64_t FirstAllocAddress = this->BC->FirstAllocAddress;

// AutoFDO addresses are relative to the first allocated loadable program
// segment
auto filterAddress = [&FirstAllocAddress](uint64_t Address) -> uint64_t {
if (Address < FirstAllocAddress)
return 0;
return Address - FirstAllocAddress;
};

OutFile << FallthroughLBRs.size() << "\n";
for (const auto &[Trace, Info] : FallthroughLBRs) {
OutFile << formatv("{0:x-}-{1:x-}:{2}\n", filterAddress(Trace.From),
filterAddress(Trace.To),
Info.InternCount + Info.ExternCount);
}

OutFile << BasicSamples.size() << "\n";
for (const auto [PC, HitCount] : BasicSamples)
OutFile << formatv("{0:x-}:{1}\n", filterAddress(PC), HitCount);

OutFile << BranchLBRs.size() << "\n";
for (const auto &[Trace, Info] : BranchLBRs) {
OutFile << formatv("{0:x-}->{1:x-}:{2}\n", filterAddress(Trace.From),
filterAddress(Trace.To), Info.TakenCount);
}

outs() << "PERF2BOLT: wrote " << FallthroughLBRs.size() << " unique traces, "
<< BasicSamples.size() << " sample addresses and " << BranchLBRs.size()
<< " unique branches to " << OutputFilename << "\n";

return std::error_code();
}

void DataAggregator::filterBinaryMMapInfo() {
if (opts::FilterPID) {
auto MMapInfoIter = BinaryMMapInfo.find(opts::FilterPID);
Expand Down Expand Up @@ -583,15 +511,6 @@ Error DataAggregator::preprocessProfile(BinaryContext &BC) {
(opts::BasicAggregation && parseBasicEvents()))
errs() << "PERF2BOLT: failed to parse samples\n";

// We can finish early if the goal is just to generate data for autofdo
if (opts::WriteAutoFDOData) {
if (std::error_code EC = writeAutoFDOData(opts::OutputFilename))
errs() << "Error writing autofdo data to file: " << EC.message() << "\n";

deleteTempFiles();
exit(0);
}

// Special handling for memory events
if (prepareToParse("mem events", MemEventsPPI, MemEventsErrorCallback))
return Error::success();
Expand Down Expand Up @@ -1158,14 +1077,6 @@ ErrorOr<DataAggregator::PerfBranchSample> DataAggregator::parseBranchSample() {
return make_error_code(errc::no_such_process);
}

while (checkAndConsumeFS()) {
}

ErrorOr<uint64_t> PCRes = parseHexField(FieldSeparator, true);
if (std::error_code EC = PCRes.getError())
return EC;
Res.PC = PCRes.get();

if (checkAndConsumeNewLine())
return Res;

Expand Down Expand Up @@ -1472,9 +1383,9 @@ std::error_code DataAggregator::printLBRHeatMap() {
uint64_t DataAggregator::parseLBRSample(const PerfBranchSample &Sample,
bool NeedsSkylakeFix) {
uint64_t NumTraces{0};
// LBRs are stored in reverse execution order. NextPC refers to the next
// recorded executed PC.
uint64_t NextPC = opts::UseEventPC ? Sample.PC : 0;
// LBRs are stored in reverse execution order. NextLBR refers to the next
// executed branch record.
const LBREntry *NextLBR = nullptr;
uint32_t NumEntry = 0;
for (const LBREntry &LBR : Sample.LBR) {
++NumEntry;
Expand All @@ -1486,10 +1397,10 @@ uint64_t DataAggregator::parseLBRSample(const PerfBranchSample &Sample,
// chronological order)
if (NeedsSkylakeFix && NumEntry <= 2)
continue;
if (NextPC) {
if (NextLBR) {
// Record fall-through trace.
const uint64_t TraceFrom = LBR.To;
const uint64_t TraceTo = NextPC;
const uint64_t TraceTo = NextLBR->From;
const BinaryFunction *TraceBF =
getBinaryFunctionContainingAddress(TraceFrom);
if (TraceBF && TraceBF->containsAddress(TraceTo)) {
Expand Down Expand Up @@ -1524,7 +1435,7 @@ uint64_t DataAggregator::parseLBRSample(const PerfBranchSample &Sample,
}
++NumTraces;
}
NextPC = LBR.From;
NextLBR = &LBR;

uint64_t From = getBinaryFunctionContainingAddress(LBR.From) ? LBR.From : 0;
uint64_t To = getBinaryFunctionContainingAddress(LBR.To) ? LBR.To : 0;
Expand Down Expand Up @@ -1561,8 +1472,6 @@ std::error_code DataAggregator::parseBranchEvents() {
++NumSamples;

PerfBranchSample &Sample = SampleRes.get();
if (opts::WriteAutoFDOData)
++BasicSamples[Sample.PC];

if (Sample.LBR.empty()) {
++NumSamplesNoLBR;
Expand Down
Loading