Skip to content

Commit 70771bc

Browse files
committed
fixup! [SandboxIR][Tracker] Track Instruction::moveBefore()
1 parent f45ea62 commit 70771bc

File tree

1 file changed

+63
-1
lines changed

1 file changed

+63
-1
lines changed

llvm/unittests/SandboxIR/TrackerTest.cpp

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,8 @@ define i32 @foo(i32 %arg) {
275275
sandboxir::Instruction *Add1 = &*It++;
276276
sandboxir::Instruction *Ret = &*It++;
277277

278+
// Check moveBefore(Instruction *) with tracking enabled.
278279
Ctx.save();
279-
// Check moveBefore() with tracking enabled.
280280
Add1->moveBefore(Add0);
281281
It = BB->begin();
282282
EXPECT_EQ(&*It++, Add1);
@@ -305,4 +305,66 @@ define i32 @foo(i32 %arg) {
305305
EXPECT_EQ(&*It++, Add1);
306306
EXPECT_EQ(&*It++, Ret);
307307
EXPECT_EQ(It, BB->end());
308+
309+
// Check moveBefore(BasicBlock &, BasicBlock::iterator) with tracking enabled.
310+
Ctx.save();
311+
Add1->moveBefore(*BB, Add0->getIterator());
312+
It = BB->begin();
313+
EXPECT_EQ(&*It++, Add1);
314+
EXPECT_EQ(&*It++, Add0);
315+
EXPECT_EQ(&*It++, Ret);
316+
EXPECT_EQ(It, BB->end());
317+
// Check revert().
318+
Ctx.revert();
319+
It = BB->begin();
320+
EXPECT_EQ(&*It++, Add0);
321+
EXPECT_EQ(&*It++, Add1);
322+
EXPECT_EQ(&*It++, Ret);
323+
EXPECT_EQ(It, BB->end());
324+
325+
// Same for the last instruction in the block.
326+
Ctx.save();
327+
Ret->moveBefore(*BB, Add0->getIterator());
328+
It = BB->begin();
329+
EXPECT_EQ(&*It++, Ret);
330+
EXPECT_EQ(&*It++, Add0);
331+
EXPECT_EQ(&*It++, Add1);
332+
EXPECT_EQ(It, BB->end());
333+
Ctx.revert();
334+
It = BB->begin();
335+
EXPECT_EQ(&*It++, Add0);
336+
EXPECT_EQ(&*It++, Add1);
337+
EXPECT_EQ(&*It++, Ret);
338+
EXPECT_EQ(It, BB->end());
339+
340+
// Check moveAfter(Instruction *) with tracking enabled.
341+
Ctx.save();
342+
Add0->moveAfter(Add1);
343+
It = BB->begin();
344+
EXPECT_EQ(&*It++, Add1);
345+
EXPECT_EQ(&*It++, Add0);
346+
EXPECT_EQ(&*It++, Ret);
347+
EXPECT_EQ(It, BB->end());
348+
// Check revert().
349+
Ctx.revert();
350+
It = BB->begin();
351+
EXPECT_EQ(&*It++, Add0);
352+
EXPECT_EQ(&*It++, Add1);
353+
EXPECT_EQ(&*It++, Ret);
354+
EXPECT_EQ(It, BB->end());
355+
356+
// Same for the last instruction in the block.
357+
Ctx.save();
358+
Ret->moveAfter(Add0);
359+
It = BB->begin();
360+
EXPECT_EQ(&*It++, Add0);
361+
EXPECT_EQ(&*It++, Ret);
362+
EXPECT_EQ(&*It++, Add1);
363+
EXPECT_EQ(It, BB->end());
364+
Ctx.revert();
365+
It = BB->begin();
366+
EXPECT_EQ(&*It++, Add0);
367+
EXPECT_EQ(&*It++, Add1);
368+
EXPECT_EQ(&*It++, Ret);
369+
EXPECT_EQ(It, BB->end());
308370
}

0 commit comments

Comments
 (0)