diff options
| author | Michael Zolotukhin <mzolotukhin@apple.com> | 2016-06-06 19:21:40 +0000 |
|---|---|---|
| committer | Michael Zolotukhin <mzolotukhin@apple.com> | 2016-06-06 19:21:40 +0000 |
| commit | 19edbadfc5a65ba30c0fc71fbd9570567dfaf9de (patch) | |
| tree | 7f831f2a88cad29de560564f704f6be6c4b77bf0 /llvm/test/Transforms | |
| parent | 9ed77af89dd37d72da8f804727dc0de2f37a06e9 (diff) | |
| download | bcm5719-llvm-19edbadfc5a65ba30c0fc71fbd9570567dfaf9de.tar.gz bcm5719-llvm-19edbadfc5a65ba30c0fc71fbd9570567dfaf9de.zip | |
[LoopUnrollAnalyzer] Fix a crash in analyzeLoopUnrollCost.
In some cases, when simplifying with SCEV, we might consider pointer values as
just usual integer values. Thus, we might get a different type from what we
had originally in the map of simplified values, and hence we need to check
types before operating on the values.
This fixes PR28015.
llvm-svn: 271931
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll b/llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll index a8e4329e599..54f0f817695 100644 --- a/llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll +++ b/llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll @@ -188,3 +188,19 @@ for.inc: for.end: ret void } + +define void @cmp_type_mismatch() { +entry: + br label %for.header + +for.header: + br label %for.body + +for.body: + %d = phi i32* [ null, %for.header ] + %cmp = icmp eq i32* %d, null + br i1 undef, label %for.end, label %for.header + +for.end: + ret void +} |

