Lines Matching defs:context
41 uint32_t NumUses(const std::unique_ptr<IRContext>& context, uint32_t id) {
43 context->get_def_use_mgr()->ForEachUse(
52 std::vector<spv::Op> GetUseOpcodes(const std::unique_ptr<IRContext>& context,
55 context->get_def_use_mgr()->ForEachUse(
102 // Constants don't disassemble properly without a full context.
127 // Constants don't disassemble properly without a full context, so skip them as
195 std::unique_ptr<IRContext> context =
198 ASSERT_NE(nullptr, context);
201 DefUseManager manager(context->module());
204 CheckUse(tc.du, &manager, context->module()->IdBound());
611 std::unique_ptr<IRContext> context =
614 ASSERT_NE(nullptr, context);
617 context->InvalidateAnalyses(IRContext::Analysis::kAnalysisDefUse);
618 (void)context->get_def_use_mgr();
622 context->ReplaceAllUsesWith(candidate.first, candidate.second);
625 EXPECT_EQ(tc.after, DisassembleModule(context->module()));
626 CheckDef(tc.du, context->get_def_use_mgr()->id_to_defs());
627 CheckUse(tc.du, context->get_def_use_mgr(), context->module()->IdBound());
966 std::unique_ptr<IRContext> context =
969 ASSERT_NE(nullptr, context);
972 DefUseManager manager(context->module());
975 for (const auto id : tc.ids_to_kill) context->KillDef(id);
977 EXPECT_EQ(tc.after, DisassembleModule(context->module()));
978 CheckDef(tc.du, context->get_def_use_mgr()->id_to_defs());
979 CheckUse(tc.du, context->get_def_use_mgr(), context->module()->IdBound());
1243 std::unique_ptr<IRContext> context =
1246 ASSERT_NE(nullptr, context);
1249 context->InvalidateAnalyses(IRContext::Analysis::kAnalysisDefUse);
1250 (void)context->get_def_use_mgr();
1253 context->ReplaceAllUsesWith(11, 7); // to existing id
1254 context->ReplaceAllUsesWith(10, 11); // to existing id
1255 context->ReplaceAllUsesWith(9, 10); // to existing id
1280 EXPECT_EQ(modified_text, DisassembleModule(context->module()));
1296 CheckDef(def_uses, context->get_def_use_mgr()->id_to_defs());
1299 EXPECT_EQ(2u, NumUses(context, 6));
1300 std::vector<spv::Op> opcodes = GetUseOpcodes(context, 6u);
1305 EXPECT_EQ(6u, NumUses(context, 7));
1306 std::vector<spv::Op> opcodes = GetUseOpcodes(context, 7u);
1315 EXPECT_EQ(1u, NumUses(context, id));
1316 EXPECT_EQ(spv::Op::OpSwitch, GetUseOpcodes(context, id).back());
1334 std::unique_ptr<IRContext> context =
1336 ASSERT_NE(nullptr, context);
1339 DefUseManager manager(context->module());
1342 CheckUse(tc.expected_define_use, &manager, context->module()->IdBound());
1377 IRContext context(SPV_ENV_UNIVERSAL_1_2, nullptr);
1380 DefUseManager manager(context.module());
1382 Instruction label(&context, spv::Op::OpLabel, 0, 2, {});
1385 Instruction branch(&context, spv::Op::OpBranch, 0, 0,
1388 context.module()->SetIdBound(3);
1400 CheckUse(expected, &manager, context.module()->IdBound());
1407 std::unique_ptr<IRContext> context =
1409 ASSERT_NE(nullptr, context);
1412 DefUseManager manager(context->module());
1414 Instruction newInst(context.get(), spv::Op::OpConstantTrue, 1, 2, {});
1430 CheckUse(expected, &manager, context->module()->IdBound());
1446 std::unique_ptr<IRContext> context =
1449 ASSERT_NE(nullptr, context);
1452 context->InvalidateAnalyses(IRContext::Analysis::kAnalysisDefUse);
1453 (void)context->get_def_use_mgr();
1456 context->module()->ForEachInst([&tc, &context](Instruction* inst) {
1458 context->KillInst(inst);
1462 EXPECT_EQ(tc.after, DisassembleModule(context->module()));
1463 CheckDef(tc.expected_define_use, context->get_def_use_mgr()->id_to_defs());
1464 CheckUse(tc.expected_define_use, context->get_def_use_mgr(),
1465 context->module()->IdBound());
1573 std::unique_ptr<IRContext> context =
1575 ASSERT_NE(nullptr, context);
1578 DefUseManager manager(context->module());
1700 std::unique_ptr<IRContext> context =
1703 ASSERT_NE(nullptr, context);
1705 DefUseManager* def_use_mgr = context->get_def_use_mgr();
1710 context->UpdateDefUse(def);