[PATCH] D94470: [LSR] Don't break a critical edge if parent ends with "callbr"

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 12 14:46:58 PST 2021


nickdesaulniers added inline comments.


================
Comment at: llvm/test/CodeGen/Generic/callbr-critical-edge-splitting.ll:1
+; RUN: llc < %s -o /dev/null
+
----------------
nickdesaulniers wrote:
> nickdesaulniers wrote:
> > void wrote:
> > > MaskRay wrote:
> > > > Can you write a `opt -passes='loop(loop-reduce)' ` test?
> > > > 
> > > > Checking a command returns 0 is not a useful test. Checking some desired instructions makes the test not only useful for one particular regression, but also useful for some other scenarios.
> > > It replicates only with llc, not with opt.
> > I'm also having trouble reproducing with `opt`. If this relies on CodeGen specific transforms, do we need a target triple for the module? https://lists.llvm.org/pipermail/llvm-dev/2020-July/143666.html seems to allude to this problem (I haven't read the whole thread yet to see whether/how it's been resolved).
> adding
> ```
> target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
> target triple = "x86_64-unknown-linux-gnu"
> ```
> allows
> ```
> opt -loop-reduce /tmp/foo.ll -S -o -
> ```
> to repro.
`opt -mcpu=alderlake -loop-reduce -S /tmp/foo.ll repros` also works; guessing that cpu specifies a datalayout?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94470/new/

https://reviews.llvm.org/D94470



More information about the llvm-commits mailing list