aboutsummaryrefslogtreecommitdiff
path: root/polly/test/Simplify/sweep_mapped_phi.ll
diff options
context:
space:
mode:
authorSam Tebbs <samuel.tebbs@arm.com>2025-10-28 16:59:53 +0000
committerGitHub <noreply@github.com>2025-10-28 16:59:53 +0000
commit22f860a55d193d98e42cf19fac57539cdb0ab124 (patch)
tree493f7de0fbd6a7c70bcf521d661795647e317039 /polly/test/Simplify/sweep_mapped_phi.ll
parent87f9e1b17afefd461e7ce07f817183c55b0a5571 (diff)
downloadllvm-main.zip
llvm-main.tar.gz
llvm-main.tar.bz2
[LV] Bundle (partial) reductions with a mul of a constant (#162503)HEADmain
A reduction (including partial reductions) with a multiply of a constant value can be bundled by first converting it from `reduce.add(mul(ext, const))` to `reduce.add(mul(ext, ext(const)))` as long as it is safe to extend the constant. This PR adds such bundling by first truncating the constant to the source type of the other extend, then extending it to the destination type of the extend. The first truncate is necessary so that the types of each extend's operand are then the same, and the call to canConstantBeExtended proves that the extend following a truncate is safe to do. The truncate is removed by optimisations. This is a stacked PR, 1a and 1b can be merged in any order: 1a. https://github.com/llvm/llvm-project/pull/147302 1b. https://github.com/llvm/llvm-project/pull/163175 2. -> https://github.com/llvm/llvm-project/pull/162503
Diffstat (limited to 'polly/test/Simplify/sweep_mapped_phi.ll')
0 files changed, 0 insertions, 0 deletions