Mercurial > hg > CbC > CbC_llvm
view llvm/test/Transforms/LICM/alias-set-tracker-loss.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 -licm -loop-unroll < %s ; ; This test contains a carefully rotated set of three nested loops. The middle ; loop can be unrolled leaving one copy of the inner loop inside the outer ; loop. Because of how LICM works, when this middle loop is unrolled and ; removed, its alias set tracker is destroyed and no longer available when LICM ; runs on the outer loop. define void @f() { entry: br label %l1 l2.l1.loopexit_crit_edge: br label %l1.loopexit l1.loopexit: br label %l1.backedge l1: br i1 undef, label %l1.backedge, label %l2.preheader l1.backedge: br label %l1 l2.preheader: br i1 true, label %l1.loopexit, label %l3.preheader.lr.ph l3.preheader.lr.ph: br label %l3.preheader l2.loopexit: br i1 true, label %l2.l1.loopexit_crit_edge, label %l3.preheader l3.preheader: br label %l3 l3: br i1 true, label %l3, label %l2.loopexit }