Home
last modified time | relevance | path

Searched refs:MSSA (Results 1 – 25 of 79) sorted by relevance

1234

/external/llvm-project/llvm/test/Transforms/LoopRotate/
Dpr35210.ll2 …ebug-pass-manager -debug-only=loop-rotate -verify-memoryssa 2>&1 | FileCheck %s --check-prefix=MSSA
32 ; MSSA: Starting llvm::Function pass manager run.
33 ; MSSA-NEXT: Running pass: ADCEPass on f
34 ; MSSA-NEXT: Running analysis: PostDominatorTreeAnalysis on f
35 ; MSSA-NEXT: Starting llvm::Function pass manager run.
36 ; MSSA-NEXT: Running pass: LoopSimplifyPass on f
37 ; MSSA-NEXT: Running analysis: LoopAnalysis on f
38 ; MSSA-NEXT: Running analysis: DominatorTreeAnalysis on f
39 ; MSSA-NEXT: Running analysis: AssumptionAnalysis on f
40 ; MSSA-NEXT: Running pass: LCSSAPass on f
[all …]
/external/llvm/unittests/Transforms/Utils/
DMemorySSA.cpp45 MemorySSA MSSA; member
50 BAA(Test.DL, Test.TLI, AC, &DT), MSSA(*Test.F, &AA, &DT) { in TestAnalyses()
52 Walker = MSSA.getWalker(); in TestAnalyses()
88 MemorySSA &MSSA = Analyses->MSSA; in TEST_F() local
93 EXPECT_EQ(MSSA.getMemoryAccess(Merge), nullptr); in TEST_F()
96 MemoryPhi *MP = MSSA.createMemoryPhi(Merge); in TEST_F()
97 MemoryDef *StoreAccess = cast<MemoryDef>(MSSA.getMemoryAccess(StoreInst)); in TEST_F()
99 MP->addIncoming(MSSA.getLiveOnEntryDef(), Right); in TEST_F()
103 MSSA.createMemoryAccessInBB(LoadInst, MP, Merge, MemorySSA::Beginning)); in TEST_F()
106 MSSA.verifyMemorySSA(); in TEST_F()
[all …]
/external/llvm-project/llvm/unittests/Analysis/
DMemorySSATest.cpp49 std::unique_ptr<MemorySSA> MSSA; member
56 MSSA = std::make_unique<MemorySSA>(*Test.F, &AA, &DT); in TestAnalyses()
57 Walker = MSSA->getWalker(); in TestAnalyses()
93 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
94 MemorySSAUpdater Updater(&MSSA); in TEST_F()
100 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
108 MSSA.verifyMemorySSA(); in TEST_F()
132 MemorySSA &MSSA = *Analyses->MSSA; in TEST_F() local
133 MemorySSAUpdater Updater(&MSSA); in TEST_F()
146 MemoryPhi *MP = MSSA.getMemoryAccess(Merge); in TEST_F()
[all …]
/external/llvm-project/llvm/test/Transforms/MemCpyOpt/
Dnonlocal-memcpy-memcpy.ll3 …%s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
37 ; MSSA-LABEL: @wobble(
38 ; MSSA-NEXT: bb:
39 ; MSSA-NEXT: [[TEMP:%.*]] = alloca i8, i32 64, align 1
40 ; MSSA-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SR…
41 ; MSSA-NEXT: br i1 [[SOME_CONDITION:%.*]], label [[MORE:%.*]], label [[OUT:%.*]]
42 ; MSSA: out:
43 ; MSSA-NEXT: call void @qux()
44 ; MSSA-NEXT: unreachable
45 ; MSSA: more:
[all …]
Dmemcpy-invoke-memcpy.ll3 …%s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
25 ; MSSA-LABEL: @test_normal(
26 ; MSSA-NEXT: entry:
27 ; MSSA-NEXT: [[TEMP:%.*]] = alloca i8, i32 64, align 1
28 ; MSSA-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 [[TEMP]], i8* nonnull align 8 [[SR…
29 ; MSSA-NEXT: invoke void @invoke_me()
30 ; MSSA-NEXT: to label [[TRY_CONT:%.*]] unwind label [[LPAD:%.*]]
31 ; MSSA: lpad:
32 ; MSSA-NEXT: [[TMP0:%.*]] = landingpad { i8*, i32 }
33 ; MSSA-NEXT: catch i8* null
[all …]
Dmixed-sizes.ll3 …%s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
32 ; MSSA-LABEL: @foo(
33 ; MSSA-NEXT: entry:
34 ; MSSA-NEXT: [[A:%.*]] = alloca [10 x i32], align 4
35 ; MSSA-NEXT: [[S:%.*]] = alloca [10 x i32], align 4
36 ; MSSA-NEXT: [[TMP0:%.*]] = bitcast [10 x i32]* [[A]] to i8*
37 ; MSSA-NEXT: [[TMP1:%.*]] = bitcast [10 x i32]* [[S]] to i8*
38 ; MSSA-NEXT: call void @llvm.memset.p0i8.i64(i8* nonnull align 16 [[TMP1]], i8 0, i64 40, i1 fal…
39 ; MSSA-NEXT: [[ARRAYIDX:%.*]] = getelementptr inbounds [10 x i32], [10 x i32]* [[A]], i64 0, i64…
40 ; MSSA-NEXT: store i32 1, i32* [[ARRAYIDX]], align 4
[all …]
Dmerge-into-memset.ll3 …%s -memcpyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefix=MSSA
25 ; MSSA-LABEL: @foo(
26 ; MSSA-NEXT: entry:
27 ; MSSA-NEXT: [[TMP:%.*]] = alloca [50 x i8], align 8
28 ; MSSA-NEXT: [[TMP4:%.*]] = bitcast [50 x i8]* [[TMP]] to i8*
29 ; MSSA-NEXT: [[TMP1:%.*]] = getelementptr inbounds i8, i8* [[TMP4]], i64 1
30 ; MSSA-NEXT: call void @llvm.memset.p0i8.i64(i8* nonnull [[D:%.*]], i8 0, i64 10, i1 false)
31 ; MSSA-NEXT: call void @llvm.memset.p0i8.i64(i8* align 8 [[TMP4]], i8 0, i64 11, i1 false)
32 ; MSSA-NEXT: br i1 [[C:%.*]], label [[IF_THEN:%.*]], label [[EXIT:%.*]]
33 ; MSSA: if.then:
[all …]
Dstackrestore.ll33 ; MSSA-LABEL: @test_norestore(
34 ; MSSA-NEXT: [[TMPMEM:%.*]] = alloca [10 x i8], align 4
35 ; MSSA-NEXT: [[TMP:%.*]] = getelementptr inbounds [10 x i8], [10 x i8]* [[TMPMEM]], i32 0, i32 0
36 ; MSSA-NEXT: [[P:%.*]] = alloca i8, i32 [[N:%.*]], align 4
37 ; MSSA-NEXT: call void @llvm.memcpy.p0i8.p0i8.i32(i8* [[P]], i8* align 1 getelementptr inbounds …
38 ; MSSA-NEXT: [[P10:%.*]] = getelementptr inbounds i8, i8* [[P]], i32 9
39 ; MSSA-NEXT: store i8 0, i8* [[P10]], align 1
40 ; MSSA-NEXT: call void @llvm.memcpy.p0i8.p0i8.i32(i8* [[TMP]], i8* [[P]], i32 10, i1 false)
41 ; MSSA-NEXT: call void @external()
42 ; MSSA-NEXT: [[HEAP:%.*]] = call i8* @malloc(i32 9)
[all …]
Dinvariant.start.ll4 …pyopt -S -enable-memcpyopt-memoryssa=1 -verify-memoryssa | FileCheck %s --check-prefixes=CHECK,MSSA
29 ; MSSA-LABEL: @test1(
30 ; MSSA-NEXT: [[MEMTMP:%.*]] = alloca [[TMP0:%.*]], align 16
31 ; MSSA-NEXT: [[R:%.*]] = bitcast %0* [[MEMTMP]] to i8*
32 ; MSSA-NEXT: call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 16 [[R]], i8* align 16 [[P:%.*]], i3…
33 ; MSSA-NEXT: [[I:%.*]] = call {}* @llvm.invariant.start.p0i8(i64 32, i8* [[P]])
34 ; MSSA-NEXT: call void @llvm.memmove.p0i8.p0i8.i32(i8* align 16 [[Q:%.*]], i8* align 16 [[P]], i…
35 ; MSSA-NEXT: ret void
/external/llvm-project/llvm/lib/Analysis/
DMemorySSAUpdater.cpp53 if (!MSSA->DT->isReachableFromEntry(BB)) in getPreviousDefRecursive()
54 return MSSA->getLiveOnEntryDef(); in getPreviousDefRecursive()
68 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive()
83 if (MSSA->DT->isReachableFromEntry(Pred)) { in getPreviousDefRecursive()
91 PhiOps.push_back(MSSA->getLiveOnEntryDef()); in getPreviousDefRecursive()
96 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB)); in getPreviousDefRecursive()
111 Phi = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive()
155 auto *Defs = MSSA->getWritableBlockDefs(MA->getBlock()); in getPreviousDefInBlock()
167 auto End = MSSA->getWritableBlockAccesses(MA->getBlock())->rend(); in getPreviousDefInBlock()
182 auto *Defs = MSSA->getWritableBlockDefs(BB); in getPreviousDefFromEnd()
[all …]
DMemorySSA.cpp108 const MemorySSA *MSSA; member in llvm::MemorySSAAnnotatedWriter
111 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter()
115 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot()
121 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot()
404 const MemoryLocation &StartLoc, const MemorySSA &MSSA, in checkClobberSanity() argument
407 assert(MSSA.dominates(ClobberAt, Start) && "Clobber doesn't dominate start?"); in checkClobberSanity()
409 if (MSSA.isLiveOnEntryDef(Start)) { in checkClobberSanity()
410 assert(MSSA.isLiveOnEntryDef(ClobberAt) && in checkClobberSanity()
436 FoundClobber = FoundClobber || MSSA.isLiveOnEntryDef(MD); in checkClobberSanity()
450 assert(!MSSA.isLiveOnEntryDef(MA) && "Hit liveOnEntry before clobber?"); in checkClobberSanity()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DMemorySSAUpdater.cpp51 if (!MSSA->DT->isReachableFromEntry(BB)) in getPreviousDefRecursive()
52 return MSSA->getLiveOnEntryDef(); in getPreviousDefRecursive()
66 MemoryAccess *Result = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive()
81 if (MSSA->DT->isReachableFromEntry(Pred)) { in getPreviousDefRecursive()
89 PhiOps.push_back(MSSA->getLiveOnEntryDef()); in getPreviousDefRecursive()
94 MemoryPhi *Phi = dyn_cast_or_null<MemoryPhi>(MSSA->getMemoryAccess(BB)); in getPreviousDefRecursive()
109 Phi = MSSA->createMemoryPhi(BB); in getPreviousDefRecursive()
153 auto *Defs = MSSA->getWritableBlockDefs(MA->getBlock()); in getPreviousDefInBlock()
165 auto End = MSSA->getWritableBlockAccesses(MA->getBlock())->rend(); in getPreviousDefInBlock()
180 auto *Defs = MSSA->getWritableBlockDefs(BB); in getPreviousDefFromEnd()
[all …]
DMemorySSA.cpp102 const MemorySSA *MSSA; member in llvm::MemorySSAAnnotatedWriter
105 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter()
109 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot()
115 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot()
401 const MemoryLocation &StartLoc, const MemorySSA &MSSA, in checkClobberSanity() argument
404 assert(MSSA.dominates(ClobberAt, Start) && "Clobber doesn't dominate start?"); in checkClobberSanity()
406 if (MSSA.isLiveOnEntryDef(Start)) { in checkClobberSanity()
407 assert(MSSA.isLiveOnEntryDef(ClobberAt) && in checkClobberSanity()
433 FoundClobber = FoundClobber || MSSA.isLiveOnEntryDef(MD); in checkClobberSanity()
447 assert(!MSSA.isLiveOnEntryDef(MA) && "Hit liveOnEntry before clobber?"); in checkClobberSanity()
[all …]
/external/llvm-project/llvm/test/CodeGen/PowerPC/
Dpr35688.ll5 ; RUN: FileCheck %s --check-prefix=MSSA
22 ; MSSA-LABEL: ec_GFp_nistp256_points_mul
23 ; MSSA: ld 3, 0(3)
24 ; MSSA: li 4, 0
25 ; MSSA: subfic 5, 3, 0
26 ; MSSA: subfze 5, 4
27 ; MSSA: sradi 5, 5, 63
28 ; MSSA: subc 3, 5, 3
29 ; MSSA: subfe 3, 4, 5
30 ; MSSA: sradi 3, 3, 63
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DLoopInstSimplify.cpp80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst() local
85 MSSA->verifyMemorySSA(); in simplifyLoopInst()
139 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I)) in simplifyLoopInst()
140 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI)) in simplifyLoopInst()
159 MSSA->verifyMemorySSA(); in simplifyLoopInst()
198 MemorySSA *MSSA = nullptr; in runOnLoop() local
201 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); in runOnLoop()
202 MSSAU = MemorySSAUpdater(MSSA); in runOnLoop()
228 if (AR.MSSA) { in run()
229 MSSAU = MemorySSAUpdater(AR.MSSA); in run()
[all …]
DLoopRotation.cpp47 if (AR.MSSA) in run()
48 MSSAU = MemorySSAUpdater(AR.MSSA); in run()
56 if (AR.MSSA && VerifyMemorySSA) in run()
57 AR.MSSA->verifyMemorySSA(); in run()
60 if (AR.MSSA) in run()
/external/llvm-project/llvm/lib/Transforms/Scalar/
DLoopInstSimplify.cpp80 MemorySSA *MSSA = MSSAU ? MSSAU->getMemorySSA() : nullptr; in simplifyLoopInst() local
85 MSSA->verifyMemorySSA(); in simplifyLoopInst()
139 if (MemoryAccess *MA = MSSA->getMemoryAccess(&I)) in simplifyLoopInst()
140 if (MemoryAccess *ReplacementMA = MSSA->getMemoryAccess(SimpleI)) in simplifyLoopInst()
159 MSSA->verifyMemorySSA(); in simplifyLoopInst()
198 MemorySSA *MSSA = nullptr; in runOnLoop() local
201 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); in runOnLoop()
202 MSSAU = MemorySSAUpdater(MSSA); in runOnLoop()
228 if (AR.MSSA) { in run()
229 MSSAU = MemorySSAUpdater(AR.MSSA); in run()
[all …]
DLoopSink.cpp286 MemorySSA *MSSA) { in sinkLoopInvariantInstructions() argument
304 if (MSSA) { in sinkLoopInvariantInstructions()
305 MSSAU = std::make_unique<MemorySSAUpdater>(MSSA); in sinkLoopInvariantInstructions()
307 std::make_unique<SinkAndHoistLICMFlags>(/*IsSink=*/true, &L, MSSA); in sinkLoopInvariantInstructions()
363 MemorySSA *MSSA = EnableMSSAInLoopSink in run() local
398 CurAST.get(), MSSA); in run()
407 if (MSSA) { in run()
411 MSSA->verifyMemorySSA(); in run()
440 MemorySSA *MSSA = nullptr; in runOnLoop() local
442 MSSA = &getAnalysis<MemorySSAWrapperPass>().getMSSA(); in runOnLoop()
[all …]
DLoopDeletion.cpp144 MemorySSA *MSSA, in deleteLoopIfDead() argument
184 deleteDeadLoop(L, &DT, &SE, &LI, MSSA); in deleteLoopIfDead()
225 deleteDeadLoop(L, &DT, &SE, &LI, MSSA); in deleteLoopIfDead()
242 auto Result = deleteLoopIfDead(&L, AR.DT, AR.SE, AR.LI, AR.MSSA, ORE); in run()
250 if (AR.MSSA) in run()
289 MemorySSA *MSSA = nullptr; in runOnLoop() local
291 MSSA = &MSSAAnalysis->getMSSA(); in runOnLoop()
300 LoopDeletionResult Result = deleteLoopIfDead(L, DT, SE, LI, MSSA, ORE); in runOnLoop()
DLoopRotation.cpp54 if (AR.MSSA) in run()
55 MSSAU = MemorySSAUpdater(AR.MSSA); in run()
63 if (AR.MSSA && VerifyMemorySSA) in run()
64 AR.MSSA->verifyMemorySSA(); in run()
67 if (AR.MSSA) in run()
DMemCpyOptimizer.cpp355 static bool writtenBetween(MemorySSA *MSSA, MemoryLocation Loc, in writtenBetween() argument
359 MemoryAccess *Clobber = MSSA->getWalker()->getClobberingMemoryAccess( in writtenBetween()
361 return !MSSA->dominates(Clobber, Start); in writtenBetween()
743 MSSA->getWalker()->getClobberingMemoryAccess(LI))) { in processStore()
760 if (accessedBetween(*AA, StoreLoc, MSSA->getMemoryAccess(C), in processStore()
761 MSSA->getMemoryAccess(SI))) in processStore()
1072 if (writtenBetween(MSSA, MemoryLocation::getForSource(MDep), in processMemCpyMemCpyDependence()
1073 MSSA->getMemoryAccess(MDep), MSSA->getMemoryAccess(M))) in processMemCpyMemCpyDependence()
1156 MSSA->getMemoryAccess(MemSet), in processMemSetMemCpyDependence()
1157 MSSA->getMemoryAccess(MemCpy))) { in processMemSetMemCpyDependence()
[all …]
DLICM.cpp172 static bool pointerInvalidatedByLoopWithMSSA(MemorySSA *MSSA, MemoryUse *MU,
175 static bool pointerInvalidatedByBlockWithMSSA(BasicBlock &BB, MemorySSA &MSSA,
192 TargetTransformInfo *TTI, ScalarEvolution *SE, MemorySSA *MSSA,
225 MemorySSA *MSSA = EnableMSSALoopDependency in runOnLoop() local
244 SE ? &SE->getSE() : nullptr, MSSA, &ORE); in runOnLoop()
279 &AR.SE, AR.MSSA, &ORE)) in run()
286 if (AR.MSSA) in run()
310 MemorySSA *MSSA) in SinkAndHoistLICMFlags() argument
312 IsSink, L, MSSA) {} in SinkAndHoistLICMFlags()
316 Loop *L, MemorySSA *MSSA) in SinkAndHoistLICMFlags() argument
[all …]
/external/llvm/lib/Transforms/Utils/
DMemorySSA.cpp72 const MemorySSA *MSSA; member in llvm::MemorySSAAnnotatedWriter
75 MemorySSAAnnotatedWriter(const MemorySSA *M) : MSSA(M) {} in MemorySSAAnnotatedWriter()
79 if (MemoryAccess *MA = MSSA->getMemoryAccess(BB)) in emitBasicBlockStartAnnot()
85 if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) in emitInstructionAnnot()
302 MemorySSA::MemorySSA(MemorySSA &&MSSA) in MemorySSA() argument
303 : AA(MSSA.AA), DT(MSSA.DT), F(MSSA.F), in MemorySSA()
304 ValueToMemoryAccess(std::move(MSSA.ValueToMemoryAccess)), in MemorySSA()
305 PerBlockAccesses(std::move(MSSA.PerBlockAccesses)), in MemorySSA()
306 LiveOnEntryDef(std::move(MSSA.LiveOnEntryDef)), in MemorySSA()
307 Walker(std::move(MSSA.Walker)), NextID(MSSA.NextID) { in MemorySSA()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DMemorySSAUpdater.h72 MemorySSA *MSSA;
82 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} in MemorySSAUpdater() argument
236 if (MemoryAccess *MA = MSSA->getMemoryAccess(I))
260 MemorySSA* getMemorySSA() const { return MSSA; } in getMemorySSA()
/external/llvm-project/llvm/include/llvm/Analysis/
DMemorySSAUpdater.h58 MemorySSA *MSSA;
68 MemorySSAUpdater(MemorySSA *MSSA) : MSSA(MSSA) {} in MemorySSAUpdater() argument
222 if (MemoryAccess *MA = MSSA->getMemoryAccess(I))
246 MemorySSA* getMemorySSA() const { return MSSA; } in getMemorySSA()

1234