<div dir="ltr">The fix is in <a href="https://reviews.llvm.org/D67562">https://reviews.llvm.org/D67562</a>.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 12, 2019 at 11:39 PM Mikael Holmén <<a href="mailto:mikael.holmen@ericsson.com">mikael.holmen@ericsson.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
Another crash:<br>
<br>
opt -o - f5.ll -disable-basicaa -loop-rotate<br>
<br>
opt: ../include/llvm/ADT/ilist_iterator.h:139:<br>
llvm::ilist_iterator::reference<br>
llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction<br>
, true, false, void>, false, false>::operator*() const [OptionsT =<br>
llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>,<br>
IsReverse = false, IsConst = false]: Assertion `!NodePtr-<br>
>isKnownSentinel()' failed.<br>
Stack dump:<br>
0.      Program arguments: /data/repo/master/llvm/build-all/bin/opt -S<br>
-o - f5.ll -disable-basicaa -loop-rotate <br>
1.      Running pass 'Function Pass Manager' on module 'f5.ll'.<br>
2.      Running pass 'Loop Pass Manager' on function '@main'<br>
3.      Running pass 'Rotate Loops' on basic block '%for.cond120'<br>
 #0 0x0000000002429ab4 PrintStackTraceSignalHandler(void*)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x2429ab4)<br>
 #1 0x00000000024277de llvm::sys::RunSignalHandlers()<br>
(/data/repo/master/llvm/build-all/bin/opt+0x24277de)<br>
 #2 0x0000000002429eb8 SignalHandler(int)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x2429eb8)<br>
 #3 0x00007fe264354890 __restore_rt (/lib/x86_64-linux-<br>
gnu/libpthread.so.0+0x12890)<br>
 #4 0x00007fe262dfde97 raise /build/glibc-OTsEL5/glibc-<br>
2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0<br>
 #5 0x00007fe262dff801 abort /build/glibc-OTsEL5/glibc-<br>
2.27/stdlib/abort.c:81:0<br>
 #6 0x00007fe262def39a __assert_fail_base /build/glibc-OTsEL5/glibc-<br>
2.27/assert/assert.c:89:0<br>
 #7 0x00007fe262def412 (/lib/x86_64-linux-gnu/libc.so.6+0x30412)<br>
 #8 0x00000000017c2b33<br>
llvm::MemorySSAUpdater::moveAllAccesses(llvm::BasicBlock*,<br>
llvm::BasicBlock*, llvm::Instruction*) (/data/repo/master/llvm/build-<br>
all/bin/opt+0x17c2b33)<br>
 #9 0x00000000017c2eb9<br>
llvm::MemorySSAUpdater::moveAllAfterMergeBlocks(llvm::BasicBlock*,<br>
llvm::BasicBlock*, llvm::Instruction*) (/data/repo/master/llvm/build-<br>
all/bin/opt+0x17c2eb9)<br>
#10 0x000000000243970f<br>
llvm::MergeBlockIntoPredecessor(llvm::BasicBlock*,<br>
llvm::DomTreeUpdater*, llvm::LoopInfo*, llvm::MemorySSAUpdater*,<br>
llvm::MemoryDependenceResults*) (/data/repo/master/llvm/build-<br>
all/bin/opt+0x243970f)<br>
#11 0x000000000249c8d2 (anonymous<br>
namespace)::LoopRotate::rotateLoop(llvm::Loop*, bool)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x249c8d2)<br>
#12 0x000000000249a149 llvm::LoopRotation(llvm::Loop*, llvm::LoopInfo*,<br>
llvm::TargetTransformInfo const*, llvm::AssumptionCache*,<br>
llvm::DominatorTree*, llvm::ScalarEvolution*, llvm::MemorySSAUpdater*,<br>
llvm::SimplifyQuery const&, bool, unsigned int, bool)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x249a149)<br>
#13 0x0000000002238641 (anonymous<br>
namespace)::LoopRotateLegacyPass::runOnLoop(llvm::Loop*,<br>
llvm::LPPassManager&) (/data/repo/master/llvm/build-<br>
all/bin/opt+0x2238641)<br>
#14 0x00000000017846a2<br>
llvm::LPPassManager::runOnFunction(llvm::Function&)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x17846a2)<br>
#15 0x0000000001d9d7d3<br>
llvm::FPPassManager::runOnFunction(llvm::Function&)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x1d9d7d3)<br>
#16 0x0000000001d9dae3 llvm::FPPassManager::runOnModule(llvm::Module&)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x1d9dae3)<br>
#17 0x0000000001d9e14d<br>
llvm::legacy::PassManagerImpl::run(llvm::Module&)<br>
(/data/repo/master/llvm/build-all/bin/opt+0x1d9e14d)<br>
#18 0x00000000007d84cd main (/data/repo/master/llvm/build-<br>
all/bin/opt+0x7d84cd)<br>
#19 0x00007fe262de0b97 __libc_start_main /build/glibc-OTsEL5/glibc-<br>
2.27/csu/../csu/libc-start.c:344:0<br>
#20 0x00000000007bd60a _start (/data/repo/master/llvm/build-<br>
all/bin/opt+0x7bd60a)<br>
<br>
/Mikael<br>
<br>
On Wed, 2019-09-04 at 19:16 +0000, Alina Sbirlea via llvm-commits<br>
wrote:<br>
> Author: asbirlea<br>
> Date: Wed Sep  4 12:16:04 2019<br>
> New Revision: 370957<br>
> <br>
> URL: <br>
> <a href="https://protect2.fireeye.com/url?k=118d60b4-4d07aa6a-118d202f-86823e270a62-c84f23bab7bb3f2b&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%3Frev%3D370957%26view%3Drev" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=118d60b4-4d07aa6a-118d202f-86823e270a62-c84f23bab7bb3f2b&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%3Frev%3D370957%26view%3Drev</a><br>
> Log:<br>
> [MemorySSA] Re-enable MemorySSA use.<br>
> <br>
> Differential Revision: <br>
> <a href="https://protect2.fireeye.com/url?k=61626bbe-3de8a160-61622b25-86823e270a62-8eda56b83091d815&q=1&u=https%3A%2F%2Freviews.llvm.org%2FD58311" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=61626bbe-3de8a160-61622b25-86823e270a62-8eda56b83091d815&q=1&u=https%3A%2F%2Freviews.llvm.org%2FD58311</a><br>
> <br>
> Modified:<br>
>     llvm/trunk/lib/Analysis/MemorySSA.cpp<br>
>     llvm/trunk/lib/Transforms/Utils/LoopUtils.cpp<br>
>     llvm/trunk/test/CodeGen/PowerPC/sms-grp-order.ll<br>
>     llvm/trunk/test/Other/opt-O2-pipeline.ll<br>
>     llvm/trunk/test/Other/opt-O3-pipeline.ll<br>
>     llvm/trunk/test/Other/opt-Os-pipeline.ll<br>
> <br>
> Modified: llvm/trunk/lib/Analysis/MemorySSA.cpp<br>
> URL: <br>
> <a href="https://protect2.fireeye.com/url?k=4d59b454-11d37e8a-4d59f4cf-86823e270a62-7a9a9b9527ff7f99&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Flib%2FAnalysis%2FMemorySSA.cpp%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=4d59b454-11d37e8a-4d59f4cf-86823e270a62-7a9a9b9527ff7f99&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Flib%2FAnalysis%2FMemorySSA.cpp%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff</a><br>
> =====================================================================<br>
> =========<br>
> --- llvm/trunk/lib/Analysis/MemorySSA.cpp (original)<br>
> +++ llvm/trunk/lib/Analysis/MemorySSA.cpp Wed Sep  4 12:16:04 2019<br>
> @@ -84,7 +84,7 @@ bool llvm::VerifyMemorySSA = false;<br>
>  #endif<br>
>  /// Enables memory ssa as a dependency for loop passes in legacy<br>
> pass manager.<br>
>  cl::opt<bool> llvm::EnableMSSALoopDependency(<br>
> -    "enable-mssa-loop-dependency", cl::Hidden, cl::init(false),<br>
> +    "enable-mssa-loop-dependency", cl::Hidden, cl::init(true),<br>
>      cl::desc("Enable MemorySSA dependency for loop pass manager"));<br>
>  <br>
>  static cl::opt<bool, true><br>
> <br>
> Modified: llvm/trunk/lib/Transforms/Utils/LoopUtils.cpp<br>
> URL: <br>
> <a href="https://protect2.fireeye.com/url?k=82f40532-de7ecfec-82f445a9-86823e270a62-31d7364f85f60f93&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Flib%2FTransforms%2FUtils%2FLoopUtils.cpp%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=82f40532-de7ecfec-82f445a9-86823e270a62-31d7364f85f60f93&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Flib%2FTransforms%2FUtils%2FLoopUtils.cpp%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff</a><br>
> =====================================================================<br>
> =========<br>
> --- llvm/trunk/lib/Transforms/Utils/LoopUtils.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/Utils/LoopUtils.cpp Wed Sep  4 12:16:04<br>
> 2019<br>
> @@ -19,6 +19,7 @@<br>
>  #include "llvm/Analysis/InstructionSimplify.h"<br>
>  #include "llvm/Analysis/LoopInfo.h"<br>
>  #include "llvm/Analysis/LoopPass.h"<br>
> +#include "llvm/Analysis/MemorySSA.h"<br>
>  #include "llvm/Analysis/MemorySSAUpdater.h"<br>
>  #include "llvm/Analysis/MustExecute.h"<br>
>  #include "llvm/Analysis/ScalarEvolution.h"<br>
> @@ -170,6 +171,8 @@ void llvm::getLoopAnalysisUsage(Analysis<br>
>    AU.addPreserved<SCEVAAWrapperPass>();<br>
>    AU.addRequired<ScalarEvolutionWrapperPass>();<br>
>    AU.addPreserved<ScalarEvolutionWrapperPass>();<br>
> +  // FIXME: When all loop passes preserve MemorySSA, it can be<br>
> required and<br>
> +  // preserved here instead of the individual handling in each pass.<br>
>  }<br>
>  <br>
>  /// Manually defined generic "LoopPass" dependency initialization.<br>
> This is used<br>
> @@ -190,6 +193,7 @@ void llvm::initializeLoopPassPass(PassRe<br>
>    INITIALIZE_PASS_DEPENDENCY(GlobalsAAWrapperPass)<br>
>    INITIALIZE_PASS_DEPENDENCY(SCEVAAWrapperPass)<br>
>    INITIALIZE_PASS_DEPENDENCY(ScalarEvolutionWrapperPass)<br>
> +  INITIALIZE_PASS_DEPENDENCY(MemorySSAWrapperPass)<br>
>  }<br>
>  <br>
>  /// Create MDNode for input string.<br>
> <br>
> Modified: llvm/trunk/test/CodeGen/PowerPC/sms-grp-order.ll<br>
> URL: <br>
> <a href="https://protect2.fireeye.com/url?k=0057ee6d-5cdd24b3-0057aef6-86823e270a62-8405017b45a891b5&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FCodeGen%2FPowerPC%2Fsms-grp-order.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=0057ee6d-5cdd24b3-0057aef6-86823e270a62-8405017b45a891b5&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FCodeGen%2FPowerPC%2Fsms-grp-order.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff</a><br>
> =====================================================================<br>
> =========<br>
> --- llvm/trunk/test/CodeGen/PowerPC/sms-grp-order.ll (original)<br>
> +++ llvm/trunk/test/CodeGen/PowerPC/sms-grp-order.ll Wed Sep  4<br>
> 12:16:04 2019<br>
> @@ -4,25 +4,24 @@<br>
>  <br>
>  define void @lame_encode_buffer_interleaved() local_unnamed_addr {<br>
>  ; CHECK-LABEL: lame_encode_buffer_interleaved:<br>
> -; CHECK:       # %bb.0:<br>
> -; CHECK-NEXT:    lhz 3, 0(0)<br>
> -; CHECK-NEXT:    li 5, 1<br>
> -; CHECK-NEXT:    sldi 5, 5, 62<br>
> -; CHECK-NEXT:    lhz 4, 0(3)<br>
> -; CHECK-NEXT:    mtctr 5<br>
> -; CHECK-NEXT:    .p2align 5<br>
> -; CHECK-NEXT:  .LBB0_1: #<br>
> -; CHECK-NEXT:    extsh 3, 3<br>
> -; CHECK-NEXT:    extsh 4, 4<br>
> -; CHECK-NEXT:    srawi 3, 3, 1<br>
> -; CHECK-NEXT:    addze 3, 3<br>
> -; CHECK-NEXT:    srawi 4, 4, 1<br>
> -; CHECK-NEXT:    addze 4, 4<br>
> -; CHECK-NEXT:    bdnz .LBB0_1<br>
> -; CHECK-NEXT:  # %bb.2:<br>
> -; CHECK-NEXT:    sth 3, 0(0)<br>
> -; CHECK-NEXT:    sth 4, 0(3)<br>
> -; CHECK-NEXT:    blr<br>
> +; CHECK:      # %bb.0:<br>
> +; CHECK-NEXT:   lha 3, 0(3)<br>
> +; CHECK-NEXT:   li 5, 1<br>
> +; CHECK-NEXT:   sldi 5, 5, 62<br>
> +; CHECK-NEXT:   lhz 4, 0(0)<br>
> +; CHECK-NEXT:   mtctr 5<br>
> +; CHECK-NEXT:   srawi 3, 3, 1<br>
> +; CHECK-NEXT:   addze 3, 3<br>
> +; CHECK-NEXT:   .p2align 4<br>
> +; CHECK-NEXT: .LBB0_1:<br>
> +; CHECK-NEXT:   extsh 4, 4<br>
> +; CHECK-NEXT:   srawi 4, 4, 1<br>
> +; CHECK-NEXT:   addze 4, 4<br>
> +; CHECK-NEXT:   bdnz .LBB0_1<br>
> +; CHECK-NEXT: # %bb.2:<br>
> +; CHECK-NEXT:   sth 4, 0(0)<br>
> +; CHECK-NEXT:   sth 3, 0(3)<br>
> +; CHECK-NEXT:   blr<br>
>    br label %1<br>
>  <br>
>  1:                                                ; preds = %1, %0<br>
> <br>
> Modified: llvm/trunk/test/Other/opt-O2-pipeline.ll<br>
> URL: <br>
> <a href="https://protect2.fireeye.com/url?k=9b0187ad-c78b4d73-9b01c736-86823e270a62-3cdb18bf2d8c50f7&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FOther%2Fopt-O2-pipeline.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=9b0187ad-c78b4d73-9b01c736-86823e270a62-3cdb18bf2d8c50f7&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FOther%2Fopt-O2-pipeline.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff</a><br>
> =====================================================================<br>
> =========<br>
> --- llvm/trunk/test/Other/opt-O2-pipeline.ll (original)<br>
> +++ llvm/trunk/test/Other/opt-O2-pipeline.ll Wed Sep  4 12:16:04 2019<br>
> @@ -93,12 +93,13 @@<br>
>  ; CHECK-NEXT:         Simplify the CFG<br>
>  ; CHECK-NEXT:         Reassociate expressions<br>
>  ; CHECK-NEXT:         Dominator Tree Construction<br>
> +; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:         Function Alias Analysis Results<br>
> +; CHECK-NEXT:         Memory SSA<br>
>  ; CHECK-NEXT:         Natural Loop Information<br>
>  ; CHECK-NEXT:         Canonicalize natural loops<br>
>  ; CHECK-NEXT:         LCSSA Verifier<br>
>  ; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:         Function Alias Analysis Results<br>
>  ; CHECK-NEXT:         Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:         Loop Pass Manager<br>
>  ; CHECK-NEXT:           Rotate Loops<br>
> @@ -153,12 +154,13 @@<br>
>  ; CHECK-NEXT:         Phi Values Analysis<br>
>  ; CHECK-NEXT:         Memory Dependence Analysis<br>
>  ; CHECK-NEXT:         Dead Store Elimination<br>
> +; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:         Function Alias Analysis Results<br>
> +; CHECK-NEXT:         Memory SSA<br>
>  ; CHECK-NEXT:         Natural Loop Information<br>
>  ; CHECK-NEXT:         Canonicalize natural loops<br>
>  ; CHECK-NEXT:         LCSSA Verifier<br>
>  ; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:         Function Alias Analysis Results<br>
>  ; CHECK-NEXT:         Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:         Loop Pass Manager<br>
>  ; CHECK-NEXT:           Loop Invariant Code Motion<br>
> @@ -185,12 +187,13 @@<br>
>  ; CHECK-NEXT:     FunctionPass Manager<br>
>  ; CHECK-NEXT:       Float to int<br>
>  ; CHECK-NEXT:       Dominator Tree Construction<br>
> +; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:       Function Alias Analysis Results<br>
> +; CHECK-NEXT:       Memory SSA<br>
>  ; CHECK-NEXT:       Natural Loop Information<br>
>  ; CHECK-NEXT:       Canonicalize natural loops<br>
>  ; CHECK-NEXT:       LCSSA Verifier<br>
>  ; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:       Function Alias Analysis Results<br>
>  ; CHECK-NEXT:       Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:       Loop Pass Manager<br>
>  ; CHECK-NEXT:         Rotate Loops<br>
> @@ -246,6 +249,7 @@<br>
>  ; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
>  ; CHECK-NEXT:       Optimization Remark Emitter<br>
>  ; CHECK-NEXT:       Combine redundant instructions<br>
> +; CHECK-NEXT:       Memory SSA<br>
>  ; CHECK-NEXT:       Canonicalize natural loops<br>
>  ; CHECK-NEXT:       LCSSA Verifier<br>
>  ; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
> <br>
> Modified: llvm/trunk/test/Other/opt-O3-pipeline.ll<br>
> URL: <br>
> <a href="https://protect2.fireeye.com/url?k=394f545b-65c59e85-394f14c0-86823e270a62-0bf04c74db73c9df&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FOther%2Fopt-O3-pipeline.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=394f545b-65c59e85-394f14c0-86823e270a62-0bf04c74db73c9df&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FOther%2Fopt-O3-pipeline.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff</a><br>
> =====================================================================<br>
> =========<br>
> --- llvm/trunk/test/Other/opt-O3-pipeline.ll (original)<br>
> +++ llvm/trunk/test/Other/opt-O3-pipeline.ll Wed Sep  4 12:16:04 2019<br>
> @@ -98,12 +98,13 @@<br>
>  ; CHECK-NEXT:         Simplify the CFG<br>
>  ; CHECK-NEXT:         Reassociate expressions<br>
>  ; CHECK-NEXT:         Dominator Tree Construction<br>
> +; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:         Function Alias Analysis Results<br>
> +; CHECK-NEXT:         Memory SSA<br>
>  ; CHECK-NEXT:         Natural Loop Information<br>
>  ; CHECK-NEXT:         Canonicalize natural loops<br>
>  ; CHECK-NEXT:         LCSSA Verifier<br>
>  ; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:         Function Alias Analysis Results<br>
>  ; CHECK-NEXT:         Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:         Loop Pass Manager<br>
>  ; CHECK-NEXT:           Rotate Loops<br>
> @@ -158,12 +159,13 @@<br>
>  ; CHECK-NEXT:         Phi Values Analysis<br>
>  ; CHECK-NEXT:         Memory Dependence Analysis<br>
>  ; CHECK-NEXT:         Dead Store Elimination<br>
> +; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:         Function Alias Analysis Results<br>
> +; CHECK-NEXT:         Memory SSA<br>
>  ; CHECK-NEXT:         Natural Loop Information<br>
>  ; CHECK-NEXT:         Canonicalize natural loops<br>
>  ; CHECK-NEXT:         LCSSA Verifier<br>
>  ; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:         Function Alias Analysis Results<br>
>  ; CHECK-NEXT:         Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:         Loop Pass Manager<br>
>  ; CHECK-NEXT:           Loop Invariant Code Motion<br>
> @@ -190,12 +192,13 @@<br>
>  ; CHECK-NEXT:     FunctionPass Manager<br>
>  ; CHECK-NEXT:       Float to int<br>
>  ; CHECK-NEXT:       Dominator Tree Construction<br>
> +; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:       Function Alias Analysis Results<br>
> +; CHECK-NEXT:       Memory SSA<br>
>  ; CHECK-NEXT:       Natural Loop Information<br>
>  ; CHECK-NEXT:       Canonicalize natural loops<br>
>  ; CHECK-NEXT:       LCSSA Verifier<br>
>  ; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:       Function Alias Analysis Results<br>
>  ; CHECK-NEXT:       Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:       Loop Pass Manager<br>
>  ; CHECK-NEXT:         Rotate Loops<br>
> @@ -251,6 +254,7 @@<br>
>  ; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
>  ; CHECK-NEXT:       Optimization Remark Emitter<br>
>  ; CHECK-NEXT:       Combine redundant instructions<br>
> +; CHECK-NEXT:       Memory SSA<br>
>  ; CHECK-NEXT:       Canonicalize natural loops<br>
>  ; CHECK-NEXT:       LCSSA Verifier<br>
>  ; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
> <br>
> Modified: llvm/trunk/test/Other/opt-Os-pipeline.ll<br>
> URL: <br>
> <a href="https://protect2.fireeye.com/url?k=01c3e0a1-5d492a7f-01c3a03a-86823e270a62-da433cbe7321f7ab&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FOther%2Fopt-Os-pipeline.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=01c3e0a1-5d492a7f-01c3a03a-86823e270a62-da433cbe7321f7ab&q=1&u=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fllvm%2Ftrunk%2Ftest%2FOther%2Fopt-Os-pipeline.ll%3Frev%3D370957%26r1%3D370956%26r2%3D370957%26view%3Ddiff</a><br>
> =====================================================================<br>
> =========<br>
> --- llvm/trunk/test/Other/opt-Os-pipeline.ll (original)<br>
> +++ llvm/trunk/test/Other/opt-Os-pipeline.ll Wed Sep  4 12:16:04 2019<br>
> @@ -80,12 +80,13 @@<br>
>  ; CHECK-NEXT:         Simplify the CFG<br>
>  ; CHECK-NEXT:         Reassociate expressions<br>
>  ; CHECK-NEXT:         Dominator Tree Construction<br>
> +; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:         Function Alias Analysis Results<br>
> +; CHECK-NEXT:         Memory SSA<br>
>  ; CHECK-NEXT:         Natural Loop Information<br>
>  ; CHECK-NEXT:         Canonicalize natural loops<br>
>  ; CHECK-NEXT:         LCSSA Verifier<br>
>  ; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:         Function Alias Analysis Results<br>
>  ; CHECK-NEXT:         Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:         Loop Pass Manager<br>
>  ; CHECK-NEXT:           Rotate Loops<br>
> @@ -140,12 +141,13 @@<br>
>  ; CHECK-NEXT:         Phi Values Analysis<br>
>  ; CHECK-NEXT:         Memory Dependence Analysis<br>
>  ; CHECK-NEXT:         Dead Store Elimination<br>
> +; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:         Function Alias Analysis Results<br>
> +; CHECK-NEXT:         Memory SSA<br>
>  ; CHECK-NEXT:         Natural Loop Information<br>
>  ; CHECK-NEXT:         Canonicalize natural loops<br>
>  ; CHECK-NEXT:         LCSSA Verifier<br>
>  ; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:         Function Alias Analysis Results<br>
>  ; CHECK-NEXT:         Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:         Loop Pass Manager<br>
>  ; CHECK-NEXT:           Loop Invariant Code Motion<br>
> @@ -172,12 +174,13 @@<br>
>  ; CHECK-NEXT:     FunctionPass Manager<br>
>  ; CHECK-NEXT:       Float to int<br>
>  ; CHECK-NEXT:       Dominator Tree Construction<br>
> +; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
> +; CHECK-NEXT:       Function Alias Analysis Results<br>
> +; CHECK-NEXT:       Memory SSA<br>
>  ; CHECK-NEXT:       Natural Loop Information<br>
>  ; CHECK-NEXT:       Canonicalize natural loops<br>
>  ; CHECK-NEXT:       LCSSA Verifier<br>
>  ; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
> -; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
> -; CHECK-NEXT:       Function Alias Analysis Results<br>
>  ; CHECK-NEXT:       Scalar Evolution Analysis<br>
>  ; CHECK-NEXT:       Loop Pass Manager<br>
>  ; CHECK-NEXT:         Rotate Loops<br>
> @@ -233,6 +236,7 @@<br>
>  ; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
>  ; CHECK-NEXT:       Optimization Remark Emitter<br>
>  ; CHECK-NEXT:       Combine redundant instructions<br>
> +; CHECK-NEXT:       Memory SSA<br>
>  ; CHECK-NEXT:       Canonicalize natural loops<br>
>  ; CHECK-NEXT:       LCSSA Verifier<br>
>  ; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
> <br>
> <br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> <br>
<a href="https://protect2.fireeye.com/url?k=613081b5-3dba4b6b-6130c12e-86823e270a62-3b9ac07604e9c962&q=1&u=https%3A%2F%2Flists.llvm.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fllvm-commits" rel="noreferrer" target="_blank">https://protect2.fireeye.com/url?k=613081b5-3dba4b6b-6130c12e-86823e270a62-3b9ac07604e9c962&q=1&u=https%3A%2F%2Flists.llvm.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fllvm-commits</a><br>
</blockquote></div>