[PATCH] D32239: [SCEV] Make SCEV or modeling more aggressive.
Jan Vesely via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 20 16:58:32 PDT 2017
jvesely added a comment.
this patch introduces infinite loop when compiling pyrite kernel[0] for r600 (turks) target:
Thread 1 "cl-program-test" received signal SIGSEGV, Segmentation fault.
0x00007fffdba03e36 in llvm::DenseMapBase<llvm::DenseMap<llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u>, llvm::DenseMapInfo<llvm::Value*>, llvm::detail::DenseMapPair<llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u> > >, llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u>, llvm::DenseMapInfo<llvm::Value*>, llvm::detail::DenseMapPair<llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u> > >::find_as<llvm::Value*> (
this=0x8b09b0, Val=@0x7fffff7ff068: 0xe83e50)
at /home/vesely/llvm/include/llvm/ADT/DenseMap.h:151
151 if (LookupBucketFor(Val, TheBucket))
(gdb) bt
#0 0x00007fffdba03e36 in llvm::DenseMapBase<llvm::DenseMap<llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u>, llvm::DenseMapInfo<llvm::Value*>, llvm::detail::DenseMapPair<llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u> > >, llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u>, llvm::DenseMapInfo<llvm::Value*>, llvm::detail::DenseMapPair<llvm::AssumptionCache::AffectedValueCallbackVH, llvm::SmallVector<llvm::WeakVH, 1u> > >::find_as<llvm::Value*> (
this=0x8b09b0, Val=@0x7fffff7ff068: 0xe83e50)
at /home/vesely/llvm/include/llvm/ADT/DenseMap.h:151
#1 0x00007fffdbb8195c in llvm::AssumptionCache::assumptionsFor (
this=0x8b0930, V=0xe83e50)
at /home/vesely/llvm/include/llvm/Analysis/AssumptionCache.h:134
#2 0x00007fffdbd3274c in computeKnownBitsFromAssume (V=0xe83e50,
KnownZero=..., KnownOne=..., Depth=5, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:515
#3 0x00007fffdbd3944f in computeKnownBits (V=0xe83e50, KnownZero=...,
KnownOne=..., Depth=5, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1601
#4 0x00007fffdbd314c1 in computeKnownBitsAddSub (Add=true, Op0=0xe83e50,
Op1=0x8f5540, NSW=false, KnownZero=..., KnownOne=..., KnownZero2=...,
KnownOne2=..., Depth=4, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:263
#5 0x00007fffdbd372ff in computeKnownBitsFromOperator (I=0xe83f00,
---Type <return> to continue, or q <return> to quit---
KnownZero=..., KnownOne=..., Depth=4, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1160
#6 0x00007fffdbd393c0 in computeKnownBits (V=0xe83f00, KnownZero=...,
KnownOne=..., Depth=4, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1588
#7 0x00007fffdbd314c1 in computeKnownBitsAddSub (Add=true, Op0=0xe83f00,
Op1=0xe81b00, NSW=false, KnownZero=..., KnownOne=..., KnownZero2=...,
KnownOne2=..., Depth=3, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:263
#8 0x00007fffdbd372ff in computeKnownBitsFromOperator (I=0xe83fb0,
KnownZero=..., KnownOne=..., Depth=3, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1160
#9 0x00007fffdbd393c0 in computeKnownBits (V=0xe83fb0, KnownZero=...,
KnownOne=..., Depth=3, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1588
#10 0x00007fffdbd314c1 in computeKnownBitsAddSub (Add=true, Op0=0xe83fb0,
Op1=0xe83a60, NSW=false, KnownZero=..., KnownOne=..., KnownZero2=...,
KnownOne2=..., Depth=2, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:263
#11 0x00007fffdbd372ff in computeKnownBitsFromOperator (I=0xe84060,
KnownZero=..., KnownOne=..., Depth=2, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1160
#12 0x00007fffdbd393c0 in computeKnownBits (V=0xe84060, KnownZero=...,
---Type <return> to continue, or q <return> to quit---
KnownOne=..., Depth=2, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1588
#13 0x00007fffdbd314c1 in computeKnownBitsAddSub (Add=true, Op0=0xe84060,
Op1=0xe837d0, NSW=false, KnownZero=..., KnownOne=..., KnownZero2=...,
KnownOne2=..., Depth=1, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:263
#14 0x00007fffdbd372ff in computeKnownBitsFromOperator (I=0xe84110,
KnownZero=..., KnownOne=..., Depth=1, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1160
#15 0x00007fffdbd393c0 in computeKnownBits (V=0xe84110, KnownZero=...,
KnownOne=..., Depth=1, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1588
#16 0x00007fffdbd356ea in computeKnownBitsFromShiftOperator(const llvm::Operator *, llvm::APInt &, llvm::APInt &, llvm::APInt &, llvm::APInt &, unsigned int, const (anonymous namespace)::Query &, llvm::function_ref<llvm::APInt(const llvm::APInt&, unsigned int)>, llvm::function_ref<llvm::APInt(const llvm::APInt&, unsigned int)>) (I=0xe843d0, KnownZero=..., KnownOne=..., KnownZero2=...,
KnownOne2=..., Depth=0, Q=..., KZF=..., KOF=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:813
#17 0x00007fffdbd37088 in computeKnownBitsFromOperator (I=0xe843d0,
KnownZero=..., KnownOne=..., Depth=0, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1113
#18 0x00007fffdbd393c0 in computeKnownBits (V=0xe843d0, KnownZero=...,
---Type <return> to continue, or q <return> to quit---
KnownOne=..., Depth=0, Q=...)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:1588
#19 0x00007fffdbd30d34 in llvm::computeKnownBits (V=0xe843d0, KnownZero=...,
KnownOne=..., DL=..., Depth=0, AC=0x8b0930, CxtI=0x0, DT=0x89fb80, ORE=0x0)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:142
#20 0x00007fffdbd30ee1 in llvm::haveNoCommonBitsSet (LHS=0xe843d0,
RHS=0xe84480, DL=..., AC=0x8b0930, CxtI=0x0, DT=0x89fb80)
at /home/vesely/llvm/lib/Analysis/ValueTracking.cpp:156
#21 0x00007fffdbc9a13e in llvm::ScalarEvolution::createSCEV (this=0x88c980,
V=0xe84530) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:5332
#22 0x00007fffdbc913f8 in llvm::ScalarEvolution::getSCEV (this=0x88c980,
V=0xe84530) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:3574
...
#9170 0x00007fffdbc913f8 in llvm::ScalarEvolution::getSCEV (this=0x88c980,
V=0xb45b70) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:3574
#9171 0x00007fffdbc9a175 in llvm::ScalarEvolution::createSCEV (this=0x88c980,
V=0xb45c20) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:5336
#9172 0x00007fffdbc913f8 in llvm::ScalarEvolution::getSCEV (this=0x88c980,
V=0xb45c20) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:3574
#9173 0x00007fffdbc9925f in llvm::ScalarEvolution::createSCEV (this=0x88c980,
V=0xb45f50) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:5213
#9174 0x00007fffdbc913f8 in llvm::ScalarEvolution::getSCEV (this=0x88c980,
V=0xb45f50) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:3574
#9175 0x00007fffdbc99862 in llvm::ScalarEvolution::createSCEV (this=0x88c980,
V=0xb46290) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:5271
#9176 0x00007fffdbc913f8 in llvm::ScalarEvolution::getSCEV (this=0x88c980,
V=0xb46290) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:3574
#9177 0x00007fffdbc9a175 in llvm::ScalarEvolution::createSCEV (this=0x88c980,
V=0xb46340) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:5336
#9178 0x00007fffdbc913f8 in llvm::ScalarEvolution::getSCEV (this=0x88c980,
V=0xb46340) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:3574
#9179 0x00007fffdbc9925f in llvm::ScalarEvolution::createSCEV (this=0x88c980,
V=0xb46670) at /home/vesely/llvm/lib/Analysis/ScalarEvolution.cpp:5213
[0] https://cgit.freedesktop.org/piglit/tree/tests/cl/program/execute/pyrit-wpa-psk.cl
revision r300742 works OK. so does reverting this change on top of r300918
Repository:
rL LLVM
https://reviews.llvm.org/D32239
More information about the llvm-commits
mailing list