Page MenuHomePhabricator

[ConstantRange] Sign-flipping of signedness-invariant comparisons
Needs ReviewPublic

Authored by lebedev.ri on Fri, Nov 6, 3:06 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Not very sure how useful this is.
I initially thought this could be used to help with unsigned comparisons,
but i'm not sure yet if that's actually a correct usage in ScalarEvolution::isImpliedViaOperations().

Not sure how to generalize ConstantRange::areInsensitiveToSignednessOfSwappedICmpPredicate()

Diff Detail

Unit TestsFailed

TimeTest
40 mslinux > Clang.CodeGen::lto-newpm-pipeline.c
Script: -- : 'RUN: at line 3'; /mnt/disks/ssd0/agent/llvm-project/build/bin/clang -cc1 -internal-isystem /mnt/disks/ssd0/agent/llvm-project/build/lib/clang/12.0.0/include -nostdsysteminc -triple x86_64-unknown-linux-gnu -emit-llvm-bc -o /dev/null -fexperimental-new-pass-manager -fdebug-pass-manager -flto=full -O0 /mnt/disks/ssd0/agent/llvm-project/clang/test/CodeGen/lto-newpm-pipeline.c 2>&1 | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/clang/test/CodeGen/lto-newpm-pipeline.c -check-prefix=CHECK-FULL-O0
380 mslinux > HWAddressSanitizer-x86_64.TestCases::sizes.cpp
Script: -- : 'RUN: at line 3'; /mnt/disks/ssd0/agent/llvm-project/build/./bin/clang --driver-mode=g++ -m64 -gline-tables-only -fsanitize=hwaddress -fuse-ld=lld -mcmodel=large -mllvm -hwasan-globals -mllvm -hwasan-use-short-granules -mllvm -hwasan-instrument-landing-pads=0 -mllvm -hwasan-instrument-personality-functions /mnt/disks/ssd0/agent/llvm-project/compiler-rt/test/hwasan/TestCases/sizes.cpp -nostdlib++ -lstdc++ -o /mnt/disks/ssd0/agent/llvm-project/build/projects/compiler-rt/test/hwasan/X86_64/TestCases/Output/sizes.cpp.tmp
20 mslinux > LLVM-Unit.Analysis/_/AnalysisTests::ScalarEvolutionsTest.UnsignedIsImpliedViaOperations
Note: Google Test filter = ScalarEvolutionsTest.UnsignedIsImpliedViaOperations [==========] Running 1 test from 1 test case. [----------] Global test environment set-up.
690 mslinux > LLVM.Other::new-pass-manager.ll
Script: -- : 'RUN: at line 8'; /mnt/disks/ssd0/agent/llvm-project/build/bin/opt -disable-output -disable-verify -debug-pass-manager -passes=no-op-module /mnt/disks/ssd0/agent/llvm-project/llvm/test/Other/new-pass-manager.ll 2>&1 | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/Other/new-pass-manager.ll --check-prefix=CHECK-MODULE-PASS
50 mslinux > LLVM.Transforms/CorrelatedValuePropagation::basic.ll
Script: -- : 'RUN: at line 2'; /mnt/disks/ssd0/agent/llvm-project/build/bin/opt < /mnt/disks/ssd0/agent/llvm-project/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll -correlated-propagation -S | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
View Full Test Results (23 Failed)

Event Timeline

lebedev.ri created this revision.Fri, Nov 6, 3:06 AM
lebedev.ri requested review of this revision.Fri, Nov 6, 3:06 AM
lebedev.ri updated this revision to Diff 303403.Fri, Nov 6, 4:41 AM

Ok, doesn't seem useful for SCEV.
Not sure if CVP-based fold is useful, so not really looking for review i guess.