Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
528 commits
Select commit Hold shift + click to select a range
36d5e81
[SYCL][NFC] Move target triple name out of loop in KernelCompiler Dev…
jinge90 Jun 24, 2026
4f051ae
[mlir][gpu] Fix memref.dim folding with negative index (#205338)
CoTinker Jun 24, 2026
dba3717
[mlir] Simplify DimOp::fold by using `getConstantIndex`(NFC) (#205343)
CoTinker Jun 24, 2026
c120885
[llubi] Add basic support for pointer comparisons (#205410)
dtcxzyw Jun 24, 2026
f63c340
[Clang][SYCL] Fix driver build after BoundArch struct migration (#22408)
wenju-he Jun 24, 2026
9fa8669
[clang] Exclude EmptyRecord when calculating larger CXX records (#205…
phoebewang Jun 24, 2026
1f0799c
[Github] Bump release-binaries python version (#179287)
boomanaiden154 Jun 24, 2026
20cf046
[AArch64] Add final missing instructions to sForm (#167518)
AZero13 Jun 24, 2026
554c610
Reapply [AA] Improve precision for monotonic atomic load/stor… (#195015)
jinhuang1102 Jun 24, 2026
2c0c6eb
[clang][AST] Refactor `EvaluatedStmt` accessors in `VarDecl` (#205033)
tbaederr Jun 24, 2026
1fc1de8
[libc][NFC] Remove a compiler warning for MPCommon (#205264)
jinge90 Jun 24, 2026
6c86c95
[SYCL] Use `ext_vector_type` for optimizing marray arithmetic (#22342)
uditagarwal97 Jun 24, 2026
d9b2076
[Clang][SYCL] Update undocumented-attrs test for SYCL attributes (#22…
wenju-he Jun 24, 2026
e72e958
[AMDGPU] Reject src1 immediates with dpp when unsupported (#201494)
FrederickVu Jun 24, 2026
bf1f61b
[clang-tidy][NFC] Remove a wrong comment in ProTypeMemberInitCheck (#…
flovent Jun 24, 2026
10c0e8e
[LV] Accept swapped operands in early-exit condition compare (#199989)
madhur13490 Jun 24, 2026
2a782a8
[Hexagon] Fix unused variable in non-assert builds (KCFI) (#205491)
androm3da Jun 24, 2026
13c45a6
[llubi] Implement memory manipulation intrinsics (#204932)
nofe1248 Jun 24, 2026
0ae1673
[DebugInfo][LLDB] Fix generic DW_OP_const handling (#204353)
firmiana402 Jun 24, 2026
337e747
[LoopFusion][NFC] Share fusion tail between guarded and unguarded pat…
madhur13490 Jun 24, 2026
da77f74
[RISCV] Convert opaque pointers in vp-combine-reverse-load.ll. NFC (#…
lukel97 Jun 24, 2026
3dce6e6
[AArch64] Run cleanup one final time after peephole (#199711)
AZero13 Jun 24, 2026
7fe0b4c
[ObjectYAML][NFC] Derive BBAddrMap section size from the CBA offset (…
HaohaiWen Jun 24, 2026
2eb2048
[libc] Refactor qsort code (#198781)
vhscampos Jun 24, 2026
3e9479e
[compiler-rt][ARM] Fix underflow handling in new divdf3.S (#204784)
statham-arm Jun 24, 2026
8f97de5
[libc] Add IPv4 socket options and related structs (#204787)
labath Jun 24, 2026
0df1522
[flang][FIR] add canonicalization pattern for fir.if returning OPTION…
jeanPerier Jun 24, 2026
a1f50d6
[libc++][ranges] Applied `[[nodiscard]]` to `reverse_view` (#205186)
H-G-Hristov Jun 24, 2026
11c6192
Remove unused variables in the monorepo (#204994)
philnik777 Jun 24, 2026
7a6c8fb
[CIR] Handle const evaluated variable values (#205512)
Men-cotton Jun 24, 2026
a4ec22d
[X86] madd.ll - add additional tests for matchPMADDWD folds that fail…
RKSimon Jun 24, 2026
c08aff5
[APINotes] Skip per-decl ProcessAPINotes work when no API notes are a…
AnonMiraj Jun 24, 2026
bd177f9
[AArch64][TableGen] Define ZA, ZT0 and FPMR memory defvars (#154144)
CarolineConcatto Jun 24, 2026
17198f8
[NFC][Clang][Tests] Remove +bf16 from AArch64 tests that don't strict…
paulwalker-arm Jun 24, 2026
e1eeeff
[flang][OpenMP] Check that IF clause applies to at most one leaf (#20…
kparzysz Jun 24, 2026
a102df5
[SCEV] Infer addrec nowrap flags during range analysis (#202964)
nikic Jun 24, 2026
2048e75
[AArch64][SVE] Use ADD/ADR instead of MUL/MLA for x*N (#198566)
tommat01 Jun 24, 2026
c5f23fa
[FIR] Route embox + projected complex slice through shapeVec (#205042)
ergawy Jun 24, 2026
80a8b40
[Clang][SYCL] Fix new-driver Backend phase producing .ll instead of .…
wenju-he Jun 24, 2026
61c2de8
[SYCL] Align the kernel class with SYCL2020 (#22359)
KornevNikita Jun 24, 2026
3aaa0c9
[SYCL] optimize fp8 load store (#22321)
dklochkov-emb Jun 24, 2026
a66f033
[Clang][SYCL] Remove redundant driver-level C input check (#22382)
wenju-he Jun 24, 2026
e452fe2
[libclc][NFC] Fix libspirv nvptx build warnings (#22378)
wenju-he Jun 24, 2026
d6ec6c8
[VPlan] Introduce VPValue::user_empty (NFC) (#203518)
artagnon Jun 24, 2026
58180b8
[Allocator] Drop the fast-path null check via a sentinel End (#205485)
MaskRay Jun 24, 2026
b35195b
[flang][OpenMP][NFC] Hoist variant match-info construction into Seman…
abidh Jun 24, 2026
9e4042b
[analyzer][NFC] Take BugReport descriptions as Twine instead of Strin…
steakhal Jun 24, 2026
666bb76
[Bazel] Fixes 25ae6ce (#205501)
forking-google-bazel-bot[bot] Jun 24, 2026
b3f5e7b
[SYCL][Doc] Move FP8 docs from proposed to experimental (#22403)
dklochkov-emb Jun 24, 2026
e92bf51
[libc++] Move constexpr/explicit macros to <__configuration/language.…
philnik777 Jun 24, 2026
a87ec86
[X86] combineAddOfPMADDWD - use MaskedVectorIsZero directly instead o…
RKSimon Jun 24, 2026
c12105f
[NFC] use DenseMap/SmallPtrSet in CacheMetrics and TailDupli… (#205480)
devnexen Jun 24, 2026
5794d52
[flang][OpenMP] Lower task reduction modifier (#205124)
Saieiei Jun 24, 2026
29fae5e
[NFC][analyzer] Remove the NodeBuilder from VisitArrayInitLoopExpr (#…
NagyDonat Jun 24, 2026
f653d34
[UnifyFunctionExitNodes] Remove the pass (#205519)
pektezol Jun 24, 2026
6e48656
[clang][test] Use `FileCheck` in `Rewriter/objc-modern-getclass-proto…
iidmsa Jun 24, 2026
75c7431
[libc++] Move _LIBCPP_CONCAT{,3} to <__configuration/utility.h> (#205…
philnik777 Jun 24, 2026
26e0226
[offload][unittest] Set rpath to make sure tests use the correct lib …
ivanradanov Jun 24, 2026
c15b769
[libc++] Move <features.h> include to <__configuration/platform.h> (#…
philnik777 Jun 24, 2026
02af39e
[NFC][analyzer] Remove the NodeBuilder from eagerly assume (#204371)
NagyDonat Jun 24, 2026
d6d26f9
[libc++] Remove <features.h> include from <__config> (#205549)
philnik777 Jun 24, 2026
332c1ca
[clang][ARM] Delete dead-code (nfc) (#205404)
banach-space Jun 24, 2026
e84a5a4
[Clang][Docs] Fixed typos of sentinel attribute (#205539)
to268 Jun 24, 2026
2474100
[X86] madd.ll - add additional load test for matchPMADDWD folds that …
RKSimon Jun 24, 2026
86b214c
[flang][OpenMP] Parsing and semantics of locators as part of OmpObjec…
kparzysz Jun 24, 2026
bec6da4
[AArch64] Optimise materialisation of large stack offset calculations…
cofibrant Jun 24, 2026
88bafc7
[GHA] Uplift Linux GPU RT version to 26.22.38646.4 (#22394)
bb-sycl Jun 24, 2026
90a20b8
[AMDGPU] Promote uniform i16 ABS to i32 (#204526)
sommerlukas Jun 24, 2026
83abbef
[X86] isHorizontalBinOp - constify hadd/sub pattern matcher to make i…
RKSimon Jun 24, 2026
441c625
[ARM] Select ssat for saturating clamps with a non-zero offset (#203854)
KavinSai-synthara Jun 24, 2026
fa3789c
[clang][bytecode][NFC] Use SourceInfo for opcode emitter helpers (#20…
tbaederr Jun 24, 2026
86b8ca5
[X86] matchPMADDWD - add support for larger source types (#205391)
RKSimon Jun 24, 2026
636c292
[mlir][tosa] Handle function declarations in tosa input shape pass (#…
heturing Jun 24, 2026
ee2025f
[clang][bytecode] Work around virtual bases being present in APValues…
tbaederr Jun 24, 2026
668c4da
[AArch64][ISel] Enable profile-aware branch condition merging (#201486)
kunalspathak Jun 24, 2026
e607f6a
[SYCL][NewOffloadModel] xfail failing tests in Experimental/fp8 (#22373)
maksimsab Jun 24, 2026
89b463b
[llubi] Always print out error message (#205573)
dtcxzyw Jun 24, 2026
cd96b2f
AMDGPU/GlobalISel: Implement G_GET/SET_ROUNDING (#205265)
vangthao95 Jun 24, 2026
d5e6cb2
[LifetimeSafety] Cache lifetimebound macro lookup (#205250)
zeyi2 Jun 24, 2026
c80e7c6
[AArch64] Recombine SETCCCARRY for legalized unsigned compares (#204504)
clingfei Jun 24, 2026
e7c8f3d
[mlir][vector] reject negative strides for `vector.load`/`vector.stor…
FedericoBruzzone Jun 24, 2026
985fdfe
[Dexter] Add ability to rewrite scripts to fill-in unknown values (#2…
SLTozer Jun 24, 2026
e74bafd
[llvm-objdump] Add --substitute-path and --source-dir for --source (#…
VladimirMedic Jun 24, 2026
1d0e588
[libc++][C++03] Cherry-pick #106832 (#205547)
philnik777 Jun 24, 2026
4bd5710
[RISCV][XCV] Relax long `cv.beqimm`/`cv.bneimm` branches (#205096)
VittorioBurani Jun 24, 2026
61919a5
[mlir][llvm] Add nontemporal field to llvm.intr.masked.store (#205566)
linuxlonelyeagle Jun 24, 2026
8c7c538
[lldb-dap][test] Re-enable test_by_name_waitFor on Windows (#205570)
charles-zablit Jun 24, 2026
64f4c1a
[Flang][OpenMP][Sema] Add OpenMP warning when mapping local descripto…
TIFitis Jun 24, 2026
f26fd6a
[LV] Pre-commit test for live-out derivation requiring VPExpandSCEVRe…
Mel-Chen Jun 24, 2026
4b46b19
[libsycl] add heuristics to prefer devices with compatible images (#2…
KseniyaTikhomirova Jun 24, 2026
044206f
[Bazel] Fixes 916a974 (#205583)
forking-google-bazel-bot[bot] Jun 24, 2026
74f9f4d
[Offload] Fix ordering with RPC teardown and global destructors (#205…
jhuber6 Jun 24, 2026
367e8f3
Merge from 'sycl' to 'sycl-web' (9 commits)
Jun 24, 2026
fa2b176
[libc++] Apply `[[nodiscard]]` to `wstring_convert`, `wbuffer_convert…
frederick-vs-ja Jun 24, 2026
7eeb9e0
[BOLT] Increase BufSize in runtime/common.h (#204607)
pawosm-arm Jun 24, 2026
19a2688
[flang][cmake][perf-training] Optimize flang with PGO and BOLT (#198863)
pawosm-arm Jun 24, 2026
94016cd
[mlir][OpenMP] Don't use label prefixes on linear variable rewrite (#…
luporl Jun 24, 2026
bb5489e
[libc++][ranges] Applied [[nodiscard]] to `transform_view` (#204014)
lknknm Jun 24, 2026
4be3214
[offload] add support for aligned allocations (#203353)
EuphoricThinking Jun 24, 2026
172c4db
[NVPTX] Rewrite kernel signatures in param AS (#204192)
AlexMaclean Jun 24, 2026
51a6841
[OpenMP] Remove AST dump tests for non-variant clauses (#204493)
Endilll Jun 24, 2026
fbac695
[LoopInterchange] Remove some early exits in transform phase (NFCI) (…
kasuga-fj Jun 24, 2026
e4399ec
[clang-tidy] Extend `modernize-type-traits` to fold remove_cv_t<remov…
serge-sans-paille Jun 24, 2026
da4e021
[lldb][NFC] Change type of Breakpoint's name list (#205429)
bulbazord Jun 24, 2026
a45af75
AMDGPU/GlobalISel: Fix get.rounding s_getreg lowering (#205601)
vangthao95 Jun 24, 2026
9a8aed8
[Instrumentor] Move common instruction IO functions into a class (#20…
kevinsala Jun 24, 2026
607c323
[mlir][emitc]: use converted result types when func.call has one resu…
j2kun Jun 24, 2026
27722e1
[Xtensa] Implement XtensaNullTargetStreamer (#203819)
gerekon Jun 24, 2026
7a12201
Revert "[AArch64] Run cleanup one final time after peephole (#199711)…
davemgreen Jun 24, 2026
572bce2
[CIR] Skip trivially-recursive available_externally function bodies (…
adams381 Jun 24, 2026
f48816b
[SYCL][E2E] Fix tests failing on new driver (#22420)
sarnex Jun 24, 2026
2db9d8a
[SSAF] Properly handle contributors with multiple declarations (#204482)
ziqingluo-90 Jun 24, 2026
6888fe5
[X86] combineMulToPMADDWD - match 256/512-bit SIGN_EXTEND nodes (#205…
RKSimon Jun 24, 2026
e30b9cd
[UR] Refactor reusable event API to pass device as urEventCreateExp p…
kweronsx Jun 24, 2026
92681e7
[AMDGPU] Lower uniform usubsat to SOP (#203155)
gandhi56 Jun 24, 2026
1530858
[mlir][bazel]: Remove GPU dialect deps from MemRefTransforms (#205624)
j2kun Jun 24, 2026
59d3573
[BOLT] Replace partial instructions with traps in patched entries (#2…
pzfl Jun 24, 2026
159ff5f
[VectorUtils] Discard predicates if no interleave groups are found. (…
fhahn Jun 24, 2026
d7c3550
[tysan] Guard mallopt() use on SANITIZER_GLIBC instead of SANITIZER_L…
androm3da Jun 24, 2026
95df8a7
[docs] Create utils/docs (#203962)
slinder1 Jun 24, 2026
a456490
[libc] Prefix sanitizer macros with LIBC_ (#205002)
nico Jun 24, 2026
6deda8c
[AArch64] Skip FrameDestroy DW_CFA_AARCH64_negate_ra_state_with_pc (#…
jroelofs Jun 24, 2026
6f3c702
[gn build] Port 30abd9ec2b8d (#205658)
nico Jun 24, 2026
e120ced
[gn] Fix oversight from cf6527a49669c796b (#205660)
nico Jun 24, 2026
d6eb61b
[gn build] Port c997a13812c1 (#205659)
nico Jun 24, 2026
29988e3
Revert "[Dexter] Add ability to rewrite scripts to fill-in unknown va…
jansvoboda11 Jun 24, 2026
e7c8e02
[CodeGen] Add v2048bf16 vector type (#202386)
adityagupta1089 Jun 24, 2026
b17c55f
[libc][math] Fix MPI_OVER_2 constant in atan2f_float (#205621)
Prabhuk Jun 24, 2026
7af3d61
[OpenACC] add acc::ReductionAccumulateArrayOp (#205617)
rscottmanley Jun 24, 2026
a22a8e3
[mlir][xegpu] adding maybe_usused for unused variable/function when a…
Jianhui-Li Jun 24, 2026
36a17d1
[SLP][NFC] Remove extra checks from analyzeRtStrideCandidate() (#205415)
bababuck Jun 24, 2026
ccf6944
[VPlan] Remove unused VPlan::getExitBlock(BasicBlock*) (NFC) (#205645)
fhahn Jun 24, 2026
52e3699
[flang] Relax ignore_tkr(c) for assumed-type BIND(C) descriptor dummi…
nvptm Jun 24, 2026
28f6e1a
[SYCL] Disable InOrderQueueCrossDepsShortcutFuncs test on Win (#22424)
sarnex Jun 24, 2026
befc969
[LV] Round outer-loop VPlan VF down to a power of two (#205646)
fhahn Jun 24, 2026
2c2bdd0
[lldb] Remove unused MemorySize methods (NFC) (#205463)
kastiglione Jun 24, 2026
1e122aa
clang: Replace getTargetID API with isProcessorName (#205653)
arsenm Jun 24, 2026
1a08a14
[mlir][bazel]: only depend on needed LLVM translations in ExecutionEn…
j2kun Jun 24, 2026
c9b053b
[Bazel] Fixes 639c5a0 (#205273)
forking-google-bazel-bot[bot] Jun 24, 2026
d538830
[OpenMP][Offload] Use argument pointer array in host kernels (#205355)
pbalcer Jun 24, 2026
e3d7153
[AssumptionCache] Fix removeAffectedValues() when value is repeated i…
thurstond Jun 24, 2026
866221a
[APInt] Consistently use the terms pdep/pext instead of expandBits/co…
RKSimon Jun 24, 2026
3d2da59
[CIR][AArch64] Migrate vsubl_high/vsubw_high NEON tests to subtractio…
E00N777 Jun 24, 2026
95cf74c
Revert "[Bazel] Fixes 639c5a0" (#205681)
googlewalt Jun 24, 2026
4fbfe7a
[flang][cmake] Enable the runtimes in the CMake caches (#205642)
pawosm-arm Jun 24, 2026
a2e4f03
[lldb][Mach-O] Bounds-check GetArchitectureAtIndex against m_fat_arch…
qiyao Jun 24, 2026
4264aad
[Sema] Fix ICE when passing vector types to `abs` (#205017)
huseyin-donmez Jun 24, 2026
7bf7129
[SYCL] Disable CommandGraph/Scheduler unit tests on Win (#22427)
sarnex Jun 24, 2026
d133e72
[Instrumentor] Add subtype IDs to complement type IDs for vectors/arr…
jdoerfert Jun 24, 2026
120bdcf
Revert "[LifetimeSafety] Fix liveness propagation for all origin flow…
usx95 Jun 24, 2026
1bb2aa4
[Xtensa] Fix trap/debugtrap operations lowering. (#200872)
gerekon Jun 24, 2026
9962ca7
[Instrumentor] Add runtime examples: [1/N] A flop counter (#205221)
jdoerfert Jun 24, 2026
afd57b2
[RISCV][clang] Use fcf-protection flag in Multilib Selection (#205202)
lenary Jun 24, 2026
564002a
[lldb][NFC] Remove ConstString from Language::MethodNameVariant (#205…
bulbazord Jun 24, 2026
feabaef
[Clang] Don't suppress vtable emission for classes with -fmodules-deb…
Bigcheese Jun 24, 2026
ba43635
[Instrumentor][FIX] Ensure CXX headers are available (#205693)
jdoerfert Jun 24, 2026
67ee412
Revert "[Instrumentor] Add runtime examples: [1/N] A flop counter (#2…
jdoerfert Jun 24, 2026
3a5054a
[clang][ssaf] Shorten directory name to ScalableStaticAnalysis (#204697)
jkorous-apple Jun 24, 2026
3169d23
[libc++] Implement P1885R12: `<text_encoding>` (#141312)
smallp-o-p Jun 24, 2026
40368e7
[IR] Fix invalid debug metadata diagnostic kind (#205648)
rnk Jun 24, 2026
f9d273f
Merge from 'main' to 'sycl-web' (137 commits)
wenju-he Jun 24, 2026
404e730
[Clang][SYCL] Introduce warn_drv_unsupported_option_for_target_host_o…
wenju-he Jun 24, 2026
3ce67e6
[Driver][SYCL] Treat stdin as C++ when -fsycl is active (#204968)
wenju-he Jun 24, 2026
b9bca29
Merge from 'sycl' to 'sycl-web' (11 commits)
Jun 25, 2026
580e5c1
[libc][stat] Move internal statx type definition into OSUtil/linux (#…
jtstogel Jun 25, 2026
385afce
[x86] Handle implicit sections when determining if a global is large …
aeubanks Jun 25, 2026
8d8f3fd
[libclc] Delete wrong implementation nvptx clc_isinf (#205699)
wenju-he Jun 25, 2026
34483c2
[DAG] Fix illegal type in srl(bitcast(build_vector)) fold (#205074)
kito-cheng Jun 25, 2026
7a452ab
[RISCV] Emit .option arch extensions without the "experimental-" pref…
kito-cheng Jun 25, 2026
4fec16e
[MLIR][XeGPU] Fix order remapping in layout transpose (#205212)
Jianhui-Li Jun 25, 2026
fd42724
[libc][complex] Add cargf and carg functions to libc complex math (#2…
jinge90 Jun 25, 2026
27859ee
[Clang] Fixed an assertion in constant evaluation when using a defaul…
TPPPP72 Jun 25, 2026
5852600
[Clang] Transform SubstNonTypeTemplateParmExpr replacements in a cons…
wx257osn2 Jun 25, 2026
41360c1
Fix ProcessElfCore::FindModuleUUID() so it work with symlinks. (#205235)
clayborg Jun 25, 2026
4449e31
[SampleProfileMatcher] Sample profile duplication to avoid stale CFG …
HighW4y2H3ll Jun 25, 2026
7d145e7
Merge from 'main' to 'sycl-web' (107 commits)
rgmunozj Jun 25, 2026
b3e3319
[AArch64] Add missing SubtargetFeature for hip12 core (#205246)
eastB233 Jun 25, 2026
f63254b
[flang][cuda] Accept cuf kernel do without scalar (#205705)
clementval Jun 25, 2026
5e7d4db
[clang][bytecode] Ignore indeterminate APValues (#205555)
tbaederr Jun 25, 2026
8759f13
[flang][cuda] Add NYI message for CUDA dynamic parallelism (#205628)
clementval Jun 25, 2026
501a3ce
[clang-doc] Test more language constructs (#205585)
ilovepi Jun 25, 2026
c3f9a06
[WebAssembly] Represent reference types as TargetExtType (#203165)
hoodmane Jun 25, 2026
8775562
[NewPM][AArch64] Port AArch64SRLTDefineSuperRegs pass to NewPassManag…
nigham Jun 25, 2026
04cb6dd
Fix test from #203165 when no wasm target is configured (#205722)
dschuff Jun 25, 2026
2a9c1d2
[flang][OpenMP] Fix declare reduction lookup for USE...ONLY imports
MattPD Jun 25, 2026
e392c53
[Flang][Driver]Add support for option '-fpseudo-probe-for-profiling' …
kaviya2510 Jun 25, 2026
600479f
[clang][bytecode] Pass AccessKinds to Check{Constant,Mutable} (#205720)
tbaederr Jun 25, 2026
40dfcaa
[AArch64] Correct latency calculation in runSVEPseudoTestForCPU test.…
davemgreen Jun 25, 2026
4cb5854
clang: Fix referring to __builtin_amdgcn_is_processor in diagnostic (…
arsenm Jun 25, 2026
f424b74
[libc++] Enable clang-tidy in the CI again (#195047)
philnik777 Jun 25, 2026
83a35c1
[RISCV][Zicfilp] Emit .note.gnu.property section for Zicfilp CFI unla…
mylai-mtk Jun 25, 2026
c133955
[ADT][NFC] Use is_constructible instead of implementing it ourselves …
philnik777 Jun 25, 2026
4bfb875
clang/AMDGPU: Simplify cpu name checks for __builtin_amdgcn_is_proces…
arsenm Jun 25, 2026
23efe0a
Merge from 'main' to 'sycl-web' (49 commits)
wenju-he Jun 25, 2026
007557d
[libc++] Add implementations of `__get_locale_encoding(...)` to Fusch…
smallp-o-p Jun 25, 2026
d994717
[clang-tidy] Guard `readability-identifier-naming` recursion in depen…
qzhhhi Jun 25, 2026
263c849
[TTI][Inline] Define inlining behavior in SubtargetFeature (#205348)
nikic Jun 25, 2026
9bd4d62
[RISCV] Add explicit defs in PseudoLA_TLSDESC (#205494)
LukeZhuang Jun 25, 2026
432ecad
[clang][ExprConst] Add early exit in `evaluateDestruction()` (#205476)
tbaederr Jun 25, 2026
8560f14
[clang][Driver] Pass --cstdlib through to multilibs (#203884)
voltur01 Jun 25, 2026
a3149bf
Merge from 'main' to 'sycl-web' (30 commits)
wenju-he Jun 25, 2026
e5e4444
[SYCL][Test] Fix nvvm-annotations test for 3-operand reqd_work_group_…
wenju-he Jun 25, 2026
275b5f6
[flang][MIF] Use default datalayout and cleanup MIF tests (#205662)
JDPailleux Jun 25, 2026
daa676f
[Flang]Add support for inlining hlfir.assign operation where both LHS…
kaviya2510 Jun 25, 2026
74a1831
Add armagicpu to release notes (#205599)
MarkMurrayARM Jun 25, 2026
2e18254
[Clang] Fix missing vtable for `dynamic_cast<FinalClass *>(this)` in …
pfusik Jun 25, 2026
a0badea
[Driver][SYCL] Generate integration files for host only mode (#22422)
mdtoguchi Jun 25, 2026
6f70d56
[mlir][linalg] Add category-to-named conversion in linalg-morph-ops (…
javedabsar1 Jun 25, 2026
9559bea
Merge from 'main' to 'sycl-web' (56 commits)
Jun 25, 2026
fef24a4
[AArch64][SVE] Expose flags result of predicate-as-counter whiles (NF…
MacDue Jun 25, 2026
b964fa4
[Bazel] Fixes 8eae991 (#205752)
forking-google-bazel-bot[bot] Jun 25, 2026
fb1acdf
Merge from 'sycl' to 'sycl-web' (1 commits)
wenju-he Jun 25, 2026
fa7e1a6
[libc++] Remove _LIBCPP_COMPRESSED_PAIR/TRIPLE from shared_ptr (#200401)
philnik777 Jun 25, 2026
f75f463
[clang][bytecode] Fix ImplicitValueInitExpr array initializer (#205754)
tbaederr Jun 25, 2026
d780840
[VPlan] Strip replicate-region bail in materializing Unpacks (#203907)
artagnon Jun 25, 2026
ad37fe4
[InstCombine] do not assume the operand position of reverse shuffle (…
XChy Jun 25, 2026
1ba7958
[SYCL][NFC] Update tests with UNSUPPORTED: ze_debug (#22348)
KornevNikita Jun 25, 2026
1d2fcfe
Merge from 'main' to 'sycl-web' (1 commits)
wenju-he Jun 25, 2026
15cf1d1
Merge from 'sycl' to 'sycl-web' (1 commits)
Jun 25, 2026
5d380e8
[AArch64] Don't call fma/fmaf for @llvm.fmuladd.f64/f32 in softfp (#2…
statham-arm Jun 25, 2026
eb7407e
[libc] fix oob and overflow bugs in wcslcat and wcsncat (#203697)
hardikxk Jun 25, 2026
68b87f7
Merge from 'main' to 'sycl-web' (17 commits)
wenju-he Jun 25, 2026
5879a10
[Flang][MLIR][OpenMP] Explicitly represent omp.target kernel types (#…
skatrak Jun 25, 2026
715129b
[MLIR][OpenMP] Explicit tagging of combined constructs (#198782)
skatrak Jun 25, 2026
5926b87
[Flang][OpenMP] Add combined construct information (#198783)
skatrak Jun 25, 2026
9ace556
[X86] Fold splat XOR on VGF2P8AFFINEQB source (#204508)
WalterKruger Jun 25, 2026
5b87e4b
[libsycl] add UT for kernel submission (#203931)
KseniyaTikhomirova Jun 25, 2026
a7d3ddc
[X86] Select BLSMSK for i8 operands (#205093)
ChiragPatel8 Jun 25, 2026
8a6a209
[mlir][SPIR-V] Convert math.atan2 to GL atan2 (#201928)
aobolensk Jun 25, 2026
2d2dd0c
Reapply "[InstCombine] Merge consecutive assumes", round 2 (#205773)
philnik777 Jun 25, 2026
5cddbe8
[Support][CHERI] Refactor CHERICapabilityFormatBase to embrace CRTP (…
jrtc27 Jun 25, 2026
f9ea487
clang: Move __builtin_amdgcn_processor_is diagnostic test to sema (#2…
arsenm Jun 25, 2026
fbc5e3c
[MLIR][WASM] Re-Introduce the RaiseWasmMLIRPass to convert WasmSSA ML…
flemairen6 Jun 25, 2026
bae14ce
[clangd] Fix unknown doxygen command parsing in parameter documentati…
tcottin Jun 25, 2026
a079288
[Attr] Add `noipa` function attribute (#203304)
jryans Jun 25, 2026
b573c8a
[SYCL] Fix warnings about unused variables (#22414)
dklochkov-emb Jun 25, 2026
6b1940c
[llvm-spirv] Cherry-pick 'Fix SPIR-V module assert when translating f…
sarnex Jun 25, 2026
35e8526
[CI] Use latest `clang-format` in pr-code-format.yml (#22407)
uditagarwal97 Jun 25, 2026
71bb1da
[SYCL][NFC] Some minor test cleanups (#22389)
premanandrao Jun 25, 2026
bdd4fe4
Merge from 'sycl' to 'sycl-web' (4 commits)
Jun 25, 2026
ad88b97
Merge from 'main' to 'sycl-web' (43 commits)
Jun 25, 2026
a41d497
[Clang][SYCL] Fix bundler target triple for SPIR-V in old offload mod…
wenju-he Jun 25, 2026
fda1af1
[Driver][SYCL] Fix PCH map key mismatch after f8cb6be (#22433)
wenju-he Jun 25, 2026
299c36f
[SYCL][NFC] Fix check-work-group-attributes-match.cpp for AMDGPU (#22…
wenju-he Jun 26, 2026
2c6a802
[Driver][SYCL] Narrow amdgcn -m_Group pass-through to -mcpu only (#22…
wenju-he Jun 26, 2026
14609f8
[Clang][SYCL] Fix -march= corruption for NativeCPU when BoundArch is …
wenju-he Jun 26, 2026
44fac9f
[SYCL][Test] Update check_device_code tests with nofree (#22448)
wenju-he Jun 26, 2026
0c0065b
[SYCL][Test] Update native_cpu/esimd checks after addr space opt disa…
wenju-he Jun 26, 2026
5983d70
Merge from 'sycl' to 'sycl-web' (18 commits)
wenju-he Jun 26, 2026
cbf31a6
[SYCL][AMDGPU] Set amdgpu-flat-work-group-size for SYCL reqd_work_gro…
wenju-he Jun 26, 2026
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.
2 changes: 1 addition & 1 deletion .github/workflows/pr-code-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
- name: Install clang-format
uses: aminya/setup-cpp@1f17f92d6a52bfcb1a25348e2c526c2e5cbb1134 # v1.8.0
with:
clangformat: 20.1.8
clangformat: true

- name: Setup Python env
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#==============================================================================#
# Temp files created by most text editors.
*~
# Emacs lock files
.#*
# Merge files created by git.
*.orig
# Reject files created by patch.
Expand Down
24 changes: 4 additions & 20 deletions bolt/docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,31 +13,15 @@
import sys, os
from datetime import date

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
# sys.path.insert(0, os.path.abspath('.'))
from llvm_sphinx import * # see llvm-project/utils/docs/README.md

# -- General configuration -----------------------------------------------------
globals().update(common_conf(tags, markdown=Markdown.NEVER))

# If your documentation needs a minimal Sphinx version, state it here.
# needs_sphinx = '1.0'
# -- General configuration -----------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ["sphinx.ext.intersphinx", "sphinx.ext.todo"]

# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]

# The suffix of source filenames.
source_suffix = ".rst"

# The encoding of source files.
# source_encoding = 'utf-8-sig'

# The master toctree document.
master_doc = "index"
extensions += ["sphinx.ext.intersphinx", "sphinx.ext.todo"]

# General information about the project.
project = "BOLT"
Expand Down
16 changes: 16 additions & 0 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -816,6 +816,22 @@ class BinaryContext {
std::atomic<uint16_t> MaxMainCodeAlignment{1};
std::atomic<uint16_t> MaxColdCodeAlignment{1};

/// Alignment-related options sourced from CommandLineOpts. Populated by
/// RewriteInstance::adjustCommandLineOptions() so passes and the emitter
/// can read them via BinaryContext instead of touching opts::* directly.
/// Defaults must stay in sync with the cl::init values in
/// bolt/lib/Utils/CommandLineOpts.cpp.
unsigned AlignText{0};
unsigned AlignFunctions{64};
unsigned AlignBlocksMinSize{0};
unsigned AlignBlocksThreshold{800};
unsigned AlignFunctionsMaxBytes{32};
unsigned BlockAlignment{16};
bool AlignBlocks{false};
bool PreserveBlocksAlignment{false};
bool UseCompactAligner{true};
bool X86AlignBranchBoundaryHotOnly{true};

/// Fold \p Alignment into the running max for the main code section (when
/// \p InMainSection) and/or the cold code section (when \p InColdSection),
/// reflecting which output section(s) the object is emitted into. Safe to
Expand Down
13 changes: 12 additions & 1 deletion bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
#include "bolt/Utils/NameResolver.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator.h"
Expand Down Expand Up @@ -193,7 +194,9 @@ class BinaryFunction {
/// Keeps track of other functions we depend on because there is a reference
/// to the constant islands in them.
IslandProxiesType Proxies, ColdProxies;
SmallPtrSet<BinaryFunction *, 1> Dependency; // The other way around
SetVector<BinaryFunction *, SmallVector<BinaryFunction *, 1>,
SmallPtrSet<BinaryFunction *, 1>>
Dependency; // The other way around

mutable MCSymbol *FunctionConstantIslandLabel{nullptr};
mutable MCSymbol *FunctionColdConstantIslandLabel{nullptr};
Expand Down Expand Up @@ -1022,6 +1025,14 @@ class BinaryFunction {

std::optional<MCInst> disassembleInstructionAtOffset(uint64_t Offset) const;

/// Given a starting point \p Offset and a number of bytes \p MinLength,
/// returns the number of bytes \p MinLength + Tail such that the last
/// instruction in the sequence is not split apart. Returns std::nullopt if
/// disassembling fails. Assumes that \p Offset aligns with instruction stream
/// and that the instructions can be disassembled.
uint64_t getInstructionSequenceLength(uint64_t Offset,
uint64_t MinLength) const;

/// Return offset for the first instruction. If there is data at the
/// beginning of a function then offset of the first instruction could
/// be different from 0
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 @@ -1995,6 +1995,11 @@ class MCPlusBuilder {
llvm_unreachable("not implemented");
}

/// Creates a breakpoint instruction in Inst.
virtual void createBreakpoint(MCInst &Inst) const {
llvm_unreachable("not implemented");
}

/// Creates an instruction to bump the stack pointer just like a call.
virtual void createStackPointerIncrement(MCInst &Inst, int Size = 8,
bool NoFlagsClobber = false) const {
Expand Down
1 change: 1 addition & 0 deletions bolt/include/bolt/Passes/PatchEntries.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class PatchEntries : public BinaryFunctionPass {
struct Patch {
const MCSymbol *Symbol;
uint64_t Address;
uint32_t PaddingAfter = 0;
};

public:
Expand Down
8 changes: 8 additions & 0 deletions bolt/include/bolt/Utils/CommandLineOpts.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,14 @@ extern llvm::cl::OptionCategory BinaryAnalysisCategory;

extern llvm::cl::opt<unsigned> AlignText;
extern llvm::cl::opt<unsigned> AlignFunctions;
extern llvm::cl::opt<bool> AlignBlocks;
extern llvm::cl::opt<unsigned> AlignBlocksMinSize;
extern llvm::cl::opt<unsigned> AlignBlocksThreshold;
extern llvm::cl::opt<unsigned> AlignFunctionsMaxBytes;
extern llvm::cl::opt<unsigned> BlockAlignment;
extern llvm::cl::opt<bool> PreserveBlocksAlignment;
extern llvm::cl::opt<bool> UseCompactAligner;
extern llvm::cl::opt<bool> X86AlignBranchBoundaryHotOnly;
extern llvm::cl::opt<bool> AggregateOnly;
extern llvm::cl::opt<bool> ArmSPE;
extern llvm::cl::opt<unsigned> BucketsPerLine;
Expand Down
30 changes: 10 additions & 20 deletions bolt/lib/Core/BinaryEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,6 @@ using namespace bolt;
namespace opts {

extern cl::opt<JumpTableSupportLevel> JumpTables;
extern cl::opt<bool> PreserveBlocksAlignment;

cl::opt<bool> AlignBlocks("align-blocks", cl::desc("align basic blocks"),
cl::cat(BoltOptCategory));

static cl::list<std::string>
BreakFunctionNames("break-funcs",
Expand Down Expand Up @@ -68,12 +64,6 @@ static cl::opt<bool> PrintJumpTables("print-jump-tables",
cl::desc("print jump tables"), cl::Hidden,
cl::cat(BoltCategory));

static cl::opt<bool>
X86AlignBranchBoundaryHotOnly("x86-align-branch-boundary-hot-only",
cl::desc("only apply branch boundary alignment in hot code"),
cl::init(true),
cl::cat(BoltOptCategory));

size_t padFunction(std::map<std::string, size_t> &FunctionPadding,
const cl::list<std::string> &Spec,
const BinaryFunction &Function) {
Expand Down Expand Up @@ -214,7 +204,7 @@ void BinaryEmitter::emitAll(StringRef OrgSecPrefix) {
if (RuntimeLibrary *RtLibrary = BC.getRuntimeLibrary())
RtLibrary->emitBinary(BC, Streamer);

BC.getTextSection()->setAlignment(Align(opts::AlignText));
BC.getTextSection()->setAlignment(Align(BC.AlignText));

emitFunctions();

Expand Down Expand Up @@ -246,15 +236,15 @@ void BinaryEmitter::emitFunctions() {
bool Emitted = false;

// Turn off Intel JCC Erratum mitigation for cold code if requested
if (HasProfile && opts::X86AlignBranchBoundaryHotOnly &&
if (HasProfile && BC.X86AlignBranchBoundaryHotOnly &&
!Function->hasValidProfile())
Streamer.setAllowAutoPadding(false);

FunctionLayout &Layout = Function->getLayout();
Emitted |= emitFunction(*Function, Layout.getMainFragment());

if (Function->isSplit()) {
if (opts::X86AlignBranchBoundaryHotOnly)
if (BC.X86AlignBranchBoundaryHotOnly)
Streamer.setAllowAutoPadding(false);

assert((Layout.fragment_size() == 1 || Function->isSimple()) &&
Expand Down Expand Up @@ -317,16 +307,16 @@ bool BinaryEmitter::emitFunction(BinaryFunction &Function,
// Set section alignment to at least maximum possible object alignment.
// We need this to support LongJmp and other passes that calculates
// tentative layout.
Section->ensureMinAlignment(Align(opts::AlignFunctions));
Section->ensureMinAlignment(Align(BC.AlignFunctions));

Streamer.emitCodeAlignment(Function.getMinAlign(), &*BC.STI);
Streamer.emitCodeAlignment(Function.getMinAlign(), *BC.STI);
uint16_t MaxAlignBytes = FF.isSplitFragment()
? Function.getMaxColdAlignmentBytes()
: Function.getMaxAlignmentBytes();
if (MaxAlignBytes > 0)
Streamer.emitCodeAlignment(Function.getAlign(), &*BC.STI, MaxAlignBytes);
Streamer.emitCodeAlignment(Function.getAlign(), *BC.STI, MaxAlignBytes);
} else {
Streamer.emitCodeAlignment(Function.getAlign(), &*BC.STI);
Streamer.emitCodeAlignment(Function.getAlign(), *BC.STI);
}

if (size_t Padding = opts::padFunctionBefore(Function)) {
Expand Down Expand Up @@ -457,9 +447,9 @@ void BinaryEmitter::emitFunctionBody(BinaryFunction &BF, FunctionFragment &FF,
// Track the first emitted instruction with debug info.
bool FirstInstr = true;
for (BinaryBasicBlock *const BB : FF) {
if ((opts::AlignBlocks || opts::PreserveBlocksAlignment) &&
if ((BC.AlignBlocks || BC.PreserveBlocksAlignment) &&
BB->getAlignment() > 1)
Streamer.emitCodeAlignment(BB->getAlign(), &*BC.STI,
Streamer.emitCodeAlignment(BB->getAlign(), *BC.STI,
BB->getAlignmentMaxBytes());
Streamer.emitLabel(BB->getLabel());
if (!EmitCodeOnly) {
Expand Down Expand Up @@ -537,7 +527,7 @@ void BinaryEmitter::emitConstantIslands(BinaryFunction &BF, bool EmitColdPart,
const uint16_t Alignment = OnBehalfOf
? OnBehalfOf->getConstantIslandAlignment()
: BF.getConstantIslandAlignment();
Streamer.emitCodeAlignment(Align(Alignment), &*BC.STI);
Streamer.emitCodeAlignment(Align(Alignment), *BC.STI);

if (!OnBehalfOf) {
if (!EmitColdPart)
Expand Down
32 changes: 25 additions & 7 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,6 @@ static cl::opt<bool> NoScan(
"slower binary)"),
cl::Hidden, cl::cat(BoltOptCategory));

cl::opt<bool>
PreserveBlocksAlignment("preserve-blocks-alignment",
cl::desc("try to preserve basic block alignment"),
cl::cat(BoltOptCategory));

static cl::opt<bool> PrintOutputAddressRange(
"print-output-address-range",
cl::desc(
Expand Down Expand Up @@ -1284,6 +1279,29 @@ BinaryFunction::disassembleInstructionAtOffset(uint64_t Offset) const {
return std::nullopt;
}

uint64_t
BinaryFunction::getInstructionSequenceLength(uint64_t Offset,
uint64_t MinLength) const {
assert(Offset + MinLength <= MaxSize && "Invalid offset / min length");
ErrorOr<ArrayRef<unsigned char>> FunctionData = getData();
assert(FunctionData && "Cannot get function as data");
uint64_t Current = Offset;
const uint64_t Target = Offset + MinLength;
while (Current < Target) {
MCInst Instr;
uint64_t InstrSize = 0;
const uint64_t InstrAddress = getAddress() + Current;
[[maybe_unused]] MCDisassembler::DecodeStatus Res =
BC.DisAsm->getInstruction(Instr, InstrSize,
FunctionData->slice(Current), InstrAddress,
nulls());
assert(Res != MCDisassembler::DecodeStatus::Fail &&
"Function has been disassembled previously");
Current += InstrSize;
}
return Current - Offset;
}

Error BinaryFunction::disassemble() {
NamedRegionTimer T("disassemble", "Disassemble function", "buildfuncs",
"Build Binary Functions", opts::TimeBuild);
Expand Down Expand Up @@ -2351,7 +2369,7 @@ Error BinaryFunction::buildCFG(MCPlusBuilder::AllocatorIdTy AllocatorId) {
// Always create new BB at branch destination.
PrevBB = InsertBB ? InsertBB : PrevBB;
InsertBB = addBasicBlockAt(LI->first, LI->second);
if (opts::PreserveBlocksAlignment && IsLastInstrNop)
if (BC.PreserveBlocksAlignment && IsLastInstrNop)
InsertBB->setDerivedAlignment();

if (PrevBB)
Expand Down Expand Up @@ -2388,7 +2406,7 @@ Error BinaryFunction::buildCFG(MCPlusBuilder::AllocatorIdTy AllocatorId) {
Label = BC.Ctx->createNamedTempSymbol("FT");
}
InsertBB = addBasicBlockAt(Offset, Label);
if (opts::PreserveBlocksAlignment && IsLastInstrNop)
if (BC.PreserveBlocksAlignment && IsLastInstrNop)
InsertBB->setDerivedAlignment();
updateOffset(LastInstrOffset);
}
Expand Down
Loading