Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
351 commits
Select commit Hold shift + click to select a range
cea9244
[NVPTX] Constant fold NVVM fmin and fmax (#121966)
LewisCrawford Jan 16, 2025
6f82408
[flang][OpenMP] Enable delayed privatization by default `omp.wsloop` …
ergawy Jan 16, 2025
9033e0c
[FMV][AArch64][clang] Advance __FUNCTION_MULTI_VERSIONING_SUPPORT_LEV…
labrinea Jan 16, 2025
5e5fd0e
[NVPTX] Select bfloat16 add/mul/sub as fma on SM80 (#121065)
peterbell10 Jan 16, 2025
437e1a7
[RISCV][VLOPT] Handle tied pseudos in getOperandInfo (#123170)
lukel97 Jan 16, 2025
383eb0b
[AArch64][GISel] Use Register instead of MCRegister for markPhysRegUs…
topperc Jan 16, 2025
25e5eb1
[gn build] Port 2c75bda42605
llvmgnsyncbot Jan 16, 2025
da5ec78
[gn build] Port 8fb29ba287d7
llvmgnsyncbot Jan 16, 2025
77803e4
[loop-interchange] Move tests over to use remarks (#123053)
sjoerdmeijer Jan 16, 2025
9e863cd
[mlir][python][cmake] Allows for specifying `NB_DOMAIN` in `add_mlir_…
erwei-xilinx Jan 16, 2025
df3ba91
[libc++] Clarify the release note for uncaught_exception removal and …
ldionne Jan 16, 2025
c281b12
[libc++][Android] XFAIL some tests for mblen/towctrans/wctrans (#116147)
rprichard Jan 16, 2025
eac23a5
[libc++] Add assumption for align of begin and end pointers of vector…
fhahn Jan 16, 2025
f6b0555
[AsmPrinter] Reintroduce full AsmPrinterHandler API (#122297)
vtjnash Jan 16, 2025
1819646
[clang][refactor] Refactor `findNextTokenIncludingComments` (#123060)
legrosbuffle Jan 16, 2025
a242880
[TableGen][GlobalISel] Reorder atomic predicate to preserve the order…
e-kud Jan 16, 2025
66d347b
[Clang][AArch64]Make Tuple Size Optional for svluti4_lane Intrinsics …
CarolineConcatto Jan 16, 2025
a082cc1
Add Apple M4 host detection (#117530)
madsmtm Jan 16, 2025
fc7a1ed
[RISCV] Fold vp.reverse(vp.load(ADDR, MASK)) -> vp.strided.load(ADDR,…
topperc Jan 16, 2025
ff1b01b
[llvm-exegesis] Begin replacing unsigned with MCRegister. NFC (#123109)
topperc Jan 16, 2025
c969964
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123156)
kazutakahirata Jan 16, 2025
dea4e61
[CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#123157)
kazutakahirata Jan 16, 2025
286f842
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#123158)
kazutakahirata Jan 16, 2025
5fa989b
[Analysis] Avoid repeated hash lookups (NFC) (#123159)
kazutakahirata Jan 16, 2025
09bf5b0
[CodeGen] Avoid repeated hash lookups (NFC) (#123160)
kazutakahirata Jan 16, 2025
b311ab0
[Clang] Fix canonicalization of pack indexing types (#123209)
cor3ntin Jan 16, 2025
ebc7efb
Revert "[Flang OpenMP] Add semantics checks for cray pointer usage in…
kiranchandramohan Jan 16, 2025
c10e826
[FileCheck] Remove unneeded unique_ptr. NFC. (#123216)
jayfoad Jan 16, 2025
94fee13
[InstCombine] Simplify FMF propagation. NFC. (#121899)
dtcxzyw Jan 16, 2025
60e4d24
[lld-macho,BalancedPartition] Simplify relocation hash and avoid xxHash
MaskRay Jan 16, 2025
8965dd4
[lldb] Handle a byte size of zero in CompilerType::GetValueAsScalar (…
JDevlieghere Jan 16, 2025
6b3ba66
[flang][OpenMP] Unconditionally create `after_alloca` block in `alloc…
ergawy Jan 16, 2025
a0406ce
[flang][OpenMP] Add `hostIsSource` paramemter to `copyHostAssociateVa…
ergawy Jan 16, 2025
d2d531e
[clang][Serialization] Stop including Frontend headers from Serializa…
slackito Jan 16, 2025
0e417a7
[bazel] Add rules for clang-fuzzer protobuf-related libraries (#123126)
slackito Jan 16, 2025
a32e36f
Update cloning of the DirectXShaderCompiler repo to not include DXC t…
bfavela Jan 16, 2025
4446a98
[HLSL][SPIRV][DXIL] Implement `WaveActiveSum` intrinsic (#118580)
adam-yang Jan 16, 2025
4b06b01
[bazel] Add missing file to textual_hdrs in //clang:basic (NFC)
slackito Jan 16, 2025
d951bec
[NFC][AArch64] Adjust predicate names to be more consistent (#123172)
jthackray Jan 16, 2025
842ce4e
[bazel] Remove useless exclusion from glob (NFC)
slackito Jan 16, 2025
06edefa
[LLDB] Make the thread list for SBSaveCoreOptions iterable (#122541)
Jlalond Jan 16, 2025
acba822
[CUF] Moving __fadd_rd and __fadd_ru to cudadevice.f90 as they are sy…
Renaud-K Jan 16, 2025
60de7dc
[libc] Fix malloc Block alignment issue on riscv32 (#117815)
mysterymath Jan 16, 2025
01d7f43
[RISCV] Stack clash protection for dynamic alloca (#122508)
rzinsly Jan 16, 2025
3173a4f
[llvm-exegesis] Remove implicit conversions of MCRegister to unsigned…
topperc Jan 16, 2025
99d40fe
[libc] Fix freelist_heap_test.cpp warnings
mysterymath Jan 16, 2025
3ba339b
[NVPTX] Improve support for {ex2,lg2}.approx (#120519)
Prince781 Jan 16, 2025
51f6438
Revert "[YAML] Init local var not set by some branches" (#123238)
vitalybuka Jan 16, 2025
cc61929
[SandboxVec][Scheduler][NFC] Add comments
Jan 16, 2025
12ba74e
[flang] Do not produce result for void runtime call (#123155)
clementval Jan 16, 2025
8c75ecb
[IR] Provide array with poison-generating metadata IDs. (#123188)
fhahn Jan 16, 2025
99a562b
[mlir][spirv] Add mgpu* wrappers for Vulkan runtime, migrate some tes…
andfau-amd Jan 16, 2025
94609ae
[Support] Remove an unnecessary include (#123182)
mstorsjo Jan 16, 2025
8fa0f0e
[clang] [ARM] Explicitly enable NEON for Windows/Darwin targets (#122…
mstorsjo Jan 16, 2025
9a6433f
[flang] Inline hlfir.dot_product. (#123143)
vzakhari Jan 16, 2025
d49a2d2
[Clang] disallow the use of asterisks preceding constructor and destr…
a-tarasyuk Jan 16, 2025
1c00d0d
[OpenMP] Remove hack around missing atomic load (#122781)
jhuber6 Jan 16, 2025
7ea5f19
[lldb] Rename lldb_assert -> _lldb_assert (NFC) (#123225)
JDevlieghere Jan 16, 2025
92f1f99
[libunwind][cmake] Compile _Unwind* routines with -fexceptions (#121819)
ilovepi Jan 16, 2025
96ef428
[lldb] Avoid calling raw_string_ostream::str() in LLDBAssert.cpp (NFC)
JDevlieghere Jan 16, 2025
a87215b
[mlir][test][bazel] add missing deps for TestPass
yijia1212 Jan 16, 2025
840b94d
[libc++] Rename libstdc++ test parameters to allow setting them in LI…
ldionne Jan 16, 2025
9be358f
[clang][Driver] Add -fuse-lipo option (#121231)
khyperia Jan 16, 2025
a98df67
[NFC] [BoundsSan] use structured bindings (#123228)
fmayer Jan 16, 2025
8a0c2e7
[AMDGPU][True16][MC][CodeGen] true16 for v_cndmask_b16 (#119736)
broxigarchen Jan 16, 2025
cd92aed
[NFC][libc] Remove Block::ALIGNMENT and Block::BLOCK_OVERHEAD
mysterymath Jan 16, 2025
edd1360
[InstCombine] Preserve metadata from orig load in select fold. (#115605)
fhahn Jan 16, 2025
65dc0d4
[libc++] Remove string benchmark for internal function
ldionne Jan 16, 2025
bb6e94a
[RISCV] Custom legalize <N x i128>, <4 x i256>, etc.. shuffles (#122352)
preames Jan 16, 2025
cb82771
[lldb] Add OS plugin property for reporting all threads (#123145)
felipepiovezan Jan 16, 2025
63f5b80
[mlir][linalg][NFC] fix typo in split tiling (#123202)
javedabsar1 Jan 16, 2025
859b4f1
[NFC][libc] Add Block::PREV_FIELD_SIZE for use in tests
mysterymath Jan 16, 2025
3056395
[NFC][libc] Delete dead BlockStatus enum type
mysterymath Jan 16, 2025
4e9f04c
[bazel] Remove a couple of unused dependencies
slackito Jan 16, 2025
e902c69
[SandboxVec][BottomUpVec] Implement InstrMaps (#122848)
Jan 16, 2025
8942d5e
[gn build] Port e902c6960cff
llvmgnsyncbot Jan 16, 2025
13c7617
[Vectorize] Fix warnings
kazutakahirata Jan 16, 2025
8ac0aaa
[lldb] Improve user expression diagnostics (#123242)
JDevlieghere Jan 17, 2025
a5bd01e
[bazel] Exclude lib/Interpreter/Wasm.h from //clang:interpreter
slackito Jan 17, 2025
a761e26
[RISCV] Allow non-loop invariant steps in RISCVGatherScatterLowering …
lukel97 Jan 17, 2025
4431106
DAG: Fix vector bin op scalarize defining a partially undef vector (#…
arsenm Jan 17, 2025
ca95519
AMDGPU: Implement isExtractVecEltCheap (#122460)
arsenm Jan 17, 2025
afc43a7
Revert "[flang] Inline hlfir.dot_product. (#123143)"
preames Jan 17, 2025
7475f0a
DAG: Avoid forming shufflevector from a single extract_vector_elt (#1…
arsenm Jan 17, 2025
e83e0c3
[LV] Add test case for #119173. NFC
lukel97 Jan 7, 2025
1fa02b9
[BOLT][AArch64] Speedup `computeInstructionSize` (#121106)
liusy58 Jan 17, 2025
906cbbb
[libc] Fix hdrgen output for no-argument functions (#123245)
frobtech Jan 17, 2025
421fc04
[libc] Fix deprecated operator"" syntax (#123259)
frobtech Jan 17, 2025
a4e87da
[libc] Make headers compatible with C++ < 11 (#123260)
frobtech Jan 17, 2025
263fed7
[AST] Add OriginalDC argument to ExternalASTSource::FindExternalVisib…
ChuanqiXu9 Jan 17, 2025
7253c6f
[InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL …
sushgokh Jan 17, 2025
f999b11
[CMake] Remove some unneeded HAVE_*_H
MaskRay Jan 17, 2025
225fc4f
[AMDGPU][SDAG] Try folding "lshr i64 + mad" to "mad_u64_u32" (#119218)
vikramRH Jan 17, 2025
c5e4afe
[C++20] [Modules] Support module level lookup (#122887) (#123281)
ChuanqiXu9 Jan 17, 2025
86a81d4
[CMake] Remove HAVE_TERMIOS_H
MaskRay Jan 17, 2025
219beb7
[CMake] Remove HAVE_SYS_IOCTL_H
MaskRay Jan 17, 2025
7710453
[libc] Fix sigset_t type definition (#123277)
frobtech Jan 17, 2025
bfb6bb6
[AMDGPU] Fix a warning
kazutakahirata Jan 17, 2025
414980d
[CMake] Remove HAVE_SYS_RESOURCE_H/HAVE_SETRLIMIT/HAVE_GETRLIMIT
MaskRay Jan 17, 2025
606d0a7
Revert "[InstCombine] Transform high latency, dependent FSQRT/FDIV in…
sushgokh Jan 17, 2025
e899930
[Coverage] Speed up function record iteration (#122050)
glandium Jan 17, 2025
1181921
[lldb] Remove (unused) SymbolContext::Dump (#123211)
labath Jan 17, 2025
0bd0765
EmitC: Allow arrays of size zero (#123292)
mgehre-amd Jan 17, 2025
1274bca
[X86][APX] Support APX + MOVRS (#123264)
phoebewang Jan 17, 2025
c3ba6f3
[Modules] Delay deserialization of preferred_name attribute at r… (#1…
VitaNuo Jan 17, 2025
90a05f3
[openmp] Support CET in z_Linux_asm.S (#123213)
nikic Jan 17, 2025
3c42a77
[BOLT] Fix handling of LLVM_LIBDIR_SUFFIX (#122874)
nikic Jan 17, 2025
c8ba551
[AArch64] Return early rather than asserting when Size of value passe…
WillFroom Jan 17, 2025
9720be9
[LV][EVL] Disable fixed-order recurrence idiom with EVL tail folding.…
Mel-Chen Jan 17, 2025
0e13ce7
[InstCombine] Handle mul in `maintainNoSignedWrap` (#123299)
dtcxzyw Jan 17, 2025
320c2ee
[BOLT] Pass -Wl,--build-id=none to linker in tests (#122886)
nikic Jan 17, 2025
58903c9
[LLVM] Update AArch64 maintainers (#120440)
nikic Jan 17, 2025
7347870
[diagtool] Make the BuiltinDiagnosticsByID table sorted (#120321)
karka228 Jan 17, 2025
89e3a64
[LoongArch] Emit R_LARCH_RELAX when expanding some macros (#120067)
zhaoqi5 Jan 17, 2025
31b62e2
[LoongArch] Add relax relocations for tls_le code sequence (#121329)
zhaoqi5 Jan 17, 2025
30e276d
[clang][PCH] Don't try to create standalone debug-info for types mark…
Michael137 Jan 17, 2025
d7e48fb
[llvm][OpenMP] Add implicit cast to omp.atomic.read (#114659)
NimishMishra Jan 17, 2025
fbb9d49
[X86][APX] Support APX + AMX-MOVRS/AMX-TRANSPOSE (#123267)
phoebewang Jan 17, 2025
ee42822
[BOLT][AArch64]support `inline-small-functions` for AArch64 (#120187)
liusy58 Jan 17, 2025
3b3590a
Revert "Revert "[InstCombine] Transform high latency, dependent FSQRT…
sushgokh Jan 17, 2025
2c9dc08
[AArch64] Use spill size when calculating callee saves size (NFC) (#1…
MacDue Jan 17, 2025
32a4650
[AArch64] Avoid hardcoding spill size/align in FrameLowering (NFC) (#…
MacDue Jan 17, 2025
e79bb87
[InstCombine] Fixup commit 7253c6f (#123315)
sushgokh Jan 17, 2025
9491f75
Reland: [LV]: Teach LV to recursively (de)interleave. (#122989)
hassnaaHamdi Jan 17, 2025
b068f2f
[LLD][COFF] Process bitcode files separately for each symbol table on…
cjacek Jan 17, 2025
101109f
[MLIR] Add missing include (NFC)
nikic Jan 17, 2025
831527a
[FMV][GlobalOpt] Statically resolve calls to versioned functions. (#8…
labrinea Jan 17, 2025
ad282f4
[X86] Rename combineScalarToVector to combineSCALAR_TO_VECTOR. NFC.
RKSimon Jan 17, 2025
0ab368c
SCEV/test: cover implied-via-addition (#123082)
artagnon Jan 17, 2025
437834e
[Flang] Use a module directory to avoid race condition (#123215)
kiranchandramohan Jan 17, 2025
21704a6
[AMDGPU] Fix printing hasInitWholeWave in mir (#123232)
rampitec Jan 17, 2025
0d7c8c0
[bazel] Add new file added in 437834e16be6d04e7b198dad8a42d507770251a1
d0k Jan 17, 2025
f66a5e2
[lldb] Fix SBThread::StepOverUntil for discontinuous functions (#123046)
labath Jan 17, 2025
a864906
[X86] Fix logical operator warnings. NFC.
RKSimon Jan 17, 2025
7075eee
[clang][bytecode] Add InitLinkScope for toplevel Expr temporary (#123…
tbaederr Jan 17, 2025
61f94eb
[NFC][Offload] Structure/Readability of CMake cache (#123328)
jplehr Jan 17, 2025
58fc802
[lldb] Skip TestStepUntilAPI on !x86_64, !aarch64
labath Jan 17, 2025
a90b5b1
[libclc] Move degrees/radians to CLC library & optimize (#123222)
frasercrmck Jan 17, 2025
8c63648
Revert "Revert "[Flang][Driver] Add a flag to control zero initializa…
kiranchandramohan Jan 17, 2025
bacfdcd
[DAG] Add SDPatternMatch::m_BitCast matcher (#123327)
RKSimon Jan 17, 2025
ce3280a
Fix for buildbot errors on non-aarch64 targets. (#123322)
labrinea Jan 17, 2025
8a229f5
Revert "Revert "Revert "[Flang][Driver] Add a flag to control zero in…
kiranchandramohan Jan 17, 2025
22637a8
[Loads] Respect UseDerefAtPointSemantics in isDerefAndAlignedPointer.…
fhahn Jan 17, 2025
fb2c9d9
[C++20] [Modules] Makes sure internal declaration won't be found by o…
ChuanqiXu9 Jan 17, 2025
41f430a
[X86] Don't fold very large offsets into addr displacements during IS…
wesleywiser Jan 17, 2025
5153a90
[lldb][DWARF] Change GetAttributes to always visit current DIE before…
Michael137 Jan 17, 2025
eff6b64
[AArch64][GlobalISel] Update and regenerate some vecreduce and other …
davemgreen Jan 17, 2025
d28a4f1
[mlir][affine]introducing new symbol rules that the result of a `Pure…
linuxlonelyeagle Jan 17, 2025
f597d34
[clang][Sema] Move computing best enum types to a separate function (…
kuilpd Jan 17, 2025
6dcb2a0
[MLIR][NVVM] Add Float to TF32 conversion Op (#123199)
durga4github Jan 17, 2025
361f363
[clang-tidy]fix incorrect fix-it for the string contains a user-defin…
HerrCai0907 Jan 17, 2025
48d0ef1
[clang-tidy][NFC] refactor modernize-raw-string-literal fix hint (#12…
HerrCai0907 Jan 17, 2025
7629e01
[InstCombine,PhaseOrder] Add additional tests with align assumptions.
fhahn Jan 17, 2025
dc1ef2c
[lldb][DWARFASTParserClang] Don't overwrite DW_AT_object_pointer of d…
Michael137 Jan 17, 2025
eb7dea8
[mutation analyzer] enhance stability for `hasAnyInit` matcher (#122915)
HerrCai0907 Jan 17, 2025
0171e56
[clang][bytecode] Fix rejecting invalid sizeof expressions (#123332)
tbaederr Jan 17, 2025
baa5b76
[C++20] [Modules] Make module local decls visible to language linkage…
ChuanqiXu9 Jan 17, 2025
48803bc
[X86][AMX-AVX512][NFC] Remove P from intrinsic and instruction name (…
phoebewang Jan 17, 2025
8688a31
[libc++] Allow passing arguments to GoogleBenchmark's compare.py tool
ldionne Jan 17, 2025
703e9e9
[AMDGPU][True16][CodeGen] true16 codegen for bswap (#122849)
broxigarchen Jan 17, 2025
a18f4bd
[AMDGPU][True16][MC] true16 for v_cmpx_lt_f16 (#122936)
broxigarchen Jan 17, 2025
8ae1cb2
add power function to APInt (#122788)
ImanHosseini Jan 17, 2025
7656902
[X86] Fold (v4i32 (scalar_to_vector (i32 (anyext (bitcast (f16)))))) …
RKSimon Jan 17, 2025
a4d45fe
[lldb][DWARF] Change GetAttributes parameter from SmallVector to Smal…
Michael137 Jan 17, 2025
edf3a55
[LoopVectorize][NFC] Centralize the setting of CostKind (#121937)
john-brawn-arm Jan 17, 2025
2f853d8
[X86] Regenerate VMOVSH assembly comments. NFC.
RKSimon Jan 17, 2025
123b24f
[X86] avx512fp16-arith.ll - regenerate VPTERNLOG comments
RKSimon Jan 17, 2025
8abbd76
[X86] Regenerate VFPCLASS assembly comments. NFC.
RKSimon Jan 17, 2025
0417cd1
[Clang] FunctionEffects: Correctly navigate through array types in Fu…
dougsonos Jan 17, 2025
63b0ab8
remove extra ; (#123352)
ImanHosseini Jan 17, 2025
ba44d7b
[MLIR][test] Fixup for checking for ml_dtypes (#123240)
kwk Jan 17, 2025
7c72941
[llvm][DebugInfo] Attach object-pointer to DISubprogram declarations …
Michael137 Jan 17, 2025
c9f72b2
[MLIR][LLVM] Fix #llvm.constant_range parsing (#123009)
Kuree Jan 17, 2025
71ad9a9
[fuchsia][cmake] Add runtimes for cortex-m4 for the Fuchsia toolchain…
ilovepi Jan 17, 2025
89305c3
[z/OS] add tail padding to TypeLoc if needed (#122761)
perry-ca Jan 17, 2025
9f627cf
[libc][docs] Add sys/time page to the status of implementations docs …
StarOne01 Jan 17, 2025
3f07af9
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123283)
kazutakahirata Jan 17, 2025
f5736ae
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#123284)
kazutakahirata Jan 17, 2025
d5ef2c0
[AST] Avoid repeated hash lookups (NFC) (#123285)
kazutakahirata Jan 17, 2025
d5aa6df
[Analysis] Avoid repeated hash lookups (NFC) (#123286)
kazutakahirata Jan 17, 2025
c531255
[CodeGen] Avoid repeated hash lookups (NFC) (#123287)
kazutakahirata Jan 17, 2025
f719771
Revert "[AArch64] Combine and and lsl into ubfiz" (#123356)
c-rhodes Jan 17, 2025
d54d8d7
[libc][docs] Add termios page to the status of implementations docs (…
StarOne01 Jan 17, 2025
c83e5e8
[libc++] Enable _LIBCPP_NODEBUG again (#123318)
philnik777 Jan 17, 2025
4b692a9
[SPIRV] Expand RWBuffer load and store from HLSL (#122355)
s-perron Jan 17, 2025
ee1c852
[DebugInfo][InstrRef] Treat ORRWrr as a copy instr (#123102)
rastogishubham Jan 17, 2025
3065cf2
[bazel] Remove //clang:basic_internal_headers target (NFC) (#123230)
slackito Jan 17, 2025
ebfdd38
[SLP][NFC]Replace undef with constant zero in tests, NFC
alexey-bataev Jan 17, 2025
c7ea4c1
[clang][bytecode] Revisit global variables separately (#123358)
tbaederr Jan 17, 2025
8815c50
[MLIR] Allow setting call stack limit for SourceMgrDiagnosticHandler …
JoelWee Jan 17, 2025
fbea21a
[AMDGPU] Add test for VALU hoisiting from WWM region. NFC. (#123234)
rampitec Jan 17, 2025
f12e0c9
[libc][docs] Add sys/stat page to the status of implementations docs …
StarOne01 Jan 17, 2025
1c3c655
[lld-macho] Document '-icf' flag options (#123372)
alx32 Jan 17, 2025
2dc5682
Verifier: Add check for DICompositeType elements being null
dwblaikie Jan 17, 2025
bbd871e
[libc++] Don't implement <stdatomic.h> before C++23 (#123130)
ldionne Jan 17, 2025
58a70df
[msan] Add debugging for handleUnknownIntrinsic (#123381)
thurstond Jan 17, 2025
6716ce8
Revert "Verifier: Add check for DICompositeType elements being null"
dwblaikie Jan 17, 2025
eddeb36
[SPIRV] add pre legalization instruction combine (#122839)
farzonl Jan 17, 2025
fec503d
[SLP][NFC]Add safe createExtractVector and use instead Builder.Create…
alexey-bataev Jan 17, 2025
10fdd09
[clang][DebugInfo] Emit DW_AT_object_pointer on function declarations…
Michael137 Jan 17, 2025
128e2e4
[SandboxVec][VecUtils][NFC] Move functions to VecUtils.cpp and add a …
Jan 17, 2025
6b048ae
[LLDB] Add SBProgress so Python scripts can also report progress (#11…
Jlalond Jan 17, 2025
a807b2f
[gn build] Port 128e2e446e90
llvmgnsyncbot Jan 17, 2025
580ba2e
[gn build] Port 6b048aeaf837
llvmgnsyncbot Jan 17, 2025
71ff486
Reland "[flang] Inline hlfir.dot_product. (#123143)" (#123385)
vzakhari Jan 17, 2025
ce6e66d
[RISCV] Add coverage for an upcoming select lowering change
preames Jan 17, 2025
5a735a2
[HLSL][Sema] Fixed Diagnostics that assumed only two arguments (#122772)
farzonl Jan 17, 2025
e237e37
[libc] Fix riscv32 Block assertion failure on #117815
mysterymath Jan 17, 2025
dce5d1f
[FMV][GlobalOpt] Do not statically resolve non-FMV callers. (#123383)
labrinea Jan 17, 2025
7b3a353
[mlir][spirv] Add common SPIRV Extended Ops for Vectors (#122322)
mishaobu Jan 17, 2025
e5a28a3
[mlir][spirv] Add MatrixTimesVector Op (#122302)
mishaobu Jan 17, 2025
b1bf95c
ReduxWidth check for 0 (#123257)
gchaltas Jan 17, 2025
078dfd8
[RISCV] Fix variable naming in recently pre-committed test
preames Jan 17, 2025
8b0c774
[lld][InstrProf][NFC] Fix typo in help message (#123390)
ellishg Jan 17, 2025
5db2867
[libc] Fix malloc riscv32 test failures from #117815
mysterymath Jan 17, 2025
a440c3e
[libc] Correct previous malloc fix
mysterymath Jan 17, 2025
98067a3
[libc] Outer size, not inner size
mysterymath Jan 17, 2025
8f18f36
[lldb] Skip unreliable test under ASAN
adrian-prantl Jan 17, 2025
04383d6
[Static analysis] Encodes a filename before inserting it into a URL. …
rniwa Jan 17, 2025
d6315af
[SandboxVec][InstrMaps] EraseInstr callback (#123256)
Jan 17, 2025
ae932be
[clang][Sema] Upstream HeuristicResolver from clangd (#121314)
HighCommander4 Jan 17, 2025
358d654
[SandboxVectorizer] Fix a warning
kazutakahirata Jan 17, 2025
18eec97
[gn build] Port ae932becb2c9
llvmgnsyncbot Jan 17, 2025
65cd9e4
[VPlan] Make VPValue constructors protected. (NFC)
fhahn Jan 17, 2025
0c6e03e
[RISCV] Fold vp.store(vp.reverse(VAL), ADDR, MASK) -> vp.strided.stor…
topperc Jan 17, 2025
2523d3b
[flang][cuda] Perform scalar assignment of c_devptr inlined (#123407)
clementval Jan 17, 2025
22d4ff1
[SandboxIR] Fix CmpInst::create() when it gets folded (#123408)
Jan 17, 2025
87e4b68
[SandboxVec][Legality] Implement ShuffleMask (#123404)
Jan 17, 2025
9fdc38c
[WebAssembly][Object] Support more elem segment flags (#123427)
dschuff Jan 18, 2025
5b6a26c
Add option to print entire function instead of just the loops for loo…
akshayrdeodhar Jan 18, 2025
07d4965
[SLP] Replace MainOp and AltOp in TreeEntry with InstructionsState. (…
HanKuanChen Jan 18, 2025
143c33c
[RISCV] Consider only legally typed splats to be legal shuffles (#123…
preames Jan 18, 2025
a7bca18
[clang-format] Correctly annotate braces in macro definitions (#123279)
owenca Jan 18, 2025
b62e558
[lldb][test] Remove compiler version check and use regex (#123393)
kusmour Jan 18, 2025
e240261
[clang-format] Fix option `BreakBinaryOperations` for operator `>>` (…
andergnet Jan 18, 2025
7a03692
Revert "[mlir-cpu-runner] Pass --exclude-libs to linker when building…
jorickert Mar 19, 2025
bced9b4
[AutoBump] Merge with 0195ec45 (Jan 15)
jorickert Mar 19, 2025
f2e5af0
[AutoBump] Merge with fixes of f9a80062 (Jan 15)
jorickert Mar 19, 2025
cb34987
[AutoBump] Merge with 11819214 (Jan 17)
jorickert Mar 20, 2025
2836d49
[AutoBump] Merge with fixes of 0bd07652 (Jan 17)
jorickert Mar 20, 2025
ca75a9f
[AutoBump] Merge with eff6b642 (Jan 17)
jorickert Mar 20, 2025
ef04755
[AutoBump] Merge with fixes of d28a4f1f (Jan 17)
jorickert Mar 20, 2025
c11d5c0
[AutoBump] Merge with e2402615 (Jan 17)
jorickert Mar 20, 2025
0f6f0b4
Merge pull request #521 from Xilinx/bump_to_eff6b642
jorickert Apr 14, 2025
7f52cec
Merge pull request #519 from Xilinx/bump_to_11819214
jorickert Apr 14, 2025
9d07d6b
Merge pull request #520 from Xilinx/bump_to_0bd07652
jorickert Apr 14, 2025
161b5c6
Merge pull request #523 from Xilinx/bump_to_e2402615
jorickert Apr 14, 2025
8ac91d4
Merge pull request #522 from Xilinx/bump_to_d28a4f1f
jorickert Apr 14, 2025
4ce17f1
Merge pull request #518 from Xilinx/bump_to_f9a80062
jorickert Apr 14, 2025
81e973d
Merge branch 'bump_to_1b2c8f10' into bump_to_0195ec45
jorickert Apr 14, 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
  •  
  •  
  •  
108 changes: 94 additions & 14 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 Down Expand Up @@ -139,12 +199,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 +251,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
4 changes: 2 additions & 2 deletions bolt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ if (BOLT_ENABLE_RUNTIME)
add_llvm_install_targets(install-bolt_rt
DEPENDS bolt_rt bolt
COMPONENT bolt)
set(LIBBOLT_RT_INSTR "${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/lib/libbolt_rt_instr.a")
set(LIBBOLT_RT_HUGIFY "${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/lib/libbolt_rt_hugify.a")
set(LIBBOLT_RT_INSTR "${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/lib${LLVM_LIBDIR_SUFFIX}/libbolt_rt_instr.a")
set(LIBBOLT_RT_HUGIFY "${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/lib${LLVM_LIBDIR_SUFFIX}/libbolt_rt_hugify.a")
endif()

find_program(GNU_LD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.bfd ld.bfd DOC "GNU ld")
Expand Down
6 changes: 6 additions & 0 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -1363,6 +1363,12 @@ class BinaryContext {
if (std::optional<uint32_t> Size = MIB->getSize(Inst))
return *Size;

if (MIB->isPseudo(Inst))
return 0;

if (std::optional<uint32_t> Size = MIB->getInstructionSize(Inst))
return *Size;

if (!Emitter)
Emitter = this->MCE.get();
SmallString<256> Code;
Expand Down
5 changes: 5 additions & 0 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -1204,6 +1204,11 @@ class MCPlusBuilder {
/// Get instruction size specified via annotation.
std::optional<uint32_t> getSize(const MCInst &Inst) const;

/// Get target-specific instruction size.
virtual std::optional<uint32_t> getInstructionSize(const MCInst &Inst) const {
return std::nullopt;
}

/// Set instruction size.
void setSize(MCInst &Inst, uint32_t Size) const;

Expand Down
4 changes: 2 additions & 2 deletions bolt/lib/Passes/Inliner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -310,13 +310,13 @@ Inliner::inlineCall(BinaryBasicBlock &CallerBB,
if (MIB.isPseudo(Inst))
continue;

MIB.stripAnnotations(Inst, /*KeepTC=*/BC.isX86());
MIB.stripAnnotations(Inst, /*KeepTC=*/BC.isX86() || BC.isAArch64());

// Fix branch target. Strictly speaking, we don't have to do this as
// targets of direct branches will be fixed later and don't matter
// in the CFG state. However, disassembly may look misleading, and
// hence we do the fixing.
if (MIB.isBranch(Inst)) {
if (MIB.isBranch(Inst) && !MIB.isTailCall(Inst)) {
assert(!MIB.isIndirectBranch(Inst) &&
"unexpected indirect branch in callee");
const BinaryBasicBlock *TargetBB =
Expand Down
35 changes: 35 additions & 0 deletions bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,36 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
public:
using MCPlusBuilder::MCPlusBuilder;

MCPhysReg getStackPointer() const override { return AArch64::SP; }

bool isPush(const MCInst &Inst) const override { return false; }

bool isPop(const MCInst &Inst) const override { return false; }

void createCall(MCInst &Inst, const MCSymbol *Target,
MCContext *Ctx) override {
createDirectCall(Inst, Target, Ctx, false);
}

bool convertTailCallToCall(MCInst &Inst) override {
int NewOpcode;
switch (Inst.getOpcode()) {
default:
return false;
case AArch64::B:
NewOpcode = AArch64::BL;
break;
case AArch64::BR:
NewOpcode = AArch64::BLR;
break;
}

Inst.setOpcode(NewOpcode);
removeAnnotation(Inst, MCPlus::MCAnnotation::kTailCall);
clearOffset(Inst);
return true;
}

bool equals(const MCTargetExpr &A, const MCTargetExpr &B,
CompFuncTy Comp) const override {
const auto &AArch64ExprA = cast<AArch64MCExpr>(A);
Expand Down Expand Up @@ -1792,6 +1822,11 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
}

uint16_t getMinFunctionAlignment() const override { return 4; }

std::optional<uint32_t>
getInstructionSize(const MCInst &Inst) const override {
return 4;
}
};

} // end anonymous namespace
Expand Down
18 changes: 9 additions & 9 deletions bolt/runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@ add_library(bolt_rt_instr STATIC
instr.cpp
${CMAKE_CURRENT_BINARY_DIR}/config.h
)
set_target_properties(bolt_rt_instr PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
set_target_properties(bolt_rt_instr PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "lib${LLVM_LIBDIR_SUFFIX}")
add_library(bolt_rt_hugify STATIC
hugify.cpp
${CMAKE_CURRENT_BINARY_DIR}/config.h
)
set_target_properties(bolt_rt_hugify PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
set_target_properties(bolt_rt_hugify PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "lib${LLVM_LIBDIR_SUFFIX}")

if(NOT BOLT_BUILT_STANDALONE)
add_custom_command(TARGET bolt_rt_instr POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib/libbolt_rt_instr.a" "${LLVM_LIBRARY_DIR}")
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libbolt_rt_instr.a" "${LLVM_LIBRARY_DIR}")
add_custom_command(TARGET bolt_rt_hugify POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib/libbolt_rt_hugify.a" "${LLVM_LIBRARY_DIR}")
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libbolt_rt_hugify.a" "${LLVM_LIBRARY_DIR}")
endif()

set(BOLT_RT_FLAGS
Expand All @@ -53,23 +53,23 @@ target_include_directories(bolt_rt_instr PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_compile_options(bolt_rt_hugify PRIVATE ${BOLT_RT_FLAGS})
target_include_directories(bolt_rt_hugify PRIVATE ${CMAKE_CURRENT_BINARY_DIR})

install(TARGETS bolt_rt_instr DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
install(TARGETS bolt_rt_hugify DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
install(TARGETS bolt_rt_instr DESTINATION "lib${LLVM_LIBDIR_SUFFIX}")
install(TARGETS bolt_rt_hugify DESTINATION "lib${LLVM_LIBDIR_SUFFIX}")

if (CMAKE_CXX_COMPILER_ID MATCHES ".*Clang.*" AND CMAKE_SYSTEM_NAME STREQUAL "Darwin")
add_library(bolt_rt_instr_osx STATIC
instr.cpp
${CMAKE_CURRENT_BINARY_DIR}/config.h
)
set_target_properties(bolt_rt_instr_osx PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
set_target_properties(bolt_rt_instr_osx PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "lib${LLVM_LIBDIR_SUFFIX}")
target_include_directories(bolt_rt_instr_osx PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_compile_options(bolt_rt_instr_osx PRIVATE
-target x86_64-apple-darwin19.6.0
${BOLT_RT_FLAGS})
install(TARGETS bolt_rt_instr_osx DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
install(TARGETS bolt_rt_instr_osx DESTINATION "lib${LLVM_LIBDIR_SUFFIX}")

if(NOT BOLT_BUILT_STANDALONE)
add_custom_command(TARGET bolt_rt_instr_osx POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib/libbolt_rt_instr_osx.a" "${LLVM_LIBRARY_DIR}")
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/libbolt_rt_instr_osx.a" "${LLVM_LIBRARY_DIR}")
endif()
endif()
42 changes: 42 additions & 0 deletions bolt/test/AArch64/inline-small-function-1.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
## This test checks that inline is properly handled by BOLT on aarch64.

# REQUIRES: system-linux

# RUN: llvm-mc -filetype=obj -triple aarch64-unknown-unknown %s -o %t.o
# RUN: %clang %cflags -O0 %t.o -o %t.exe -Wl,-q
# RUN: llvm-bolt --inline-small-functions --print-inline --print-only=_Z3barP1A \
# RUN: %t.exe -o %t.bolt | FileCheck %s

# CHECK: BOLT-INFO: inlined 0 calls at 1 call sites in 2 iteration(s). Change in binary size: 4 bytes.
# CHECK: Binary Function "_Z3barP1A" after inlining {
# CHECK-NOT: bl _Z3fooP1A
# CHECK: ldr x8, [x0]
# CHECK-NEXT: ldr w0, [x8]

.text
.globl _Z3fooP1A
.type _Z3fooP1A,@function
_Z3fooP1A:
ldr x8, [x0]
ldr w0, [x8]
ret
.size _Z3fooP1A, .-_Z3fooP1A

.globl _Z3barP1A
.type _Z3barP1A,@function
_Z3barP1A:
stp x29, x30, [sp, #-16]!
mov x29, sp
bl _Z3fooP1A
mul w0, w0, w0
ldp x29, x30, [sp], #16
ret
.size _Z3barP1A, .-_Z3barP1A

.globl main
.p2align 2
.type main,@function
main:
mov w0, wzr
ret
.size main, .-main
48 changes: 48 additions & 0 deletions bolt/test/AArch64/inline-small-function-2.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
## This test checks that inline is properly handled by BOLT on aarch64.

# REQUIRES: system-linux

# RUN: llvm-mc -filetype=obj -triple aarch64-unknown-unknown %s -o %t.o
# RUN: %clang %cflags -O0 %t.o -o %t.exe -Wl,-q
# RUN: llvm-bolt --inline-small-functions --print-inline --print-only=test \
# RUN: %t.exe -o %t.bolt | FileCheck %s

#CHECK: BOLT-INFO: inlined 0 calls at 1 call sites in 2 iteration(s). Change in binary size: 4 bytes.
#CHECK: Binary Function "test" after inlining {
#CHECK-NOT: bl indirect
#CHECK: add w0, w1, w0
#CHECK-NEXT: blr x2

.text
.globl indirect
.type indirect,@function
indirect:
add w0, w1, w0
br x2
.size indirect, .-indirect

.globl test
.type test,@function
test:
stp x29, x30, [sp, #-32]!
stp x20, x19, [sp, #16]
mov x29, sp
mov w19, w1
mov w20, w0
bl indirect
add w8, w19, w20
cmp w0, #0
csinc w0, w8, wzr, eq
ldp x20, x19, [sp, #16]
ldp x29, x30, [sp], #32
ret
.size test, .-test

.globl main
.type main,@function
main:
mov w0, wzr
ret
.size main, .-main


2 changes: 1 addition & 1 deletion bolt/test/lit.local.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
host_linux_triple = config.target_triple.split("-")[0] + "-unknown-linux-gnu"
common_linker_flags = "-fuse-ld=lld -Wl,--unresolved-symbols=ignore-all -pie"
common_linker_flags = "-fuse-ld=lld -Wl,--unresolved-symbols=ignore-all -Wl,--build-id=none -pie"
flags = f"--target={host_linux_triple} -fPIE {common_linker_flags}"

config.substitutions.insert(0, ("%cflags", f"%cflags {flags}"))
Expand Down
Loading