Skip to content

[flang][fold] fix bug with folding min/max #144162

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

Closed
wants to merge 669 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
669 commits
Select commit Hold shift + click to select a range
97c5494
[llvm-cov] Add support for baseline coverage (#117910)
fmeum Jun 13, 2025
70f785a
MC: Add MCAsmInfo::printExpr to replace MCExpr::print
MaskRay Jun 13, 2025
60fc15f
[instsimplify] Add tests for missing vp.reverse simplifications
preames Jun 13, 2025
3747e6e
[X86] X86FixupInstTuning - add dbg message for each instruction repla…
RKSimon Jun 13, 2025
89715fb
[HLSL][SPIRV] Use resource names (#143412)
s-perron Jun 13, 2025
337ad46
[MLIR][AMDGPU] Fix bug in GatherToLDSOpLowering, get the correct MemR…
dhernandez0 Jun 13, 2025
02fcd4f
MC,SPARC: Replace SparcMCExpr with MCSpecifierExpr
MaskRay Jun 13, 2025
20c6239
[CIR] Change default assumption about allowing builtins (#144004)
andykaylor Jun 13, 2025
88eb2b1
[mlir][spirv] Add definition of OpImageRead (#144038)
IgWod-IMG Jun 13, 2025
354bae3
[libc] Implemented wmemmove (#142245)
uzairnawaz Jun 13, 2025
5b66c7e
VE: Replace VEMCExpr::printImpl with printSpecifierExpr
MaskRay Jun 13, 2025
9c8a3e3
[mlir] Forward **kwargs through gentbl_shard_rule (#144001)
rnk Jun 13, 2025
41e449a
[lldb] Include unistd.h for _exit in multi-process-driver.cpp
JDevlieghere Jun 13, 2025
43a8a71
Revert "[llvm-cov] Add support for baseline coverage" (#144121)
keith Jun 13, 2025
b62541e
[LLD][Cygwin] Implement --dll-search-prefix (#143263)
kikairoya Jun 13, 2025
04ffa9c
[tosa] Add duplicate indices check for Scatter (#143736)
Tai78641 Jun 13, 2025
e97dbde
[InstCombine] Fold shuffles through all trivially vectorizable intrin…
lukel97 Jun 13, 2025
cb2e1db
Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest." (#143972)
vonosmas Jun 13, 2025
764644f
[SPIRV] Fix ExecutionMode_fragment.ll test (#144116)
s-perron Jun 13, 2025
e8b73d6
[libc] Fix bugs found when testing with all headers (#144049)
saturn691 Jun 13, 2025
15f3814
[CIR][NFC] Fix forrange.cpp test (#144123)
andykaylor Jun 13, 2025
ee7e9c9
[CIR] Update isSized with upstreamed types (#143960)
AmrDeveloper Jun 13, 2025
caeac5c
[bazel] Update llvm-config.h and disable DebugLoc tracking (#144125)
rnk Jun 13, 2025
a5645c6
[libc][NFC] clean internal fd handling (#143991)
michaelrj-google Jun 13, 2025
db430e4
[mlir][xegpu] add support for structure control flow ops in workgroup…
chencha3 Jun 13, 2025
7523aea
[TableGen] Avoid evaluating RHS of a BinOp until short-circuit is com…
mshockwave Jun 13, 2025
849600a
[IR2Vec] Minor vocab changes and exposing weights (#143200)
svkeerthy Jun 13, 2025
7239421
[clang-scan-deps] Implement P2223R2 for DependencyDirectiveScanner.cp…
naveen-seth Jun 13, 2025
0167d93
Revert "Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest.…
vonosmas Jun 13, 2025
3dc49e6
[libc] Fix missing errno include in fuzzer (#144132)
michaelrj-google Jun 13, 2025
1998ad1
Revert "[mlir][vector] Fix for WarpOpScfForOp failure when scf.for ha…
charithaintc Jun 13, 2025
3390849
[mlir][tensor] Fix `getReassociationForCollapse` for tensor/scalar re…
AGindinson Jun 13, 2025
cb0f379
Fix and reapply IR PGO support for Flang (#142892)
fanju110 Jun 13, 2025
91b830e
[bazel] Fix XeGpu deps for 5578bcbcfd25c (#144133)
rnk Jun 13, 2025
aff5f02
[InstCombine] Preserve NSW/NUW flags when folding const BOp with min/…
AlexMaclean Jun 13, 2025
08a3a25
[VPlan] Manage Sentinel value for FindLastIV in VPlan. (#142291)
fhahn Jun 13, 2025
a6ed044
[CIR] Support for static variables (#143980)
andykaylor Jun 13, 2025
1914448
[AMDGPU] Extended vector promotion to aggregate types. (#143784)
zGoldthorpe Jun 13, 2025
e83ffc7
[gn] port cc365331af42
nico Jun 13, 2025
6dfe783
[BPF] Report an warning if certain insn imm operand cannot fit in 32b…
yonghong-song Jun 13, 2025
30601f6
Revert "[Clang] Added explanation why `is_constructible` evaluated to…
cor3ntin Jun 13, 2025
f2b944b
Reland "[llvm-cov] Add support for baseline coverage" (#144130)
fmeum Jun 13, 2025
3986934
[clang][docs][RISCV] Prepend the HelpText for -mrvv-vector-bits into …
topperc Jun 13, 2025
e233c25
[bazel] Add missing dep for 52d34865b9db3485c (#144147)
rnk Jun 13, 2025
92aee9f
[CIR] Enable floating point casts (#144142)
andykaylor Jun 13, 2025
dba72d0
[CIR] Handle character literal values (#144141)
andykaylor Jun 13, 2025
76c88dc
[LV] Fix test line and regen an autogen test
preames Jun 13, 2025
a7b273e
[LV] Use createIterationCountCheck during epilogue skeleton creation.
fhahn Jun 13, 2025
5966587
Fix string_length function so that it always returns. (#144148)
amykhuang Jun 13, 2025
b9b0826
[memprof] Use testing::IsEmpty (NFC) (#144096)
kazutakahirata Jun 13, 2025
f9fc4e7
[Vectorize] Use llvm::drop_begin (NFC) (#144098)
kazutakahirata Jun 13, 2025
69055e6
[SPIRV] Use llvm::all_of (NFC) (#144099)
kazutakahirata Jun 13, 2025
e3ebe60
[IR] Remove a redundant control flow statement (NFC) (#144100)
kazutakahirata Jun 13, 2025
58119d5
WholeProgramDevirt: Fix importing in llvm.type.checked.load case.
pcc Jun 13, 2025
17f3128
[bazel] Add missing errno deps one more time
rnk Jun 13, 2025
d4e24d2
[Cygwin] Define LLVM_ABI for Cygwin (#143222)
kikairoya Jun 13, 2025
ed21707
[CodeGen][COFF] Always emit CodeView compiler info on Windows targets…
cjacek Jun 13, 2025
a55026a
[CIR] Extend VecShuffleOp verifier to catch invalid index (#143262)
AmrDeveloper Jun 13, 2025
64588c3
[LLD][COFF] Fix ARM64X CHPE exception data size relocation when no x8…
cjacek Jun 13, 2025
1e9cffa
[Clang] Relax DICompileUnit producer check in debug-info-coff.cpp tes…
cjacek Jun 13, 2025
10d4dee
llvm-lto2: Add print-guid subcommand.
pcc Jun 13, 2025
1a72966
[libc] Output all headers with LIBC_CONF_OUTPUT_ALL_HEADERS (#144114)
saturn691 Jun 13, 2025
7f4f227
[bazel][libc] Add missing deps after 51689c9df2fbb81aab1ff802f3efb86c…
slackito Jun 13, 2025
8855bae
Turn LIBC_COPT_STRING_UNSAFE_WIDE_READ on by default (#144163)
amykhuang Jun 13, 2025
07f542c
Revert "Turn LIBC_COPT_STRING_UNSAFE_WIDE_READ on by default" (#144167)
amykhuang Jun 13, 2025
920fb71
[MSAN] handle assorted AVX permutations (#143462)
fmayer Jun 13, 2025
e3f33e3
[clang-doc] remove default label on some switches (#143919)
evelez7 Jun 13, 2025
ea71811
[ConstantFolding] Fold deinterleave2 of any splat vector not just zer…
topperc Jun 14, 2025
dd8189c
[bazel] fix mlir/tblgen.bzl formatting after 6e988bd33f5fa8a529ef9208…
slackito Jun 14, 2025
f519b3a
[Cygwin] CYGWIN is not WIN32 in current CMake (#143130)
kikairoya Jun 14, 2025
cc327ae
[RISCV] Use unsigned instead of uint16_t for the Opcode argument to g…
topperc Jun 14, 2025
d12ce8f
MCObjectStreamer: Replace getAssemblerPtr with getAssembler
MaskRay Jun 14, 2025
abd5eab
[RISCV] Use RISCVII::getVecPolicyOpNum instead of making assumptions.…
topperc Jun 14, 2025
bf41c06
[RISCV] Simplify macros used by RISCVInstrInfo::convertToThreeAddress…
topperc Jun 14, 2025
c885d8c
[RISCV] Simplify macros used for commuting vector multiply-accumulate…
topperc Jun 14, 2025
933b703
[Cygwin] Don't use version script for Cygwin target (#143133)
kikairoya Jun 14, 2025
3f5f861
[InstCombine] Avoid folding `select(umin(X, Y), X)` with min/max valu…
thevar1able Jun 14, 2025
93661ad
[MSan] Fix minor issues in testcases (#144073)
Camsyn Jun 14, 2025
fb8cbfc
[clang-format] Fix a bug in annotating braces (#144095)
owenca Jun 14, 2025
a7f2d06
[clang-tidy][NFC] change patterns 'anyOf(..., anything())' to 'option…
vbvictor Jun 14, 2025
08a7cec
[clang] fix infinite recursion (#143244)
Backl1ght Jun 14, 2025
0574ea1
[VPlan] Address post-commit comments for f68848015f62.
fhahn Jun 14, 2025
388239c
CMake: Fix LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to be 1 or 0.
chapuni Jun 14, 2025
875e2f3
[CIR] Upstream CreateOp for ComplexType with folder (#143192)
AmrDeveloper Jun 14, 2025
7fafa0e
[Clang] Fix fix-it hint regression from #143460 (#144069)
rkirsling Jun 14, 2025
5d333f7
[llvm] [cmake] Use pkg-config to obtain libffi search hints (#144221)
mgorny Jun 14, 2025
28151bd
[OpenMP][clang] declare mapper: fix handling of nested types (#143504)
ro-i Jun 14, 2025
70b3fe8
[AVR] Add support for many new AVR MCUs (#143914)
tomtor Jun 14, 2025
205473f
Revert "[AVR] Add support for many new AVR MCUs (#143914)"
kazutakahirata Jun 14, 2025
59c3804
[LV] Add test case with branch weights.
fhahn Jun 14, 2025
435f3bf
Reapply "[VPlan] Set branch weight metadata on middle term in VPlan (…
fhahn Jun 14, 2025
aa02720
[SelectionDAG] Take passthru into account when widening ISD::MLOAD (#…
mshockwave Jun 14, 2025
720f2e2
[utils] Add "aarch64-apple-macosx" triple to update_llc_test_checks.p…
tomershafir Jun 14, 2025
76e603d
[Clang] add fix-it hints for unknown attributes (#141305)
a-tarasyuk Jun 14, 2025
042dd1d
[mlir][nvvm][NFC] Fix typo in TargetAttr (#144159)
clementval Jun 15, 2025
4b8f0d8
[clang][cmake] Don't pass -fno-strict-aliasing for GCC
thesamesam Jun 14, 2025
8289beb
[RISCV] Remove B and Zbc extension from Andes series cpus. (#144022)
tclin914 Jun 15, 2025
af305b1
[libc++] P2944R3: Constrained comparisons - update `reference_wrapper…
H-G-Hristov Jun 15, 2025
2edfc24
[mlir] Compare std::optional<T> to values directly (NFC) (#144241)
kazutakahirata Jun 15, 2025
edeedcd
[RISCV] Use StringRef in a range-based for loop (NFC) (#144243)
kazutakahirata Jun 15, 2025
5526a6d
[mlir][bzl] Add CAPIIndex rule. (#144248)
jpienaar Jun 15, 2025
f680843
[ValueTracking] Infer `X | Y != 0` from `X != Y` (#117443)
dtcxzyw Jun 15, 2025
44a2e6e
[ValueTracking] Add subtraction support for setLimitsForBinOp (#143618)
AZero13 Jun 15, 2025
abe3997
[CostModel] Mark all TTIImpls as final. NFC (#143404)
davemgreen Jun 15, 2025
825881e
[GlobalISel] Split Legalizer debug ouput into paragraphs. NFC (#143427)
davemgreen Jun 15, 2025
eb3844c
[rtsan] Fix issue where close test would lead to crash (#144017)
cjappl Jun 15, 2025
6b3751c
[rtsan] Fix issue when intercepted function was not execve in test (#…
cjappl Jun 15, 2025
6410f38
[clang][bytecode] Avoid revisiting decomposition decl in visitDeclRef…
Lancern Jun 15, 2025
9b33f70
[X86] shuffle-blend.ll - regenerate test checks
RKSimon Jun 15, 2025
b4e2a39
[modularize] Use range-based for loops (NFC) (#144244)
kazutakahirata Jun 15, 2025
aa3c7a7
[TableGen] Use range-based for loops (NFC) (#144250)
kazutakahirata Jun 15, 2025
df67f27
[lld] Use range-based for loops (NFC) (#144251)
kazutakahirata Jun 15, 2025
57a5c75
[Sema] Use a range-based for loop (NFC) (#144252)
kazutakahirata Jun 15, 2025
6d14414
VE: Rename VEMCExpr::VK_ to VE::S_
MaskRay Jun 15, 2025
980d666
[VPlan] Only skip induction phis in planContainsAdditionalSimps (NFC).
fhahn Jun 15, 2025
a84fee3
MC: Add MCSpecifierExpr::create
MaskRay Jun 15, 2025
536eba5
MC: Add MCAsmInfo::evaluateAsRelocatableImpl and replace VEMCExpr wit…
MaskRay Jun 15, 2025
0864c07
Xtensa: Remove unneeded XtensaMCExpr::create calls
MaskRay Jun 15, 2025
9e18914
Xtensa: Migrate to newer relocation specifier representation
MaskRay Jun 15, 2025
0dd6311
SPARC: Remove dead specifier code from asm operand printer
MaskRay Jun 15, 2025
79a6447
[Clang] Fix typo in is_replaceable diagnostic (#144247)
rkirsling Jun 15, 2025
42d74ef
M68k: Replace M68kMCExpr::VK_ to M68k::S_
MaskRay Jun 15, 2025
291752b
M68k: Remove M68kMCExpr
MaskRay Jun 15, 2025
90f25f8
PowerPC: Rename PPCMCExpr::VK_ to PPC::S_
MaskRay Jun 15, 2025
8d8af74
PowerPC: Replace MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 15, 2025
40e5f9f
[LV] Add users to some first-order recurrence tests.
fhahn Jun 15, 2025
3fbe0c0
[VPlan] Mark VPFirstOrderRecurrencePHI as not reading/writing memory.
fhahn Jun 15, 2025
5656226
PowerPC: Migrate to newer relocation specifier representation
MaskRay Jun 15, 2025
970129e
[clang-reorder-fields] Use expanded location for macros (#142147)
vvuksanovic Jun 15, 2025
f8b3acc
LoongArch: Migrate to MCAsmInfo::printExpr
MaskRay Jun 15, 2025
a7a065e
RISCV: Rename RISCVMCExpr::VK_ to RISCV::S_
MaskRay Jun 15, 2025
b5207a2
RISCV: Rename RISCVMCExpr::VK_ to RISCV::S_
MaskRay Jun 15, 2025
5c7f628
RISCV: Move RISCVMCExpr functions to RISCVMCAsmInfo or RISCVMCAsmBackend
MaskRay Jun 15, 2025
45a5253
RISCV: Replace MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 15, 2025
9f34708
RISCV: Replace RISCVMCExpr with MCSpecifierExpr
MaskRay Jun 15, 2025
06d1d82
AArch64: Replace MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 15, 2025
39f017f
MIPS: Replace MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
6960fd8
M68k: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
2a4b2b1
AMDGPU: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
c3111e0
X86: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
f96e801
ARM: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
22625e8
SystemZ: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
c52cfe9
Lanai: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
79f47ac
Hexagon: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
6963b01
NVPTX: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
9eb2a74
Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
d0a9278
MIPS: Rename MipsMCExpr::MEK_ to Mips::S_
MaskRay Jun 16, 2025
ee61960
[AVR] Add many new AVR MCU model definitions (#144229)
tomtor Jun 16, 2025
3ab75b7
[clang-format][NFC] Clean up DisallowLineBreaks lambda (#144255)
owenca Jun 16, 2025
3bc034f
MIPS: Move MipsMCExpr functions to MipsMCAsmInfo
MaskRay Jun 16, 2025
35dcd63
WebAssembly: Move runtime libcall setting out of TargetLowering (#142…
arsenm Jun 16, 2025
6908725
MIPS: Reduce MipsMCExpr uses
MaskRay Jun 16, 2025
d98a0a7
SystemZ: Rename SystemZMCExpr::VK_ to SystemZ::S_
MaskRay Jun 16, 2025
1164ba5
[RISCV] Add GetVTypeMinimalPredicates for the operation supported by …
tclin914 Jun 16, 2025
84c58f7
SystemZ: Migrate to newer relocation specifier representation
MaskRay Jun 16, 2025
fe22bae
[gn build] Port b591f6dad407
llvmgnsyncbot Jun 16, 2025
edc8b28
[LLD][ELF][RISCV][Zicfilp][Zicfiss] Support `-z zicfilp=` and `-z zic…
mylai-mtk Jun 16, 2025
d5af4af
[clang] Use StringRef in range-based for loops (NFC) (#144242)
kazutakahirata Jun 16, 2025
77fb468
[TableGen] Use range-based for loops (NFC) (#144283)
kazutakahirata Jun 16, 2025
7717288
[clang] Remove unused includes (NFC) (#144285)
kazutakahirata Jun 16, 2025
8524b75
[InstCombine] Propagate FMF from fptrunc when folding `fptrunc fabs(X…
dtcxzyw Jun 16, 2025
0066a65
[RISCV] Fix incorrect predicates for fp16 permutation intrinsics (#14…
tclin914 Jun 16, 2025
b8e7ae6
AVR: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
MaskRay Jun 16, 2025
c7ec67c
MC: Adjust -show-inst output for MCExpr
MaskRay Jun 16, 2025
bcae602
Lanai: Migrate to the new relocation specifier representation
MaskRay Jun 16, 2025
bf1f77b
[gn build] Port 05a9ad977624
llvmgnsyncbot Jun 16, 2025
b162b9f
AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo
MaskRay Jun 16, 2025
0c81de2
[clang][bytecode] Fix calling operator new with nothrow/align paramet…
tbaederr Jun 16, 2025
66a0049
ARM: Rename ARMMCExpr::VK_ to ARM::S_
MaskRay Jun 16, 2025
d88b154
[AArch64][GlobalISel] Add test coverage for fdiv-combine.ll. NFC
davemgreen Jun 16, 2025
0f26446
[RISCV] Use `GetVTypeMinimalPredicates` instead of `GetVTypePredicate…
tclin914 Jun 16, 2025
857c488
[RISCV] Change input register type for QC_SWM and QC_SWMI (#144294)
svs-quic Jun 16, 2025
2fd3657
[aarch64] Fix Arm64EC libcall lowering after recent refactoring. (#14…
efriedma-quic Jun 16, 2025
bb603d2
[MLIR][ODS] Optionally generate public C++ functions for attribute co…
xlauko Jun 16, 2025
42cd08a
ARM: Migrate to the new relocation specifier representation
MaskRay Jun 16, 2025
0541a65
MIPS: Remove unneeded printImpl
MaskRay Jun 16, 2025
3b103f7
[InstCombine] Combine trunc (lshr X, BW-1) to i1 --> icmp slt X, 0 (#…
mayanksolanki393 Jun 16, 2025
dbca853
[clang] Fix -fclang-abi-compat for clang 20 (#144109)
Fznamznon Jun 16, 2025
700d839
[LV] Strip unnecessary make_{pair,optional} (NFC) (#141924)
artagnon Jun 16, 2025
a6579aa
[ValueTracking] Remove opcode whitelist from matchSimpleRecurrence. (…
rj-jesus Jun 16, 2025
33061a3
[BOLT] Fix LLVM_APPEND_VC_REV support (#142410)
paschalis-mpeis Jun 16, 2025
3d482c5
[llvm-debuginfo-analyzer] Fix ODR violation in llvm::logicalview::LVO…
jalopezg-git Jun 16, 2025
92dcebe
[ValueTracking] Remove unused variable in matchSimpleRecurrence (NFC)…
rj-jesus Jun 16, 2025
091f264
[LV] Fix MVE regression from #132190 (#141736)
SamTebbs33 Jun 16, 2025
b18b25d
[LV] Use vscale for tuning when updating profile information (#143690)
david-arm Jun 16, 2025
d1001c4
[libc++] Remove a few workarounds for old Clang versions (#143858)
philnik777 Jun 16, 2025
81613a6
[clang] Fix PointerAuth semantics of cpp_trivially_relocatable (#143969)
ojhunt Jun 16, 2025
4d21dfb
[X86] X86FixupInstTuning - prefer VPBLENDD to VPBLENDW shuffles on AV…
RKSimon Jun 16, 2025
3116918
[MemoryBuiltins] Support allocas in getInitialValueOfAllocation (NFC)
nikic Jun 16, 2025
d471095
[InstCombine][Docs] Update InstCombine contributor guide (#144228)
dtcxzyw Jun 16, 2025
cf23aad
[MLIR][Transform] apply_registered_pass: support ListOptions (#144026)
rolfmorel Jun 16, 2025
2c1cd5a
Fix some "not all control paths return" warnings; NFC
AaronBallman Jun 16, 2025
8d96d09
Fix a tablegen pattern that results in a warning; NFC
AaronBallman Jun 16, 2025
070dfee
[Flang] Add llvm-profdata to list of tools to be built (#144325)
kiranchandramohan Jun 16, 2025
ab06b2c
[X86] fixup-blend.ll - add commuted load test coverage
RKSimon Jun 16, 2025
23cd665
Revert "AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo"
dyung Jun 16, 2025
cd65d48
[LSR] Make canHoistIVInc allow non-integer types (#143707)
john-brawn-arm Jun 16, 2025
0b1e774
[TableGen] Use default member initializers. NFC. (#144349)
jayfoad Jun 16, 2025
f41e0f2
[mlir][emitc] Support 'emitc::LValueType' in 'emitc::VerbatimOp' (#14…
EtoAndruwa Jun 16, 2025
4254f45
[mlir] Expose linearize/delinearize lowering transforms (#144156)
Max191 Jun 16, 2025
7610ee4
[DAG] Fold (and X, (add (not Y), Z)) -> (and X, (not (sub Y, Z))). (#…
simonzgx Jun 16, 2025
b82c18c
[InstCombine] fold icmp with add/sub instructions having the same ope…
Acthinks Jun 16, 2025
2cd4520
Revert "[AMDGPU] Extended vector promotion to aggregate types." (#144…
zGoldthorpe Jun 16, 2025
c170276
Fix diagnostic documentation build errors
AaronBallman Jun 16, 2025
66fe7eb
[clang][Parser] Fix crash on malformed using declaration in constexpr…
el-ev Jun 16, 2025
6a724e6
[X86] LowerCONCAT_VECTORS - pull out repeated SDLoc(). NFC.
RKSimon Jun 16, 2025
36c8431
[OMPIRBuilder] - Make offloading input data persist for deferred targ…
bhandarkar-pranav Jun 16, 2025
c90672f
[IndVars] Add tests showing missed simplifications.
fhahn Jun 16, 2025
405833c
[AArch64][SelectionDAG] Enable new partial reduction lowering by defa…
NickGuy-Arm Jun 16, 2025
e456ba3
[MLIR][XeGPU] Add unroll patterns for scatter ops (#143602)
Jianhui-Li Jun 16, 2025
b9df332
[DirectX] Fix bug where Flatten arrays was only using last index (#14…
farzonl Jun 16, 2025
92936c2
[OpenMP] Fix warnings
kazutakahirata Jun 16, 2025
0589ff7
[Flang] NFC: Update test to work on Mac (#144253)
kiranchandramohan Jun 16, 2025
2c71ed3
[llvm][DebugInfo] Encode DW_AT_object_pointer on method declarations …
Michael137 Jun 16, 2025
7ed4a9a
[lldb] Remove a redundant control flow statement (NFC) (#144284)
kazutakahirata Jun 16, 2025
be62191
[llvm] Remove unused includes (NFC) (#144293)
kazutakahirata Jun 16, 2025
39a2fbd
Annotate potentially unused variables introduced in #133499 (#144379)
basioli-k Jun 16, 2025
a106594
AVR: Rename AVRMCExpr::VK_ to AVR::S_
MaskRay Jun 16, 2025
fb38004
[IPO] Added attributor for identifying invariant loads (#141800)
zGoldthorpe Jun 16, 2025
ae7dd75
[flang][OpenMP] Put taskgroup in a new scope (#144122)
luporl Jun 16, 2025
37c598f
[mlir][spirv] Add definition for GL Length (#144041)
IgWod-IMG Jun 16, 2025
f3f4eb0
[InstCombine] Iterative replacement in PtrReplacer (#137215)
gandhi56 Jun 16, 2025
f41a30d
[lldb-dap] show function name in the instruction comment. (#144070)
da-viper Jun 16, 2025
4c8a674
AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo
MaskRay Jun 16, 2025
86bb112
[TargetLowering][RISCV] Allow scalable non-simple EVTs to be split ev…
topperc Jun 16, 2025
dc7f11a
Revert "[InstCombine] Iterative replacement in PtrReplacer" (#144394)
gandhi56 Jun 16, 2025
ee82951
[InstSimplify] Add basic simplifications for vp.reverse (#144112)
preames Jun 16, 2025
b9b0429
[RISCV][TTI] Refine reverse shuffle costing for high LMUL (#144155)
preames Jun 16, 2025
3279036
[CIR] Implement folder for VecCmpOp (#143322)
AmrDeveloper Jun 16, 2025
49d8539
[libc] Removed public function calls in table.h (#144168)
sribee8 Jun 16, 2025
8c5cdb6
[llvm] annotate interfaces in Passes for DLL export (#143794)
andrurogerz Jun 16, 2025
8e5ab73
[llvm] annotate interfaces in XRay for DLL export (#143765)
andrurogerz Jun 16, 2025
9118d8b
[NFC][mlir][tensor] Use `ValueRange` instead of `SmallVector` in `ten…
fabianmcg Jun 16, 2025
98817f2
[llvm] annotate interfaces in llvm/ObjectYAML for DLL export (#143763)
andrurogerz Jun 16, 2025
d343232
[CIR] Upstream ComplexType ImaginaryLiteral (#144223)
AmrDeveloper Jun 16, 2025
4556777
[build] Fixed LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING handling. (#144391)
vzakhari Jun 16, 2025
adb6ee8
[RISCV] Use RISCV::RVVBitsPerBlock instead of 64 in getLMUL1VT. NFC (…
topperc Jun 16, 2025
4158cca
[lldb-dap] Use structured types for stepInTargets request (#144072)
da-viper Jun 16, 2025
184f831
[CIR][NFC] Refactor constant pointer l-value handling (#144165)
andykaylor Jun 16, 2025
0c6e8aa
[NFC] Remove unused test code from ELFObjectFileTest.cpp
rlavaee Jun 16, 2025
e0edb13
[Matrix] Hoist IRBuilder<> out of Visit* functions. NFC (#144369)
jroelofs Jun 16, 2025
a338bca
[NFC][RootSignature] Use `llvm::EnumEntry` for serialization of Root …
inbelic Jun 16, 2025
12fc3f5
Remove unnecessary BOM from file; NFC
AaronBallman Jun 16, 2025
57f8fef
Revert "[RISCV] Remove B and Zbc extension from Andes series cpus." (…
AaronBallman Jun 16, 2025
76412eb
[Object][AMDGPU] Support REL relocations (#143966)
slinder1 Jun 16, 2025
111c8d6
[mlir][Vector] Support `vector.extract(xfer_read)` folding with dynam…
dcaballe Jun 16, 2025
ed372f5
[objcopy][MachO] Revert special handling of encryptable binaries (#14…
drodriguez Jun 16, 2025
7e934d9
add requested todo
akuhlens Jun 16, 2025
2b678f1
address feedback
akuhlens Jun 16, 2025
a29962f
fix tests
akuhlens Jun 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
115 changes: 41 additions & 74 deletions .ci/compute_projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
},
"lld": {"bolt", "cross-project-tests"},
# TODO(issues/132795): LLDB should be enabled on clang changes.
"clang": {"clang-tools-extra", "cross-project-tests"},
"clang": {"clang-tools-extra", "compiler-rt", "cross-project-tests"},
"clang-tools-extra": {"libc"},
"mlir": {"flang"},
# Test everything if ci scripts are changed.
# FIXME: Figure out what is missing and add here.
Expand All @@ -63,15 +64,7 @@

# This mapping describes runtimes that should be tested when the key project is
# touched.
DEPENDENT_RUNTIMES_TO_TEST = {
"clang": {"compiler-rt"},
"clang-tools-extra": {"libc"},
}
DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
"llvm": {"libcxx", "libcxxabi", "libunwind"},
"clang": {"libcxx", "libcxxabi", "libunwind"},
".ci": {"libcxx", "libcxxabi", "libunwind"},
}
DEPENDENT_RUNTIMES_TO_TEST = {"clang": {"libcxx", "libcxxabi", "libunwind"}}

EXCLUDE_LINUX = {
"cross-project-tests", # TODO(issues/132796): Tests are failing.
Expand Down Expand Up @@ -100,6 +93,9 @@
"cross-project-tests",
"flang",
"libc",
"libcxx",
"libcxxabi",
"libunwind",
"lldb",
"openmp",
"polly",
Expand All @@ -126,10 +122,10 @@
"polly": "check-polly",
}

RUNTIMES = {"libcxx", "libcxxabi", "libunwind", "compiler-rt", "libc"}
RUNTIMES = {"libcxx", "libcxxabi", "libunwind"}


def _add_dependencies(projects: Set[str], runtimes: Set[str]) -> Set[str]:
def _add_dependencies(projects: Set[str]) -> Set[str]:
projects_with_dependents = set(projects)
current_projects_count = 0
while current_projects_count != len(projects_with_dependents):
Expand All @@ -138,25 +134,9 @@ def _add_dependencies(projects: Set[str], runtimes: Set[str]) -> Set[str]:
if project not in PROJECT_DEPENDENCIES:
continue
projects_with_dependents.update(PROJECT_DEPENDENCIES[project])
for runtime in runtimes:
if runtime not in PROJECT_DEPENDENCIES:
continue
projects_with_dependents.update(PROJECT_DEPENDENCIES[runtime])
return projects_with_dependents


def _exclude_projects(current_projects: Set[str], platform: str) -> Set[str]:
if platform == "Linux":
to_exclude = EXCLUDE_LINUX
elif platform == "Windows":
to_exclude = EXCLUDE_WINDOWS
elif platform == "Darwin":
to_exclude = EXCLUDE_MAC
else:
raise ValueError(f"Unexpected platform: {platform}")
return current_projects.difference(to_exclude)


def _compute_projects_to_test(modified_projects: Set[str], platform: str) -> Set[str]:
projects_to_test = set()
for modified_project in modified_projects:
Expand All @@ -174,14 +154,25 @@ def _compute_projects_to_test(modified_projects: Set[str], platform: str) -> Set
):
continue
projects_to_test.add(dependent_project)
projects_to_test = _exclude_projects(projects_to_test, platform)
if platform == "Linux":
for to_exclude in EXCLUDE_LINUX:
if to_exclude in projects_to_test:
projects_to_test.remove(to_exclude)
elif platform == "Windows":
for to_exclude in EXCLUDE_WINDOWS:
if to_exclude in projects_to_test:
projects_to_test.remove(to_exclude)
elif platform == "Darwin":
for to_exclude in EXCLUDE_MAC:
if to_exclude in projects_to_test:
projects_to_test.remove(to_exclude)
else:
raise ValueError("Unexpected platform.")
return projects_to_test


def _compute_projects_to_build(
projects_to_test: Set[str], runtimes: Set[str]
) -> Set[str]:
return _add_dependencies(projects_to_test, runtimes)
def _compute_projects_to_build(projects_to_test: Set[str]) -> Set[str]:
return _add_dependencies(projects_to_test)


def _compute_project_check_targets(projects_to_test: Set[str]) -> Set[str]:
Expand All @@ -193,36 +184,24 @@ def _compute_project_check_targets(projects_to_test: Set[str]) -> Set[str]:
return check_targets


def _compute_runtimes_to_test(modified_projects: Set[str], platform: str) -> Set[str]:
def _compute_runtimes_to_test(projects_to_test: Set[str]) -> Set[str]:
runtimes_to_test = set()
for modified_project in modified_projects:
if modified_project not in DEPENDENT_RUNTIMES_TO_TEST:
continue
runtimes_to_test.update(DEPENDENT_RUNTIMES_TO_TEST[modified_project])
return _exclude_projects(runtimes_to_test, platform)
for project_to_test in projects_to_test:
if project_to_test in DEPENDENT_RUNTIMES_TO_TEST:
runtimes_to_test.update(DEPENDENT_RUNTIMES_TO_TEST[project_to_test])
if project_to_test in DEPENDENT_RUNTIMES_TO_BUILD:
runtimes_to_test.update(DEPENDENT_RUNTIMES_TO_BUILD[project_to_test])
return runtimes_to_test


def _compute_runtimes_to_test_needs_reconfig(
modified_projects: Set[str], platform: str
) -> Set[str]:
runtimes_to_test = set()
for modified_project in modified_projects:
if modified_project not in DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG:
def _compute_runtime_check_targets(projects_to_test: Set[str]) -> Set[str]:
check_targets = set()
for project_to_test in projects_to_test:
if project_to_test not in DEPENDENT_RUNTIMES_TO_TEST:
continue
runtimes_to_test.update(
DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG[modified_project]
)
return _exclude_projects(runtimes_to_test, platform)


def _compute_runtimes_to_build(
runtimes_to_test: Set[str], modified_projects: Set[str], platform: str
) -> Set[str]:
runtimes_to_build = set(runtimes_to_test)
for modified_project in modified_projects:
if modified_project in DEPENDENT_RUNTIMES_TO_BUILD:
runtimes_to_build.update(DEPENDENT_RUNTIMES_TO_BUILD[modified_project])
return _exclude_projects(runtimes_to_build, platform)
for runtime_to_test in DEPENDENT_RUNTIMES_TO_TEST[project_to_test]:
check_targets.add(PROJECT_CHECK_TARGETS[runtime_to_test])
return check_targets


def _get_modified_projects(modified_files: list[str]) -> Set[str]:
Expand All @@ -246,19 +225,10 @@ def _get_modified_projects(modified_files: list[str]) -> Set[str]:
def get_env_variables(modified_files: list[str], platform: str) -> Set[str]:
modified_projects = _get_modified_projects(modified_files)
projects_to_test = _compute_projects_to_test(modified_projects, platform)
runtimes_to_test = _compute_runtimes_to_test(modified_projects, platform)
runtimes_to_test_needs_reconfig = _compute_runtimes_to_test_needs_reconfig(
modified_projects, platform
)
runtimes_to_build = _compute_runtimes_to_build(
runtimes_to_test | runtimes_to_test_needs_reconfig, modified_projects, platform
)
projects_to_build = _compute_projects_to_build(projects_to_test, runtimes_to_build)
projects_to_build = _compute_projects_to_build(projects_to_test)
projects_check_targets = _compute_project_check_targets(projects_to_test)
runtimes_check_targets = _compute_project_check_targets(runtimes_to_test)
runtimes_check_targets_needs_reconfig = _compute_project_check_targets(
runtimes_to_test_needs_reconfig
)
runtimes_to_build = _compute_runtimes_to_test(projects_to_test)
runtimes_check_targets = _compute_runtime_check_targets(projects_to_test)
# We use a semicolon to separate the projects/runtimes as they get passed
# to the CMake invocation and thus we need to use the CMake list separator
# (;). We use spaces to separate the check targets as they end up getting
Expand All @@ -268,9 +238,6 @@ def get_env_variables(modified_files: list[str], platform: str) -> Set[str]:
"project_check_targets": " ".join(sorted(projects_check_targets)),
"runtimes_to_build": ";".join(sorted(runtimes_to_build)),
"runtimes_check_targets": " ".join(sorted(runtimes_check_targets)),
"runtimes_check_targets_needs_reconfig": " ".join(
sorted(runtimes_check_targets_needs_reconfig)
),
}


Expand Down
55 changes: 4 additions & 51 deletions .ci/compute_projects_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@ def test_llvm(self):
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)

Expand All @@ -50,10 +46,6 @@ def test_llvm_windows(self):
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)

Expand All @@ -74,10 +66,6 @@ def test_llvm_mac(self):
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)

Expand All @@ -87,21 +75,17 @@ def test_clang(self):
)
self.assertEqual(
env_variables["projects_to_build"],
"clang;clang-tools-extra;lld;llvm",
"clang;clang-tools-extra;compiler-rt;lld;llvm",
)
self.assertEqual(
env_variables["project_check_targets"],
"check-clang check-clang-tools",
"check-clang check-clang-tools check-compiler-rt",
)
self.assertEqual(
env_variables["runtimes_to_build"], "compiler-rt;libcxx;libcxxabi;libunwind"
env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)

Expand All @@ -120,10 +104,6 @@ def test_clang_windows(self):
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)

Expand All @@ -135,7 +115,6 @@ def test_bolt(self):
self.assertEqual(env_variables["project_check_targets"], "check-bolt")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_lldb(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -145,7 +124,6 @@ def test_lldb(self):
self.assertEqual(env_variables["project_check_targets"], "check-lldb")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_mlir(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -157,7 +135,6 @@ def test_mlir(self):
)
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_flang(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -167,7 +144,6 @@ def test_flang(self):
self.assertEqual(env_variables["project_check_targets"], "check-flang")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_invalid_subproject(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -177,15 +153,13 @@ def test_invalid_subproject(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_top_level_file(self):
env_variables = compute_projects.get_env_variables(["README.md"], "Linux")
self.assertEqual(env_variables["projects_to_build"], "")
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_exclude_runtiems_in_projects(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -195,7 +169,6 @@ def test_exclude_runtiems_in_projects(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_exclude_docs(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -205,7 +178,6 @@ def test_exclude_docs(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_exclude_gn(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -215,7 +187,6 @@ def test_exclude_gn(self):
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_ci(self):
env_variables = compute_projects.get_env_variables(
Expand All @@ -227,15 +198,10 @@ def test_ci(self):
"check-clang check-lld check-lldb check-llvm",
)
self.assertEqual(
env_variables["runtimes_to_build"],
"libcxx;libcxxabi;libunwind",
env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
"check-cxx check-cxxabi check-unwind",
)

Expand All @@ -249,19 +215,6 @@ def test_lldb(self):
env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
)
self.assertEqual(env_variables["runtimes_check_targets"], "")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_clang_tools_extra(self):
env_variables = compute_projects.get_env_variables(
["clang-tools-extra/CMakeLists.txt"], "Linux"
)
self.assertEqual(
env_variables["projects_to_build"], "clang;clang-tools-extra;lld;llvm"
)
self.assertEqual(env_variables["project_check_targets"], "check-clang-tools")
self.assertEqual(env_variables["runtimes_to_build"], "libc")
self.assertEqual(env_variables["runtimes_check_targets"], "check-libc")
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")


if __name__ == "__main__":
Expand Down
Loading