Skip to content
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

[pull] main from llvm:main #5546

Merged
merged 2,592 commits into from
Feb 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2592 commits
Select commit Hold shift + click to select a range
e90f9b4
[clang][bytecode] Print desriptor PrimType in dump() (#125726)
tbaederr Feb 5, 2025
16c721f
[clang][bytecode] Destroy local variables in reverse order (#125727)
tbaederr Feb 5, 2025
44f638f
CodeGen][NewPM] Port PostRAScheduler to NPM. (#125798)
cdevadas Feb 5, 2025
409fa78
[ARM] Add "avoidmuls" to STAR-MC1 also (#123706)
AlbertHuang-CPU Feb 5, 2025
646d352
[OpenMP][ASan] Enable ASan Instrumentation for AMDGPUOpenMPToolChain.…
ampandey-1995 Feb 5, 2025
0074a46
[LoopInterchange] Hoist isComputableLoopNest() in the control flow (#…
madhur13490 Feb 5, 2025
ad38c4c
[lldb] Document lldb `x` packet deprecation. (#125682)
labath Feb 5, 2025
84b0c12
[PAC] Do not support some values of branch-protection with ptrauth-re…
kovdan01 Feb 5, 2025
eae6d6d
Re-reapply "[ORC] Enable JIT support for the compact-unwind..." with …
lhames Feb 4, 2025
ee76bda
[flang] Move FIRSupport dependency to correct place (#125697)
nikic Feb 5, 2025
922ab66
[InstCombine] Drop nowrap flags in `foldBitCeil` (#125817)
dtcxzyw Feb 5, 2025
4fdd28b
[SLP][X86] Add test coverage for #124993
RKSimon Feb 5, 2025
8bba8a5
[NFC][ValueTracking] Hoist the matching of RHS constant (#125818)
dtcxzyw Feb 5, 2025
ad152f4
[mlir] Fix MLIRTestDialect dependency in MLIRTestIR (#125705)
nikic Feb 5, 2025
1cf9092
[MISched] Small debug improvements (#125072)
c-rhodes Feb 5, 2025
439de72
[TableGen][Docs] Fix productionlists for SimpleValue (#123751)
jayfoad Feb 5, 2025
8cb3d7b
[LLD][COFF] Emit locally imported EC symbols for ARM64X (#125527)
cjacek Feb 5, 2025
6c84d64
[IR][NFC] Remove obsolete comments in `BinaryOperator::swapOperands` …
dtcxzyw Feb 5, 2025
76d1cb2
[libclc] Move rotate to CLC library; optimize (#125713)
frasercrmck Feb 5, 2025
4287c72
[MLIR][NVVM] Add tcgen05 alloc/dealloc Ops (#125674)
durga4github Feb 5, 2025
f9af5c1
[flang][cmake] Fix bcc dependencies (#125822)
nikic Feb 5, 2025
b275309
[TableGen][Docs] Fix productionlists for assert and dump (#123739)
jayfoad Feb 5, 2025
e596387
[LLD][COFF] Use EC symbol table for output DEF file on ARM64X (#125531)
cjacek Feb 5, 2025
f0b8ff1
[mlir][tosa] Remove Quantization Attribute (#125479)
FranklandJack Feb 5, 2025
baf2786
[MLIR][NVGPU] Move max threads/blocks size to dialect (NFC) (#124454)
grypp Feb 5, 2025
ee25a85
[clang][bytecode] Handle CXXPseudoDestructorExprs (#125835)
tbaederr Feb 5, 2025
a61ca99
[mlir] fix overflow warning when generating embedded libdevice (#125801)
MikaOvO Feb 5, 2025
e3abe94
[MachinePipeliner] Improve loop carried dependence analysis (#94185)
ytmukai Feb 5, 2025
23b6a05
[CG][RISCV]Fix shuffling of odd number of input vectors
alexey-bataev Feb 5, 2025
7945a33
[bazel] Port for baf27862ddb23c3854cb6782a3f1675da4722a50
hokein Feb 5, 2025
f77f777
[CodeGen][NewPM] Port RenameIndependentSubregs to NPM (#125192)
optimisan Feb 5, 2025
e78be31
[RISCV] Added cost model for fmuladd (#125683)
mikhailramalho Feb 5, 2025
b83c960
[CodeGen][NewPM] Port SIWholeQuadMode to NPM. (#125833)
cdevadas Feb 5, 2025
814db6c
[CodeGen][NewPM] Port GCNPreRALongBranchReg to NPM. (#125844)
cdevadas Feb 5, 2025
5df62bd
[mlir][spirv] Support poison index when converting vector.insert/extr…
andfau-amd Feb 5, 2025
c7995a6
[AArch64] Disallow vscale x 1 partial reductions (#125252)
SamTebbs33 Feb 5, 2025
bcfd9f8
[libc++] Fix stray usage of _LIBCPP_HAS_NO_WIDE_CHARACTERS on Windows
ldionne Feb 5, 2025
7d669b7
[Clang][Comments] Allow HTML tags across multiple lines (#120843)
Nerixyz Feb 5, 2025
8c36665
[OpenMP]Initial parsing/sema support for target_device selector set (…
Ritanya-B-Bharadwaj Feb 5, 2025
ccb08b9
[libc++] Also provide an alignment assumption for vector in C++03 mod…
ldionne Feb 5, 2025
cd754af
[Clang] Permit both `gnu` and `clang` prefixes on some attributes (#1…
jhuber6 Feb 5, 2025
455cedc
[Clang] Make `-Xarch_` handling generic for all toolchains (#125421)
jhuber6 Feb 5, 2025
bb7ab25
[OpenMP] Port the OpenMP device runtime to direct C++ compilation (#1…
jhuber6 Feb 5, 2025
f49a216
[OpenMP] Fix multiply defined macro warning
jhuber6 Feb 5, 2025
56a4988
[NFC] Fix Lit test 'amdgpu-openmp-sanitize-options.c'. (#125857)
ampandey-1995 Feb 5, 2025
290a0d8
[gn build] Port eae6d6d18bd4
llvmgnsyncbot Feb 5, 2025
ccd92ec
[flang][openmp] Changes for invoking scan Op (#123254)
anchuraj Feb 5, 2025
e151b1d
[MLIR][OpenMP] Use correct DebugLoc in target construct callbacks. (#…
abidh Feb 5, 2025
08bda1c
Reland: [clang] fix P3310 overload resolution flag propagation (#125791)
mizvekov Feb 5, 2025
c517edb
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#125811)
kazutakahirata Feb 5, 2025
fe0c37f
[ADT] Avoid repeated hash lookups (NFC) (#125812)
kazutakahirata Feb 5, 2025
34c7d89
[Analysis] Avoid repeated hash lookups (NFC) (#125813)
kazutakahirata Feb 5, 2025
dd099e9
[MLIR][NVVM] Fix links in OP definition (#125865)
grypp Feb 5, 2025
7c2c7a4
[AsmPrinter] Avoid repeated hash lookups (NFC) (#125814)
kazutakahirata Feb 5, 2025
e9dd4a8
[Hexagon] Avoid repeated map lookups (NFC) (#125815)
kazutakahirata Feb 5, 2025
acebaa0
[X86] fp-round.ll - regenerate VPTERNLOG comments
RKSimon Feb 5, 2025
7b5e90b
[AMDGPU][True16][MC] Generate op_sel operands for VOPC instructions (…
broxigarchen Feb 5, 2025
a0d3d69
[SPARC][IAS] Add support for `setsw` pseudoinstruction
koachan Feb 5, 2025
c94d930
[clang] NFC: rename MatchedPackOnParmToNonPackOnArg to StrictPackMatc…
mizvekov Feb 5, 2025
925d347
[flang] fix IsSimplyContiguous with expressions (#125708)
jeanPerier Feb 5, 2025
c1d5be8
[analyzer] Add time-trace scopes for high-level analyzer steps (#125508)
necto Feb 5, 2025
92e3cd7
X86: Remove hack in shouldRewriteCopySrc for subregister handling (#1…
arsenm Feb 5, 2025
58a8800
PeepholeOpt: Fix looking for def of current copy to coalesce (#125533)
arsenm Feb 5, 2025
f07cd36
[LoopVectorize] Add the cost of VPInstruction::AnyOf to vplan (#125058)
david-arm Feb 5, 2025
cf9806e
[libc++] Fix UB in bitwise logic of {std, ranges}::{fill, fill_n} alg…
winner245 Feb 5, 2025
7ef636e
[clang][bytecode] Mark IndirectFieldDecl chain links as initialized (…
tbaederr Feb 5, 2025
f9dbf1a
[MemProf] Use correct print_text value (#125793)
ellishg Feb 5, 2025
346077a
Reland: [clang] Track function template instantiation from definition…
mizvekov Feb 5, 2025
9deafad
[Clang] Use x86 triple for offload-Xarch.c test
DavidSpickett Feb 5, 2025
3492985
Fix `llvm/test/DebugInfo/Generic/discriminated-union.ll` on big-endia…
beetrees Feb 5, 2025
19c3e2f
[libc] Fix all imports of src/string/memory_utils (#114939)
krishna2803 Feb 5, 2025
a907008
[BOLT,test] Link against a shared object to test PLT (#125625)
MaskRay Feb 5, 2025
50a27ce
[SPIR-V] Support all the instructions of SPV_KHR_integer_dot_product …
vmaksimo Feb 5, 2025
1c7625b
[X86] fp-strict-scalar-fptoint-fp16.ll - regenerate VMOVSH comments
RKSimon Feb 5, 2025
d86e379
[CodeGen][NewPM] Port StackSlotColoring to NPM. (#125876)
cdevadas Feb 5, 2025
ebd23f2
[mlir][CMake] Fix dependency on MLIRTestDialect in Transforms tests (…
DavidSpickett Feb 5, 2025
d3e2459
[flang][cuda][NFC] Add tests for device functions in cuf kernels (#12…
clementval Feb 5, 2025
5b98be4
[lib++][Format] Updates Unicode database. (#125712)
mordante Feb 5, 2025
57614a3
[libc][sys/wait][linux] add missing and clean up existing macros (#12…
nickdesaulniers Feb 5, 2025
41d5d2b
[lldb/Host] Add ability to open URLs on macOS (#125893)
medismailben Feb 5, 2025
6f750cf
[libc][unistd] Implement setsid (#125704)
krishna2803 Feb 5, 2025
659d1fe
[clang][OpenMP] OpenMP 6.0 updates to restrictions with order/concurr…
ddpagan Feb 5, 2025
c491cbf
[flang][test] Fix filecheck annotation typos (#92387)
klensy Feb 5, 2025
1eeca67
[AMDGPU][True16][MC] validate op_sel and .l/.h syntax (#125872)
broxigarchen Feb 5, 2025
96d46c6
[docs] Improvements to HowToAddABuilder local test guide (#125802)
asb Feb 5, 2025
2d8106c
[Clang] Add width handling for <gpuintrin.h> shuffle helper (#125896)
jhuber6 Feb 5, 2025
d9a7498
[LLDB] Add Lexer (with tests) for DIL (Data Inspection Language). (#1…
cmtice Feb 5, 2025
718cdeb
[Clang] Fix test after new argument was added
jhuber6 Feb 5, 2025
46c4845
[libc][cmake] Do not overwrite SKIP_FLAG_EXPANSION_*. (#125762)
lntue Feb 5, 2025
ba476d0
[LLD][ELF][AArch64] Discard .ARM.attributes sections (#125838)
smithp35 Feb 5, 2025
251ece1
[gn build] Port d9a7498aa24a
llvmgnsyncbot Feb 5, 2025
25dd93a
[TableGen] Add declarations to silence gcc warning. NFC (#125892)
topperc Feb 5, 2025
a57bbff
[clang][test][OpenMP] Fix test assumptions of libomp and clang paths …
rupprecht Feb 5, 2025
fa10047
[compiler-rt][rtsan] chdir/fchdir interception. (#125895)
devnexen Feb 5, 2025
d6cf04c
[NFC][TableGen] Make `AsmMatcherEmitterCat` static (#125881)
jurahul Feb 5, 2025
0ad1f83
[mlir] Python: Extend print large elements limit to resources (#125738)
nikalra Feb 5, 2025
4e14b8a
[mlir] Python: Parse ModuleOp from file path (#125736)
nikalra Feb 5, 2025
113534d
[MLIR] Fix nanobind linker args on macOS (#125733)
nikalra Feb 5, 2025
585b75e
[VPlan] Simplify matching recipe ty and opcode in pattern match (NFC).
fhahn Feb 5, 2025
6e52a12
[mlir][vector] Create `VectorToLLVMDialectInterface` (#121440)
Hardcode84 Feb 5, 2025
4eab219
[libc] Remove LlvmLibcStackChkFail.Smash test (#125919)
frobtech Feb 5, 2025
b4d547a
[libc][wait] hard code __W_CONTINUED for SYS_waitid fallback (#125929)
nickdesaulniers Feb 5, 2025
8e35b3d
[libc][POSIX][poll.h] implement poll (#125118)
nickdesaulniers Feb 5, 2025
db9caf6
[bazel][mlir][vector] Port 6e52a12811a17e5871f403f04fd4082d43160bf3 (…
rupprecht Feb 5, 2025
718b16a
[libc][wait] add comment about __W_CONTINUED value (#125934)
nickdesaulniers Feb 5, 2025
69ccb13
[flang][cuda] Make argument passed by value for sync functions (#125909)
clementval Feb 5, 2025
94d51fd
[asan][test][MSVC] Disabling test on MSVC x86 because of optimized bu…
zacklj89 Feb 5, 2025
72aa388
[libc][poll] remove entrypoint for riscv (#125941)
nickdesaulniers Feb 5, 2025
e51435c
[bazel][mlir][vector] Extra dep for 6e52a12811a17e5871f403f04fd4082d4…
rupprecht Feb 5, 2025
8b44884
[clang][NFC] Precommit test file refactoring (#125944)
ilovepi Feb 5, 2025
5f7acf7
[flang][OMPIRbuilder] Set debug loc on terminator created by splitBB.…
abidh Feb 5, 2025
fd4c4ed
[libc] Add `returns_twice` attribute to `setjmp(3)` (#124370)
alanzhao1 Feb 5, 2025
de7be32
gn build: libcxx: Add libc include path and re-enable.
pcc Feb 5, 2025
0d7ee52
[RISCV] Use getSignedConstant for negative values. (#125903)
topperc Feb 5, 2025
1901f4a
CodeGen: support static linking for libclosure (#125384)
compnerd Feb 5, 2025
5a1e16f
[IR][RISCV] Add llvm.vector.(de)interleave3/5/7 (#124825)
mshockwave Feb 5, 2025
f637708
[HLSL][NFC] Rename functions that collect resource bindings (#125904)
hekota Feb 5, 2025
dd04dc6
[RISCV] Add Zicond run lines to select-const.ll. NFC
topperc Feb 5, 2025
2b5cc89
[CIR] Lowering to LLVM for global pointers (#125619)
andykaylor Feb 5, 2025
1c4ee06
[NVPTX] fix ptxas tests introduced by #124865 (#125927)
Artem-B Feb 5, 2025
c552c6c
[AArch64][GlobalISel] Protect against non-reg operands in matchExtAdd…
davemgreen Feb 5, 2025
cd9795c
[NVPTX] Fixed few other failing ptxas tests (#125963)
Artem-B Feb 6, 2025
aefa30e
[ORC-RT] Add a comment explaining the purpose of this testcase. NFC.
lhames Feb 5, 2025
88f55d1
[ORC] Fix buggy calculation of second-level-page offset in unwind-info.
lhames Feb 5, 2025
df1bee0
[mlir] Add math to LLVM lowering support for missing trigonometric & …
PaulCarabas Feb 6, 2025
e335ca7
[RISCV] Update tests after #124825
mshockwave Feb 6, 2025
c09e51a
[msan][NFCI] Add arg_size() assertions (#125907)
thurstond Feb 6, 2025
6e14d75
[RISCV] Fix some implicit conversions from Register to unsigned. NFC
topperc Feb 6, 2025
e1c63bb
[libc] implement `sys/uio/readv` (#124718)
c8ef Feb 6, 2025
fc10ad1
[RISCV] Make single source reverse legal in isShuffleMaskLegal (#125949)
preames Feb 6, 2025
4fb96f2
[MLIR][LLVM] Implement LLVM dialect support for global aliases (#125295)
bcardosolopes Feb 6, 2025
f154048
[clang] [dataflow] use unqualified type for smart pointer matching (#…
fmayer Feb 6, 2025
ed8a6d6
[RISCV] Add VLA shuffle coverage
preames Feb 6, 2025
7a87794
[Offload] Stop the RPC server faiilng with more than one GPU (#125982)
jhuber6 Feb 6, 2025
e223485
[X86] Extend kCFI with a 3-bit arity indicator (#121070)
scottconstable Feb 6, 2025
6410bdd
[InstCombine] Extend #125676 to handle variable power of 2 (#125855)
dtcxzyw Feb 6, 2025
8c222c1
[X86] Do not combine LRINT and TRUNC (#125848)
phoebewang Feb 6, 2025
3d0061c
[msan][NFCI] Add more Arm NEON vector add tests (#125820)
thurstond Feb 6, 2025
1db6055
[X86] Silence an unused-variable warning (NFC)
DamonFool Feb 6, 2025
accfbd4
[libc++] Replace __is_trivially_relocatable by is_trivially_copyable …
ldionne Feb 6, 2025
4a2a8ed
[JITLink] Add a jitlink::Symbol::getSection() convenience method.
lhames Feb 6, 2025
efa287d
[libc++] Slightly simplify max_size and add new tests for vector (#11…
winner245 Feb 6, 2025
de5f643
[NVPTX] Remove `sm_1x` / non-ABI compilation support (#125977)
justinfargnoli Feb 6, 2025
c9446ff
[msan] Handle Arm NEON floating-point min/max (vector) (#125778)
thurstond Feb 6, 2025
9d88ffe
[JITLink] Handle compact-unwind records that depend on DWARF FDEs.
lhames Feb 6, 2025
52fc6ff
[ELF] Refine isExported/isPreemptible condition
MaskRay Feb 6, 2025
7a213e7
[JITLink] Add missing testcase for compact-unwind-needs-dwarf.
lhames Feb 6, 2025
7e0bef3
[HLSL][NFC] Fix typo in comment in SemaHLSL.cpp (#125992)
alsepkow Feb 6, 2025
e00f824
[ORC-RT] Use templates to express deeply nested function calls in tes…
lhames Feb 6, 2025
137c378
[BOLT][AArch64] Include constant islands in disassembly (#125961)
maksfb Feb 6, 2025
6d81a14
[MLIR][LLVM] Fold extract of extract (#125980)
wsmoses Feb 6, 2025
6567122
[PAC][Driver] Enable BTI and PAC by default on OpenBSD/aarch64 (#125392)
brad0 Feb 6, 2025
15fbe08
CFGPrinter: fix accidentally quadratic behavior (#125396)
nhaehnle Feb 6, 2025
c4f5463
[Driver] Enable IBT by default on OpenBSD/amd64 (#125395)
brad0 Feb 6, 2025
6e402f5
[libc++] Support `constexpr` for `std::stable_sort` in radix sort bra…
izvolov Feb 6, 2025
feb5a77
[lldb] Add SymbolContext::GetFunctionOrSymbolAddress (#123340)
labath Feb 6, 2025
0cfb98f
[lldb] s/GetAddressRange().GetBaseAddress()/GetAddress() (#125847)
labath Feb 6, 2025
3115278
[BOLT] Fixup for commit 137c378/#125961
maksfb Feb 6, 2025
f82902f
[X86] Fold (f16 bitcast extract_vectorelt(v,0)) to (extract_vectorelt…
RKSimon Feb 6, 2025
4562efc
Reapply "[libc++] Simplify the implementation of reserve() and shrink…
philnik777 Feb 6, 2025
c7dc836
[Clang] fix diagnostic to correctly handle singular and plural cases …
a-tarasyuk Feb 6, 2025
5eed019
[TableGen] Use std::copy instead of a manual copy loop. NFC
topperc Feb 6, 2025
eb8901b
[llvm][DebugInfo] Add new DW_AT_APPLE_enum_kind to encode enum_extens…
Michael137 Feb 6, 2025
a6abd0a
[Docs] Remove outdated reference to "future work" in convergence.
ssahasra Feb 6, 2025
df22bbe
[clang] Stop parsing warning suppression mappings in driver (#125722)
kadircet Feb 6, 2025
d4144ca
[libclc][NFC] Clang-format two files
frasercrmck Feb 6, 2025
7ef33e6
[libc] Fix recently introduced integer-type warnings (#125864)
statham-arm Feb 6, 2025
d2b45ce
[clang-format] Add BreakBeforeTemplateCloser option (#118046)
leijurv Feb 6, 2025
80fd902
[mlir][tensor] Introduce `TensorRelayoutOpInterface` (#125823)
banach-space Feb 6, 2025
ecb016a
[clang] Parse warning-suppression-mapping after setting up diagengine…
kadircet Feb 6, 2025
78f690b
[mlir][Vector] Update VectorEmulateNarrowType.cpp (2/N) (#123527)
banach-space Feb 6, 2025
d1de75a
[flang][Driver] When linking with the Fortran runtime also link with …
brad0 Feb 6, 2025
8c2b4aa
[mlir][LLVM][NFC] Fix description of `LLVMFixedVectorType` (#126031)
matthias-springer Feb 6, 2025
112490c
[analyzer] Use getFileName and do not use realpath names (#126039)
usx95 Feb 6, 2025
4daf307
[flang][Lower][OpenMP][NFC] tidy up PrivateReductionUtils (#125867)
tblah Feb 6, 2025
8c1dbac
[VectorCombine] Allow shuffling between vectors the same type but dif…
ParkHanbum Feb 6, 2025
ceaec56
[bazel] Port for eb8901bda11fd55deeecd067fc4c9dcc0fb89984
hokein Feb 6, 2025
39be2d0
[flang][OpenMP][Semantics] Don't allow reduction of derived type comp…
tblah Feb 6, 2025
84c3b05
[OpenMP][flang][MLIR] Decouple alloc, init, and copy regions for `omp…
ergawy Feb 6, 2025
7ebacf3
[mlir][tensor] Fix bazel build after 80fd902573f860001af08d75f15d8f92…
pifon2a Feb 6, 2025
d0f472c
SimplifyIndVar: teach widenLoopCompare about samesign (#125851)
artagnon Feb 6, 2025
2464f4b
[LLVM][Support] Add new CreateFileError functions (#125906)
AmrDeveloper Feb 6, 2025
03478d6
[GlobalISel] Prefix MatchTable Lines with their Index (#125845)
Pierre-vh Feb 6, 2025
ee3bcca
[libc++] Remove basic_string::__clear_and_shrink (#126050)
philnik777 Feb 6, 2025
7c695e4
[flang] Use clang_target_link_libraries() for clang dependency (#126037)
nikic Feb 6, 2025
c9d0a46
Revert "[mlir][math]Update `convertPowfOp` `ExpandPatterns.cpp`" (#12…
hanhanW Feb 6, 2025
b74176a
[AArch64][SelectionDAG] Generate clastb for extract.last.active (#112…
huntergr-arm Feb 6, 2025
9598f74
[Clang] Remove __is_referenceable builtin (#123078)
philnik777 Feb 6, 2025
e833e52
[AArch64][Clang] Update untyped sme intrinsics with fp8 variants (#12…
Lukacma Feb 6, 2025
f1e917d
[Offload] Unify offloading entries into a single section (#125731)
jhuber6 Feb 6, 2025
8609e27
[mlir][spirv] Add definition for ImageWriteOp (#124124)
IgWod-IMG Feb 6, 2025
d5c6072
[flang][Lower][OpenMP] try to avoid using init mold argument (#125900)
tblah Feb 6, 2025
f48d9e9
[nfc] Ignoring unused values (#125695)
natanelh-mobileye Feb 6, 2025
b815a39
[Flang] Move non-common headers to FortranSupport (#124416)
Meinersbur Feb 6, 2025
e470dca
[AArch64][SME] Reduce ptrue count when filling p-regs from z-regs (#1…
MacDue Feb 6, 2025
0bfcb76
[FunctionAttrs] Add additional tests for captures inference (NFC)
nikic Feb 6, 2025
60d8e6f
[OpenMP][SIMD][FIX] Use conservative "omp simd ordered" lowering (#12…
MattPD Feb 6, 2025
3041dd5
Revert "[OpenMP][SIMD][FIX] Use conservative "omp simd ordered" lower…
alexey-bataev Feb 6, 2025
f5c4f27
[analyzer] Add -ftime-trace scopes for region-store bindings and remo…
necto Feb 6, 2025
f2ac265
[RISCV] Reduce the LMUL for a vrgather operation if legal (#125768)
preames Feb 6, 2025
e225677
[NVPTX] Update setmaxnreg intrinsic lowering (#125846)
vvchernov Feb 6, 2025
88b1d16
[Mips] Use getSignedConstant() in or combine
nikic Feb 6, 2025
553f8e7
[InstCombine] simplify `icmp pred x, ~x` (#73990)
ParkHanbum Feb 6, 2025
f7b3559
[clang-linker-wrapper] Add ELF packaging for spirv64-intel OpenMP ima…
sarnex Feb 6, 2025
c268a3f
DAG: Fix extract of load combine with mismatched vector element type
arsenm Feb 6, 2025
b9e4bde
[MemProf] Re-enable cloning of callsites in recursive cycles with fix…
teresajohnson Feb 6, 2025
2f7d3ec
[InstCombine] Regenerate test checks
nikic Feb 6, 2025
17952b3
[bazel] Port for f7b3559ce07c83625bbe81a30a4da8ccef9ab53f
hokein Feb 6, 2025
2e18c94
[Clang] Forward arguments to the device compiler better (#125957)
jhuber6 Feb 6, 2025
6e17ed9
[analyzer] Consolidate array bound checkers (#125534)
NagyDonat Feb 6, 2025
ead88c7
[RISCV] Prefer (select (x < 0), y, z) -> x >> (XLEN - 1) & (y - z) +…
topperc Feb 6, 2025
aca829d
[libc++][chrono] implements TAI clock. (#125550)
mordante Feb 6, 2025
73a1c7b
[msan] Handle Arm NEON sum long across vector (#125784)
thurstond Feb 6, 2025
d566629
[RISCV] Porting hasAllNBitUsers to RISCV GISel for instruction select…
lquinn2015 Feb 6, 2025
7ac4e46
[Clang] Fix multiple spellings of 'save-temps'
jhuber6 Feb 6, 2025
875e014
[AArch64] Codegen for new SCVTF/UCVTF variants (FEAT_FPRCVT) (#123767)
virginia-cangelosi Feb 6, 2025
cc0d4a5
[AArch64] Update feature dep. for Armv9.6 extensions (#125874)
CarolineConcatto Feb 6, 2025
18bd118
[lldb][NFC] Add documentation for SBFrame::GetRegisters (#125969)
jasonmolenda Feb 6, 2025
bddc815
Revert "[RISCV] Prefer (select (x < 0), y, z) -> x >> (XLEN - 1) & (…
topperc Feb 6, 2025
11c3f52
[AArch64] Add test for subhn xor pattern. NFC
davemgreen Feb 6, 2025
5812d0b
[Offload] Make only a single thread handle the RPC server thread (#12…
jhuber6 Feb 6, 2025
efd0a7f
[mlir][ROCDL][~NFC] Migrate to LLVM dialect default builders (#125609)
krzysz00 Feb 6, 2025
6575154
[compiler-rt] Fixed Android 8.1 `getauxval(AT_PAGESZ)` crashes if ca…
funsafe-ptr Feb 6, 2025
eb2b453
[VectorCombine] foldInsExtVectorToShuffle - ensure we call getShuffle…
RKSimon Feb 6, 2025
4717bab
[clang-linker-wrapper][lit] Fix SPIR-V OpenMP ELF test (#126098)
sarnex Feb 6, 2025
8d5f280
[flang] Adding a couple of tests to the alias analysis (#125917)
Renaud-K Feb 6, 2025
2feee52
Claiming "threadset clause" for implementation. (#126023)
SunilKuravinakop Feb 6, 2025
b884be8
[BOLT] Exit with error code on missing DWO CU (#125976)
aaupov Feb 6, 2025
f497fe4
[mlir][spirv] Fix some issues related to converting ub.poison to SPIR…
andfau-amd Feb 6, 2025
34624d8
IndVarSimplify: improve a test, stripping undef (#126069)
artagnon Feb 6, 2025
ff049e0
[AMDGPU] Do not enable GPU sanitizers by default (#126090)
jhuber6 Feb 6, 2025
dcb124e
[flang][OpenMP] Enable delayed privatization by default `omp.wsloop` …
ergawy Feb 6, 2025
f5d24e6
SCEV: teach isImpliedViaOperations about samesign (#124270)
artagnon Feb 6, 2025
16f7e96
[AMDGPU] Allow rematerialization of instructions with virtual registe…
jrbyrnes Feb 6, 2025
1117568
[libc++][NFC] Remove __default_allocator_type aliases (#126066)
philnik777 Feb 6, 2025
2ef2587
[libc++][NFC] Inline the simple observer functions into the basic_str…
philnik777 Feb 6, 2025
932d0ce
Recommit "[RISCV] Prefer (select (x < 0), y, z) -> x >> (XLEN - 1) &…
topperc Feb 6, 2025
5c3d146
[X86] avx512-arith.ll - regenerate VPTERNLOG comments
RKSimon Feb 6, 2025
975bba6
[AMDGPU] Avoid repeated hash lookups (NFC) (#126001)
kazutakahirata Feb 6, 2025
91c188b
[CodeGen] Avoid repeated hash lookups (NFC) (#126002)
kazutakahirata Feb 6, 2025
ff94b03
[X86] Avoid repeated hash lookups (NFC) (#126006)
kazutakahirata Feb 6, 2025
337604e
[NFC][TableGen] Adopt `Emitter::OptClass` in InstrInfoEmitter (#125971)
jurahul Feb 6, 2025
c32cd57
Symbolize line zero as if no source info is available (#124846)
dwblaikie Feb 6, 2025
e41ffd3
[NaryReassociate] Fix crash from pointer width / index width confusio…
krzysz00 Feb 6, 2025
f4e3b87
[mlir][LLVM] Switch `undef` for `poison` for uninitialized values (#1…
krzysz00 Feb 6, 2025
5492199
[llvm][AsmWriter] Don't skip zero-valued DwarfEnum MDField when Shoul…
Michael137 Feb 6, 2025
a183184
[clang-linker-wrapper][lit] Temporarily disable OpenMP SPIR-V ELF tes…
sarnex Feb 6, 2025
f8e53a9
[clang-doc] Precommit end-to-end test for `--repository` option (#122…
ilovepi Feb 6, 2025
f2bca9e
[MLIR][Linalg] Introduce broadcast/transpose semantic to batch_matmul…
shahidact Feb 6, 2025
c4d75b1
[lldb][DWARFASTParser][NFC] Fix doxygen comment
Michael137 Feb 6, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 2 additions & 3 deletions .ci/generate-buildkite-pipeline-premerge
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,8 @@ if [[ "${windows_projects}" != "" ]]; then
limit: 2
timeout_in_minutes: 150
env:
CC: 'cl'
CXX: 'cl'
LD: 'link'
MAX_PARALLEL_COMPILE_JOBS: '16'
MAX_PARALLEL_LINK_JOBS: '4'
commands:
- 'C:\\BuildTools\\Common7\\Tools\\VsDevCmd.bat -arch=amd64 -host_arch=amd64'
- 'bash .ci/monolithic-windows.sh "$(echo ${windows_projects} | tr ' ' ';')" "$(echo ${windows_check_targets})"'
Expand Down
187 changes: 132 additions & 55 deletions .ci/metrics/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,67 @@ class JobMetrics:
workflow_id: int


def get_metrics(github_repo: github.Repository, workflows_to_track: dict[str, int]):
@dataclass
class GaugeMetric:
name: str
value: int
time_ns: int


def get_sampled_workflow_metrics(github_repo: github.Repository):
"""Gets global statistics about the Github workflow queue

Args:
github_repo: A github repo object to use to query the relevant information.

Returns:
Returns a list of GaugeMetric objects, containing the relevant metrics about
the workflow
"""

# Other states are available (pending, waiting, etc), but the meaning
# is not documented (See #70540).
# "queued" seems to be the info we want.
queued_workflow_count = len(
[
x
for x in github_repo.get_workflow_runs(status="queued")
if x.name in WORKFLOWS_TO_TRACK
]
)
running_workflow_count = len(
[
x
for x in github_repo.get_workflow_runs(status="in_progress")
if x.name in WORKFLOWS_TO_TRACK
]
)

workflow_metrics = []
workflow_metrics.append(
GaugeMetric(
"workflow_queue_size",
queued_workflow_count,
time.time_ns(),
)
)
workflow_metrics.append(
GaugeMetric(
"running_workflow_count",
running_workflow_count,
time.time_ns(),
)
)
# Always send a hearbeat metric so we can monitor is this container is still able to log to Grafana.
workflow_metrics.append(
GaugeMetric("metrics_container_heartbeat", 1, time.time_ns())
)
return workflow_metrics


def get_per_workflow_metrics(
github_repo: github.Repository, workflows_to_track: dict[str, int]
):
"""Gets the metrics for specified Github workflows.

This function takes in a list of workflows to track, and optionally the
Expand All @@ -43,14 +103,14 @@ def get_metrics(github_repo: github.Repository, workflows_to_track: dict[str, in
Returns a list of JobMetrics objects, containing the relevant metrics about
the workflow.
"""
workflow_runs = iter(github_repo.get_workflow_runs())

workflow_metrics = []

workflows_to_include = set(workflows_to_track.keys())

while len(workflows_to_include) > 0:
workflow_run = next(workflow_runs)
for workflow_run in iter(github_repo.get_workflow_runs()):
if len(workflows_to_include) == 0:
break

if workflow_run.status != "completed":
continue

Expand All @@ -70,34 +130,6 @@ def get_metrics(github_repo: github.Repository, workflows_to_track: dict[str, in
workflow_jobs = workflow_run.jobs()
if workflow_jobs.totalCount == 0:
continue
if workflow_jobs.totalCount > 1:
raise ValueError(
f"Encountered an unexpected number of jobs: {workflow_jobs.totalCount}"
)

created_at = workflow_jobs[0].created_at
started_at = workflow_jobs[0].started_at
completed_at = workflow_jobs[0].completed_at

job_result = int(workflow_jobs[0].conclusion == "success")
if job_result:
# We still might want to mark the job as a failure if one of the steps
# failed. This is required due to use setting continue-on-error in
# the premerge pipeline to prevent sending emails while we are
# testing the infrastructure.
# TODO(boomanaiden154): Remove this once the premerge pipeline is no
# longer in a testing state and we can directly assert the workflow
# result.
for step in workflow_jobs[0].steps:
if step.conclusion != "success":
job_result = 0
break

queue_time = started_at - created_at
run_time = completed_at - started_at

if run_time.seconds == 0:
continue

if (
workflows_to_track[workflow_run.name] is None
Expand All @@ -110,20 +142,45 @@ def get_metrics(github_repo: github.Repository, workflows_to_track: dict[str, in
):
break

# The timestamp associated with the event is expected by Grafana to be
# in nanoseconds.
created_at_ns = int(created_at.timestamp()) * 10**9

workflow_metrics.append(
JobMetrics(
workflow_run.name,
queue_time.seconds,
run_time.seconds,
job_result,
created_at_ns,
workflow_run.id,
for workflow_job in workflow_jobs:
created_at = workflow_job.created_at
started_at = workflow_job.started_at
completed_at = workflow_job.completed_at

job_result = int(workflow_job.conclusion == "success")
if job_result:
# We still might want to mark the job as a failure if one of the steps
# failed. This is required due to use setting continue-on-error in
# the premerge pipeline to prevent sending emails while we are
# testing the infrastructure.
# TODO(boomanaiden154): Remove this once the premerge pipeline is no
# longer in a testing state and we can directly assert the workflow
# result.
for step in workflow_job.steps:
if step.conclusion != "success":
job_result = 0
break

queue_time = started_at - created_at
run_time = completed_at - started_at

if run_time.seconds == 0:
continue

# The timestamp associated with the event is expected by Grafana to be
# in nanoseconds.
created_at_ns = int(created_at.timestamp()) * 10**9

workflow_metrics.append(
JobMetrics(
workflow_run.name + "-" + workflow_job.name,
queue_time.seconds,
run_time.seconds,
job_result,
created_at_ns,
workflow_run.id,
)
)
)

return workflow_metrics

Expand All @@ -139,12 +196,27 @@ def upload_metrics(workflow_metrics, metrics_userid, api_key):
metrics_userid: The userid to use for the upload.
api_key: The API key to use for the upload.
"""

if len(workflow_metrics) == 0:
print("No metrics found to upload.", file=sys.stderr)
return

metrics_batch = []
for workflow_metric in workflow_metrics:
workflow_formatted_name = workflow_metric.job_name.lower().replace(" ", "_")
metrics_batch.append(
f"{workflow_formatted_name} queue_time={workflow_metric.queue_time},run_time={workflow_metric.run_time},status={workflow_metric.status} {workflow_metric.created_at_ns}"
)
if isinstance(workflow_metric, GaugeMetric):
name = workflow_metric.name.lower().replace(" ", "_")
metrics_batch.append(
f"{name} value={workflow_metric.value} {workflow_metric.time_ns}"
)
elif isinstance(workflow_metric, JobMetrics):
name = workflow_metric.job_name.lower().replace(" ", "_")
metrics_batch.append(
f"{name} queue_time={workflow_metric.queue_time},run_time={workflow_metric.run_time},status={workflow_metric.status} {workflow_metric.created_at_ns}"
)
else:
raise ValueError(
f"Unsupported object type {type(workflow_metric)}: {str(workflow_metric)}"
)

request_data = "\n".join(metrics_batch)
response = requests.post(
Expand Down Expand Up @@ -176,16 +248,21 @@ def main():
# Enter the main loop. Every five minutes we wake up and dump metrics for
# the relevant jobs.
while True:
current_metrics = get_metrics(github_repo, workflows_to_track)
if len(current_metrics) == 0:
print("No metrics found to upload.", file=sys.stderr)
continue
current_metrics = get_per_workflow_metrics(github_repo, workflows_to_track)
current_metrics += get_sampled_workflow_metrics(github_repo)
# Always send a hearbeat metric so we can monitor is this container is still able to log to Grafana.
current_metrics.append(
GaugeMetric("metrics_container_heartbeat", 1, time.time_ns())
)

upload_metrics(current_metrics, grafana_metrics_userid, grafana_api_key)
print(f"Uploaded {len(current_metrics)} metrics", file=sys.stderr)

for workflow_metric in reversed(current_metrics):
workflows_to_track[workflow_metric.job_name] = workflow_metric.workflow_id
if isinstance(workflow_metric, JobMetrics):
workflows_to_track[
workflow_metric.job_name
] = workflow_metric.workflow_id

time.sleep(SCRAPE_INTERVAL_SECONDS)

Expand Down
8 changes: 6 additions & 2 deletions .ci/monolithic-windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ echo "--- cmake"
pip install -q -r "${MONOREPO_ROOT}"/mlir/python/requirements.txt
pip install -q -r "${MONOREPO_ROOT}"/.ci/requirements.txt

export CC=cl
export CXX=cl
export LD=link

# 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
Expand All @@ -72,8 +76,8 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
-D CMAKE_EXE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_MODULE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO" \
-D LLVM_PARALLEL_COMPILE_JOBS=16 \
-D LLVM_PARALLEL_LINK_JOBS=4
-D LLVM_PARALLEL_COMPILE_JOBS=${MAX_PARALLEL_COMPILE_JOBS} \
-D LLVM_PARALLEL_LINK_JOBS=${MAX_PARALLEL_LINK_JOBS}

echo "--- ninja"
# Targets are not escaped as they are passed as separate arguments.
Expand Down
3 changes: 3 additions & 0 deletions .github/new-prs-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,9 @@ llvm:regalloc:
lldb:
- lldb/**

lldb-dap:
- lldb/tools/lldb-dap/**

backend:AMDGPU:
- '**/*amdgpu*'
- '**/*AMDGPU*'
Expand Down
65 changes: 48 additions & 17 deletions .github/workflows/build-ci-container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,41 +20,56 @@ on:
jobs:
build-ci-container:
if: github.repository_owner == 'llvm'
runs-on: depot-ubuntu-22.04-16
outputs:
container-name: ${{ steps.vars.outputs.container-name }}
container-name-tag: ${{ steps.vars.outputs.container-name-tag }}
container-filename: ${{ steps.vars.outputs.container-filename }}
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
include:
# The arch names should match the names used on dockerhub.
# See https://github.com/docker-library/official-images#architectures-other-than-amd64
- arch: amd64
runs-on: depot-ubuntu-22.04-16
- arch: arm64v8
runs-on: depot-ubuntu-22.04-arm-16
steps:
- name: Checkout LLVM
uses: actions/checkout@v4
with:
sparse-checkout: .github/workflows/containers/github-action-ci/
# podman is not installed by default on the ARM64 images.
- name: Install Podman
if: runner.arch == 'ARM64'
run: |
sudo apt-get install podman
- name: Write Variables
id: vars
run: |
tag=`date +%s`
container_name="ghcr.io/$GITHUB_REPOSITORY_OWNER/ci-ubuntu-22.04"
tag=$(git rev-parse --short=12 HEAD)
container_name="ghcr.io/$GITHUB_REPOSITORY_OWNER/${{ matrix.arch }}/ci-ubuntu-22.04"
echo "container-name=$container_name" >> $GITHUB_OUTPUT
echo "container-name-agent=$container_name-agent" >> $GITHUB_OUTPUT
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: |
podman build -t ${{ steps.vars.outputs.container-name-tag }} .
podman build --target ci-container -t ${{ steps.vars.outputs.container-name-tag }} .
podman build --target ci-container-agent -t ${{ steps.vars.outputs.container-name-agent-tag }} .

# Save the container so we have it in case the push fails. This also
# allows us to separate the push step into a different job so we can
# maintain minimal permissions while building the container.
- name: Save container image
run: |
podman save ${{ steps.vars.outputs.container-name-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 }}
name: container-${{ matrix.arch }}
path: "*.tar"
retention-days: 14

- name: Test Container
Expand All @@ -76,13 +91,29 @@ jobs:
steps:
- name: Download container
uses: actions/download-artifact@v4
with:
name: container

- name: Push Container
run: |
podman load -i ${{ needs.build-ci-container.outputs.container-filename }}
podman tag ${{ needs.build-ci-container.outputs.container-name-tag }} ${{ needs.build-ci-container.outputs.container-name }}:latest
function push_container {
image_name=$1
latest_name=$(echo $image_name | sed 's/:[a-f0-9]\+$/:latest/g')
podman tag $image_name $latest_name
echo "Pushing $image_name ..."
podman push $image_name
echo "Pushing $latest_name ..."
podman push $latest_name
}

podman login -u ${{ github.actor }} -p $GITHUB_TOKEN ghcr.io
podman push ${{ needs.build-ci-container.outputs.container-name-tag }}
podman push ${{ needs.build-ci-container.outputs.container-name }}:latest
for f in $(find . -iname *.tar); do
image_name=$(podman load -q -i $f | sed 's/Loaded image: //g')
push_container $image_name

if echo $image_name | grep '/amd64/'; then
# For amd64, create an alias with the arch component removed.
# This matches the convention used on dockerhub.
default_image_name=$(echo $(dirname $(dirname $image_name))/$(basename $image_name))
podman tag $image_name $default_image_name
push_container $default_image_name
fi
done
Loading