LLVM/project 0cad9b7llvm/unittests/TargetParser TripleTest.cpp

[llvm] Prefer the unknown vendor for SerenityOS triples (#185026)

No functional change. This patch updates the target-triple unit tests to
use the ones that we care about.
DeltaFile
+10-4llvm/unittests/TargetParser/TripleTest.cpp
+10-41 files

LLVM/project 088f740libclc CMakeLists.txt, libclc/cmake/modules CMakeTestCLCCompiler.cmake CMakeCLCInformation.cmake

[libclc] Add custom CMake language handling for OpenCL files (#185243)

Summary:
The current handling of `libclc` is to use custom clang jobs to compile
source files. This is the way we used to compile GPU libraries, but we
have largely moved away from this. The eventual goal is to simple be
able to use `clang` like a normal project. One barrier to this is the
lack of language support for OpenCL in CMake.

This PR uses CMake's custom language support to define a minimal OpenCL
language, largely just a wrapper around `clang -x cl`. This does
nothing, just enables the support. Future PRs will need to untangle the
mess of dependencies.

The 'link+opt' steps that we now do should be able to simply be done as
a custom `llvm-link` and `opt` job on the library, which isn't ideal but
it still better than the current state.
DeltaFile
+34-0libclc/cmake/modules/CMakeTestCLCCompiler.cmake
+26-0libclc/cmake/modules/CMakeCLCInformation.cmake
+18-0libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake
+13-0libclc/cmake/modules/CMakeCLCCompiler.cmake.in
+2-0libclc/CMakeLists.txt
+1-0libclc/cmake/modules/CMakeCLCCompilerTest.cl
+94-06 files

LLVM/project da134f0clang/lib/CodeGen CGHLSLBuiltins.cpp, clang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp SemaHLSL.cpp

[HLSL] Add Texture load to texture2d.

[SPIRV] Add the load level intrinsic to the spirv backend.

[HLSL] Implement operator[] for Texture2D

This change adds support for the subscript operator on Texture2D resources
in HLSL. The operator returns a pointer to the resource element using the
 intrinsic, matching the implementation for Buffer and RWBuffer.

Key changes:
- Updated  and  intrinsics
  to accept any coordinate type (allowing vector indices).
- Implemented Sema checks to verify that coordinate dimensions match the
  resource type (e.g., int2 for Texture2D).
- Fixed a bug where the  attribute was not being correctly
  applied to .
- Refactored  to improve parameter handling and
  address a TODO.

    [8 lines not shown]
DeltaFile
+294-37clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+154-4clang/lib/Sema/SemaHLSL.cpp
+82-14clang/lib/CodeGen/CGHLSLBuiltins.cpp
+95-0llvm/test/CodeGen/SPIRV/hlsl-resources/LoadLevel.ll
+61-6llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+55-0clang/test/CodeGenHLSL/resources/Texture2D-Load.hlsl
+741-6133 files not shown
+1,087-14039 files

LLVM/project b883091llvm/include/llvm/ExecutionEngine/Orc WaitingOnGraph.h

[ORC] Further simplify ContainerElementsMap::hoistDeps. NFCI. (#185242)

At the one call-site where the result of hoistDeps is used,
self-dependencies will already have been eliminated. That means we can
use the "deps changed" property that we're already computing rather than
tracking "deps graph changed" separately.
DeltaFile
+2-8llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
+2-81 files

LLVM/project a223164libcxx/include optional, libcxx/include/__iterator wrap_iter.h

[libc++][NFC] Simplify `optional::iterator` (#183230)

- Rename `__optional_iterator` into `__optional_iterator_base` and make
it part of the `__optional_{meow}_base` inheritance chain. This allows
us to get rid of a sketchy-looking downcast and shorten some code.
DeltaFile
+23-20libcxx/include/optional
+0-2libcxx/include/__iterator/wrap_iter.h
+23-222 files

LLVM/project d712e43llvm/test/CodeGen/AArch64 fp-maximumnum-minimumnum.ll, llvm/test/CodeGen/X86 wide-scalar-shift-by-byte-multiple-legalization.ll andnot-sink-not.ll

Rebase

Created using spr 1.3.7
DeltaFile
+1,561-2,812llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+2,071-1,930llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
+3,114-0llvm/test/CodeGen/X86/andnot-sink-not.ll
+969-2,001llvm/test/CodeGen/X86/bit-manip-i512.ll
+538-1,357llvm/test/CodeGen/X86/shift-i512.ll
+730-244mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+8,983-8,3441,211 files not shown
+42,311-22,3571,217 files

LLVM/project baac39clibclc/opencl/lib/amdgcn SOURCES, libclc/opencl/lib/amdgcn/async wait_group_events.cl

libclc: Add amdgpu wait_group_events (#185177)
DeltaFile
+23-0libclc/opencl/lib/amdgcn/async/wait_group_events.cl
+1-0libclc/opencl/lib/amdgcn/SOURCES
+24-02 files

LLVM/project d7ff97dlibcxx/utils/ci/lnt run-benchmarks

[libc++] Support build failures when running LNT benchmarks (#185234)

It's rare but possible for the codebase not to build. When that happens,
we should carry on and still submit an empty LNT report for that order,
otherwise we'll get stuck thinking that order hasn't been benchmarked
yet.
DeltaFile
+3-2libcxx/utils/ci/lnt/run-benchmarks
+3-21 files

LLVM/project 01d3479clang/test/CIR/CodeGenOpenACC private-clause-pointer-array-recipes-CtorDtor.cpp combined-reduction-clause-default-ops.cpp, clang/test/CIR/IR cmp.cir

[CIR] Change CmpOp assembly format to use bare keyword style

Update the assembly format of cir.cmp from the parenthesized style
  cir.cmp(gt, %a, %b) : !s32i, !cir.bool
to the bare keyword style used by other CIR ops like cir.cast:
  cir.cmp gt %a, %b : !s32i

The result type (!cir.bool) is now automatically inferred as it is
always cir::BoolType.
DeltaFile
+64-64clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
+60-60clang/test/CIR/IR/cmp.cir
+57-57clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
+57-57clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
+57-57clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
+57-57clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
+352-35282 files not shown
+1,321-1,29488 files

LLVM/project efdf43bclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Split CIR_UnaryOp into individual operations

Split the monolithic cir.unary operation (which dispatched on a
UnaryOpKind enum) into four separate operations: cir.inc, cir.dec,
cir.minus, and cir.not.

This follows the same pattern used when cir.binop was split into
individual binary operations (AddOp, SubOp, etc.).

Changes:
- Add CIR_UnaryOpInterface with getInput()/getResult() methods
- Add CIR_UnaryOp and CIR_UnaryOpWithOverflowFlag base classes
- Define IncOp, DecOp, MinusOp, NotOp with per-op folds
- Add Involution trait to NotOp for not(not(x)) -> x folding
- Replace createUnaryOp() with createInc/Dec/Minus/Not builders
- Split LLVM lowering into four separate patterns
- Split LoweringPrepare complex-type handling per unary op
- Update CIRCanonicalize and CIRSimplify for new op types
- Update all codegen files to use bool params instead of UnaryOpKind

    [6 lines not shown]
DeltaFile
+91-105clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+56-88clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+111-28clang/include/clang/CIR/Dialect/IR/CIROps.td
+62-62clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
+41-41clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
+36-36clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
+397-36076 files not shown
+1,390-1,36482 files

LLVM/project 516347alibc/src/__support/math ceill.h, libc/test/shared shared_math_test.cpp

link issue
DeltaFile
+2-13libc/src/__support/math/ceill.h
+3-5libc/test/shared/shared_math_test.cpp
+5-182 files

LLVM/project 7370190libclc/opencl/lib/amdgcn SOURCES, libclc/opencl/lib/amdgcn/printf __printf_alloc.cl

libclc: Add __printf_alloc implementation

AMDGPU OpenCL printf implementation emits a call to this helper
function.
DeltaFile
+36-0libclc/opencl/lib/amdgcn/printf/__printf_alloc.cl
+1-0libclc/opencl/lib/amdgcn/SOURCES
+37-02 files

LLVM/project 0482fe0llvm/test/CodeGen/WebAssembly ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[LLVM][WebAssembly] Regenerate ct.select test CHECK lines

Update CHECK lines to match the new constant-time AND/OR/XOR expansion
from the CT_SELECT legalization fix.
DeltaFile
+196-238llvm/test/CodeGen/WebAssembly/ctselect-fallback-vector.ll
+166-256llvm/test/CodeGen/WebAssembly/ctselect-fallback-patterns.ll
+129-201llvm/test/CodeGen/WebAssembly/ctselect-fallback.ll
+127-186llvm/test/CodeGen/WebAssembly/ctselect-fallback-edge-cases.ll
+10-16llvm/test/CodeGen/WebAssembly/ctselect-side-effects.ll
+628-8975 files

LLVM/project ef02361llvm/test/CodeGen/WebAssembly ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[ConstantTime][WebAssembly] Add comprehensive tests for ct.select
DeltaFile
+714-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-vector.ll
+641-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-patterns.ll
+552-0llvm/test/CodeGen/WebAssembly/ctselect-fallback.ll
+376-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-edge-cases.ll
+226-0llvm/test/CodeGen/WebAssembly/ctselect-side-effects.ll
+2,509-05 files

LLVM/project f6436b3llvm/lib/Target/X86 X86InstrInfo.cpp X86ISelLowering.cpp, llvm/test/CodeGen/X86 ctselect-i386-fp.ll

[LLVM][X86] Add f80 support for ct.select

Add special handling for x86_fp80 types in CTSELECT lowering by splitting
them into three 32-bit chunks, performing constant-time selection on each
chunk, and reassembling the result. This fixes crashes when compiling
tests with f80 types.

Also updated ctselect.ll to match current generic fallback implementation.
DeltaFile
+463-452llvm/lib/Target/X86/X86InstrInfo.cpp
+126-146llvm/test/CodeGen/X86/ctselect-i386-fp.ll
+63-0llvm/lib/Target/X86/X86ISelLowering.cpp
+9-12llvm/lib/Target/X86/X86InstrInfo.h
+661-6104 files

LLVM/project 63418f3. nasty-fix-constant.patch, llvm/lib/Target/X86 X86ISelLowering.cpp X86InstrInfo.cpp

[LLVM][X86] Add native ct.select support for X86 and i386

Add native X86 implementation with CMOV instructions and comprehensive tests:
- X86 ISelLowering with CMOV for x86_64 and i386
- Fallback bitwise operations for i386 targets without CMOV
- Post-RA expansion for pseudo-instructions
- Comprehensive test coverage:
  - Edge cases (zero conditions, large integers)
  - i386-specific tests (FP, MMX, non-CMOV fallback)
  - Vector operations
  - Optimization patterns

The basic test demonstrating fallback is in the core infrastructure PR.
DeltaFile
+2,994-0nasty-fix-constant.patch
+639-1,228llvm/test/CodeGen/X86/ctselect.ll
+1,274-0llvm/test/CodeGen/X86/ctselect-vector.ll
+763-28llvm/lib/Target/X86/X86ISelLowering.cpp
+722-0llvm/test/CodeGen/X86/ctselect-i386-fp.ll
+604-5llvm/lib/Target/X86/X86InstrInfo.cpp
+6,996-1,26112 files not shown
+8,721-1,26618 files

LLVM/project c494d57llvm/lib/Target/ARM ARMISelLowering.cpp ARMBaseInstrInfo.cpp, llvm/test/CodeGen/ARM ctselect-vector.ll ctselect-half.ll

[LLVM][ARM] Add native ct.select support for ARM32 and Thumb

This patch implements architecture-specific lowering for ct.select on ARM
(both ARM32 and Thumb modes) using conditional move instructions and
bitwise operations for constant-time selection.

Implementation details:
- Uses pseudo-instructions that are expanded Post-RA to bitwise operations
- Post-RA expansion in ARMBaseInstrInfo for BUNDLE pseudo-instructions
- Handles scalar integer types, floating-point, and half-precision types
- Handles vector types with NEON when available
- Support for both ARM and Thumb instruction sets (Thumb1 and Thumb2)
- Special handling for Thumb1 which lacks conditional execution
- Comprehensive test coverage including half-precision and vectors

The implementation includes:
- ISelLowering: Custom lowering to CTSELECT pseudo-instructions
- ISelDAGToDAG: Selection of appropriate pseudo-instructions
- BaseInstrInfo: Post-RA expansion of BUNDLE to bitwise instruction sequences

    [3 lines not shown]
DeltaFile
+2,179-0llvm/test/CodeGen/ARM/ctselect-vector.ll
+975-0llvm/test/CodeGen/ARM/ctselect-half.ll
+530-66llvm/lib/Target/ARM/ARMISelLowering.cpp
+555-0llvm/test/CodeGen/ARM/ctselect.ll
+335-2llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+327-2llvm/lib/Target/ARM/ARMISelLowering.h
+4,901-704 files not shown
+5,185-21310 files

LLVM/project a5ce1aallvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 ctselect.ll

[LLVM][AArch64] Add native ct.select support for ARM64

This patch implements architecture-specific lowering for ct.select on AArch64
using CSEL (conditional select) instructions for constant-time selection.

Implementation details:
- Uses CSEL family of instructions for scalar integer types
- Uses FCSEL for floating-point types (F16, BF16, F32, F64)
- Post-RA MC lowering to convert pseudo-instructions to real CSEL/FCSEL
- Handles vector types appropriately
- Comprehensive test coverage for AArch64

The implementation includes:
- ISelLowering: Custom lowering to CTSELECT pseudo-instructions
- InstrInfo: Pseudo-instruction definitions and patterns
- MCInstLower: Post-RA lowering of pseudo-instructions to actual CSEL/FCSEL
- Proper handling of condition codes for constant-time guarantees
DeltaFile
+153-0llvm/test/CodeGen/AArch64/ctselect.ll
+56-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+40-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+35-4llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+18-0llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
+11-0llvm/lib/Target/AArch64/AArch64ISelLowering.h
+313-46 files

LLVM/project 89b18c0llvm/test/CodeGen/Mips ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[LLVM][MIPS] Add comprehensive tests for ct.select
DeltaFile
+830-0llvm/test/CodeGen/Mips/ctselect-fallback-vector.ll
+426-0llvm/test/CodeGen/Mips/ctselect-fallback-patterns.ll
+371-0llvm/test/CodeGen/Mips/ctselect-fallback.ll
+244-0llvm/test/CodeGen/Mips/ctselect-fallback-edge-cases.ll
+183-0llvm/test/CodeGen/Mips/ctselect-side-effects.ll
+2,054-05 files

LLVM/project 1a0a014clang/docs LanguageExtensions.rst, clang/include/clang/Basic Builtins.td

[ConstantTime][Clang] Add __builtin_ct_select for constant-time selection
DeltaFile
+683-0clang/test/Sema/builtin-ct-select.c
+373-0clang/test/Sema/builtin-ct-select-edge-cases.c
+64-0clang/lib/Sema/SemaChecking.cpp
+44-0clang/docs/LanguageExtensions.rst
+13-0clang/lib/CodeGen/CGBuiltin.cpp
+8-0clang/include/clang/Basic/Builtins.td
+1,185-06 files

LLVM/project 882c497llvm/test/CodeGen/RISCV ctselect-fallback-vector-rvv.ll ctselect-fallback-edge-cases.ll

[LLVM][RISCV] Regenerate ct.select test CHECK lines

Update CHECK lines to match the new constant-time AND/OR/XOR expansion
from the CT_SELECT legalization fix.
DeltaFile
+132-344llvm/test/CodeGen/RISCV/ctselect-fallback-vector-rvv.ll
+66-78llvm/test/CodeGen/RISCV/ctselect-fallback-edge-cases.ll
+62-77llvm/test/CodeGen/RISCV/ctselect-fallback-patterns.ll
+6-7llvm/test/CodeGen/RISCV/ctselect-side-effects.ll
+266-5064 files

LLVM/project a3c8bb2llvm/test/CodeGen/RISCV ctselect-fallback-vector-rvv.ll ctselect-fallback-patterns.ll

[ConstantTime][RISCV] Add comprehensive tests for ct.select

Add comprehensive test suite for RISC-V fallback implementation:
- Edge cases (zero conditions, large integers, sign extension)
- Pattern matching (nested selects, chains)
- Vector support with RVV extensions
- Side effects and memory operations

The basic fallback test is in the core infrastructure PR.
DeltaFile
+804-0llvm/test/CodeGen/RISCV/ctselect-fallback-vector-rvv.ll
+383-0llvm/test/CodeGen/RISCV/ctselect-fallback-patterns.ll
+214-0llvm/test/CodeGen/RISCV/ctselect-fallback-edge-cases.ll
+176-0llvm/test/CodeGen/RISCV/ctselect-side-effects.ll
+1,577-04 files

LLVM/project 9d45e79llvm/test/CodeGen/Mips ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[LLVM][MIPS] Regenerate ct.select test CHECK lines

Update CHECK lines to match the new constant-time AND/OR/XOR expansion
from the CT_SELECT legalization fix.
DeltaFile
+262-320llvm/test/CodeGen/Mips/ctselect-fallback-vector.ll
+133-164llvm/test/CodeGen/Mips/ctselect-fallback-patterns.ll
+117-141llvm/test/CodeGen/Mips/ctselect-fallback.ll
+100-123llvm/test/CodeGen/Mips/ctselect-fallback-edge-cases.ll
+11-13llvm/test/CodeGen/Mips/ctselect-side-effects.ll
+623-7615 files

LLVM/project 43fdb1fllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/RISCV clmul.ll

Merge remote-tracking branch 'origin/main' into users/wizardengineer/ct-select-core

# Conflicts:
#       llvm/lib/CodeGen/TargetLoweringBase.cpp
DeltaFile
+84,317-78,372llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+66,293-29,491llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+25,751-24,782llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+23,663-20,281llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+21,867-18,577llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+25,051-14,920llvm/test/CodeGen/RISCV/clmul.ll
+246,942-186,4239,853 files not shown
+982,681-491,0609,859 files

LLVM/project ff11354clang/lib/Format IntegerLiteralSeparatorFixer.cpp

[clang-format][NFC] Use the newly added AllowLiteralDigitSeparator (#185165)

Use LangOptions::AllowLiteralDigitSeparator added in #184235 for the
IntegerLiteralSeparator option.
DeltaFile
+6-6clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
+6-61 files

LLVM/project b5f3ea1utils/bazel/llvm-project-overlay/lldb/source/Plugins BUILD.bazel plugin_config.bzl

[Bazel] Fixes 58efc42 (#185227)

Fixes 58efc42.
DeltaFile
+4-23utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+1-1utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
+5-242 files

LLVM/project a063166llvm/test/CodeGen/RISCV ctselect-fallback-vector-rvv.ll ctselect-fallback-patterns.ll

[ConstantTime][RISCV] Add comprehensive tests for ct.select

Add comprehensive test suite for RISC-V fallback implementation:
- Edge cases (zero conditions, large integers, sign extension)
- Pattern matching (nested selects, chains)
- Vector support with RVV extensions
- Side effects and memory operations

The basic fallback test is in the core infrastructure PR.
DeltaFile
+804-0llvm/test/CodeGen/RISCV/ctselect-fallback-vector-rvv.ll
+383-0llvm/test/CodeGen/RISCV/ctselect-fallback-patterns.ll
+214-0llvm/test/CodeGen/RISCV/ctselect-fallback-edge-cases.ll
+176-0llvm/test/CodeGen/RISCV/ctselect-side-effects.ll
+1,577-04 files

LLVM/project 453c34fllvm/test/CodeGen/RISCV ctselect-fallback-vector-rvv.ll ctselect-fallback-edge-cases.ll

[LLVM][RISCV] Regenerate ct.select test CHECK lines

Update CHECK lines to match the new constant-time AND/OR/XOR expansion
from the CT_SELECT legalization fix.
DeltaFile
+132-344llvm/test/CodeGen/RISCV/ctselect-fallback-vector-rvv.ll
+66-78llvm/test/CodeGen/RISCV/ctselect-fallback-edge-cases.ll
+62-77llvm/test/CodeGen/RISCV/ctselect-fallback-patterns.ll
+6-7llvm/test/CodeGen/RISCV/ctselect-side-effects.ll
+266-5064 files

LLVM/project 362e0a6clang/docs LanguageExtensions.rst, clang/include/clang/Basic Builtins.td

[ConstantTime][Clang] Add __builtin_ct_select for constant-time selection
DeltaFile
+683-0clang/test/Sema/builtin-ct-select.c
+373-0clang/test/Sema/builtin-ct-select-edge-cases.c
+64-0clang/lib/Sema/SemaChecking.cpp
+44-0clang/docs/LanguageExtensions.rst
+13-0clang/lib/CodeGen/CGBuiltin.cpp
+8-0clang/include/clang/Basic/Builtins.td
+1,185-06 files

LLVM/project cea1708llvm/lib/CodeGen/SelectionDAG LegalizeDAG.cpp SelectionDAGBuilder.cpp, llvm/test/CodeGen/RISCV ctselect-fallback.ll

[ConstantTime] Fix CT_SELECT expansion to preserve constant-time guarantees

Create CT_SELECT nodes for scalar types regardless of target support, so
they survive DAGCombiner (visitCT_SELECT is conservative). Expand to
AND/OR/XOR during operation legalization after SETCC is lowered, preventing
the sext(setcc)->select fold chain that converts constant-time patterns
into data-dependent conditional moves (e.g. movn/movz on MIPS).

The mask uses SUB(0, AND(Cond, 1)) instead of SIGN_EXTEND because type
legalization already promoted i1 to the SetCC result type, making
SIGN_EXTEND a no-op for same-width types.
DeltaFile
+144-115llvm/test/CodeGen/X86/ctselect.ll
+10-12llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+12-8llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+13-3llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+179-1384 files