[PATCH] D119488: [SCEV] Extend `i1 cond ? i1 x : i1 y` (where either x or y is a constant integer) to arbitrary-sized integers
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 10 14:29:13 PST 2022
lebedev.ri created this revision.
lebedev.ri added a project: LLVM.
Herald added subscribers: pengfei, dmgreen, javed.absar, hiraditya, nemanjai.
Herald added a reviewer: bollu.
lebedev.ri requested review of this revision.
@Meinersbur this is causing a number of polly test changes.
I believe those tests need to be fixed and not updated,
and that probably requires knowing what they are actually testing.
Would you like to help with that?
To support not just booleans we simply only need to sext the condition:
https://alive2.llvm.org/ce/z/EFKLeA
It is contentious whether we should `not` said condition before or after
the sext, doing that afterwards seems less worse,
but it will depend i guess.
Test llvm/test/Transforms/IndVarSimplify/eliminate-max.ll starts to trigger
assertion after this. While SCEVUnknown was originally created
for an opaque IR Value which was an Instruction, later said Value
was RAUW'd by a constant integer, yet we still have that SCEVUnknown.
Are we missing an invalidation?
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D119488
Files:
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
llvm/test/Analysis/ScalarEvolution/logical-operations.ll
llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
llvm/test/Analysis/ScalarEvolution/nsw.ll
llvm/test/Analysis/ScalarEvolution/ptrtoint-constantexpr-loop.ll
llvm/test/Analysis/ScalarEvolution/sext-to-zext.ll
llvm/test/Analysis/ScalarEvolution/shift-recurrences.ll
llvm/test/Analysis/StackSafetyAnalysis/local.ll
llvm/test/Analysis/StackSafetyAnalysis/memintrin.ll
llvm/test/CodeGen/PowerPC/prefer-dqform.ll
llvm/test/CodeGen/Thumb2/mve-memtp-loop.ll
llvm/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll
llvm/test/CodeGen/X86/dag-update-nodetomatch.ll
llvm/test/Transforms/IndVarSimplify/lftr-pr20680.ll
polly/test/CodeGen/only_non_affine_error_region.ll
polly/test/CodeGen/region_multiexit_partialwrite.ll
polly/test/ForwardOpTree/changed-kind.ll
polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
polly/test/ScopInfo/phi_after_error_block.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119488.407683.patch
Type: text/x-patch
Size: 99847 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220210/ddae1e22/attachment.bin>
More information about the llvm-commits
mailing list