Home
last modified time | relevance | path

Searched full:mem_barrier (Results 1 – 6 of 6) sorted by relevance

/arkcompiler/runtime_core/compiler/tests/
Dmemory_barriers_test.cpp48 ASSERT_EQ(INS(0).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
49 ASSERT_EQ(INS(1).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
50 ASSERT_EQ(INS(2).GetFlag(inst_flags::MEM_BARRIER), true); in TEST_F()
51 ASSERT_EQ(INS(3).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
52 ASSERT_EQ(INS(4).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
53 ASSERT_EQ(INS(5).GetFlag(inst_flags::MEM_BARRIER), true); in TEST_F()
54 ASSERT_EQ(INS(6).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
55 ASSERT_EQ(INS(7).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
56 ASSERT_EQ(INS(8).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
57 ASSERT_EQ(INS(9).GetFlag(inst_flags::MEM_BARRIER), false); in TEST_F()
[all …]
/arkcompiler/runtime_core/compiler/docs/
Dmemory_barriers_doc.md19 There is instruction flag `MEM_BARRIER`. The flag is set to `true` for the instructions NewObject, …
21 We pass through all instructions in PRO order. If the instruction has flag `MEM_BARRIER` we add the…
24 The function set `false` for the flag `MEM_BARRIER`, exclude last instruction from the vector.
29 Codegen checks the flag `MEM_BARRIER` for the instructions NewObject, NewArray and NewMultiArray an…
39 if (inst->GetFlag(inst_flags::MEM_BARRIER)) {
58 inst->ClearFlag(inst_flags::MEM_BARRIER);
60 last_barrier_inst->SetFlag(inst_flags::MEM_BARRIER);
93 Instructions `2.ref NewArray`, `5.ref NewObject` and `10.ref NewObject` have flag `MEM_BARRIER` …
/arkcompiler/runtime_core/compiler/optimizer/optimizations/
Dmemory_barriers.cpp31 inst->ClearFlag(inst_flags::MEM_BARRIER); in MergeBarriers()
33 last_barrier_inst->SetFlag(inst_flags::MEM_BARRIER); in MergeBarriers()
224 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in ApplyGraph()
Dcode_sink.cpp101 bool mem_barrier = false; in ProcessBlock() local
110 mem_barrier = true; in ProcessBlock()
113 BasicBlock *candidate = SinkInstruction(inst, &stores, mem_barrier); in ProcessBlock()
/arkcompiler/runtime_core/compiler/optimizer/ir/
Dinstructions.yaml254 flags: [can_throw, no_dce, no_hoist, no_cse, alloc, require_state, runtime_call, mem_barrier]
262 flags: [can_throw, no_dce, no_hoist, no_cse, alloc, require_state, runtime_call, mem_barrier]
657 flags: [can_throw, no_dce, no_hoist, no_cse, barrier, require_state, runtime_call, mem_barrier]
1181 mem_barrier: we need encode memory barrier after the instruction(for return.void before)
/arkcompiler/runtime_core/compiler/optimizer/code_generator/
Dcodegen.cpp2761 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in VisitReturnVoid()
2813 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in VisitReturnInlined()
2904 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in VisitNewArray()
2921 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in VisitNewArray()
2960 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in VisitNewArray()
4130 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in VisitNewObject()
4892 if (inst->GetFlag(inst_flags::MEM_BARRIER)) { in VisitMultiArray()