Mercurial > hg > CbC > CbC_llvm
view llvm/test/Transforms/IndVarSimplify/use-range-metadata.ll @ 225:f7655407a6ba
remove unnecessary files
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 19 Jul 2021 03:48:36 +0900 |
parents | 1d019706d866 |
children | 1f2b6ac9f198 |
line wrap: on
line source
;; RUN: opt -S < %s -indvars | FileCheck %s ;; Check if IndVarSimplify understands !range metadata. declare void @abort() define i1 @iterate(i32* nocapture readonly %buffer) { entry: %length = load i32, i32* %buffer, !range !0 br label %loop.preheader loop.preheader: br label %loop loop: %idx = phi i32 [ %idx.inc, %loop.next ], [ 0, %loop.preheader ] %oob.pred = icmp slt i32 %idx, %length br i1 %oob.pred, label %loop.next, label %oob ; CHECK: br i1 true, label %loop.next, label %oob loop.next: %idx.inc = add i32 %idx, 1 %exit.pred = icmp slt i32 %idx.inc, %length br i1 %exit.pred, label %loop, label %abort.loopexit abort.loopexit: br label %abort abort: ret i1 false oob: tail call void @abort() ret i1 false } !0 = !{i32 1, i32 100}