Home
last modified time | relevance | path

Searched refs:instructions (Results 1 - 25 of 54) sorted by relevance

123

/arkcompiler/runtime_core/static_core/irtoc/lang/
H A Dbasic_block.rb19 attr_reader :index, :function, :preds, :instructions
23 @instructions = []
33 @instructions[-1]
37 @instructions.empty?
41 !empty? && @instructions[-1].terminator?
47 @instructions.prepend(inst)
49 @instructions << inst
82 @instructions.each(&:emit_ir)
87 @instructions.each(&:generate_builder)
H A Dinstructions_data.rb19 @@instructions = {}
25 yaml_data['instructions'].each do |inst|
27 @@instructions[inst["opcode"].to_sym] = inst
31 @@instructions[inst["opcode"].to_sym] = inst
39 def self.instructions; @@instructions; end singleton method in InstructionsData
H A Dir_generator.rb68 if bb.instructions.last.IsReturn?
87 bb.instructions.each { |inst| generate_instruction(inst) }
141 raise 'SaveState is added only for instructions with dynamic number of inputs' if need_save_state && !inst.dynamic_inputs?
H A Dinstruction.rb46 @dscr = OpenStruct.new(InstructionsData.instructions[name])
52 abort "Wrong instructions #{name}" unless InstructionsData.instructions.include? name
229 InstructionsData.instructions.each do |opcode, inst|
292 raise 'SaveState is added only for instructions with dynamic number of inputs' if need_save_state && !dynamic_inputs?
/arkcompiler/runtime_core/compiler/tests/
H A Diterators_test.cpp92 // Check InstForwardValidIterator with erasing instructions in Check()
120 // Check InstBackwardValidIterator with erasing instructions in Check()
154 void InitExpectData(std::vector<Inst *> &instructions) in InitExpectData() argument
160 for (auto inst : instructions) { in InitExpectData()
171 void PopulateBlock(BasicBlock *block, std::vector<Inst *> &instructions) in PopulateBlock() argument
173 for (auto inst : instructions) { in PopulateBlock()
197 std::vector<Inst *> instructions; in TEST_F() local
198 Check(instructions); in TEST_F()
210 std::vector<Inst *> instructions(IteratorsTest::INST_COUNT); in TEST_F()
211 for (auto &inst : instructions) { in TEST_F()
[all...]
/arkcompiler/runtime_core/static_core/compiler/tests/
H A Diterators_test.cpp168 // Check InstForwardValidIterator with erasing instructions in Check()
170 // Check InstBackwardValidIterator with erasing instructions in Check()
175 void InitExpectData(std::vector<Inst *> &instructions) in InitExpectData() argument
181 for (auto inst : instructions) { in InitExpectData()
192 void PopulateBlock(BasicBlock *block, std::vector<Inst *> &instructions) in PopulateBlock() argument
194 for (auto inst : instructions) { in PopulateBlock()
218 std::vector<Inst *> instructions; in TEST_F() local
219 Check(instructions); in TEST_F()
231 std::vector<Inst *> instructions(IteratorsTest::INST_COUNT); in TEST_F()
232 for (auto &inst : instructions) { in TEST_F()
[all...]
/arkcompiler/runtime_core/static_core/verification/absint/tests/
H A Dexec_context_test.cpp36 RegContext &ctx3, uint8_t const instructions[128U]) // NOLINT(modernize-avoid-c-arrays) in ProcessAbsIntExecContext()
38 const uint8_t *ep = &instructions[0]; in ProcessAbsIntExecContext()
108 uint8_t instructions[128U]; in TEST_F() local
110 ExecContext execCtx {&instructions[0], &instructions[127U], &typeSystem}; in TEST_F()
112 std::array<const uint8_t *, 6> cp = {&instructions[8U], &instructions[17U], &instructions[23U], in TEST_F()
113 &instructions[49U], &instructions[7 in TEST_F()
35 ProcessAbsIntExecContext(ExecContext &execCtx, std::array<const uint8_t *, 6> &cp, RegContext &ctx2, RegContext &ctx3, uint8_t const instructions[128U]) ProcessAbsIntExecContext() argument
[all...]
/arkcompiler/runtime_core/isa/
H A Dasserts.rb33 assert('Unique opcodes') { Panda.instructions.map(&:opcode).uniq? }
36 Panda.instructions.reject(&:prefix).size + Panda.prefixes.size <= 256
40 Panda.instructions.reject(&:prefix).sorted_by?(&:opcode_idx)
47 assert('All instructions for a prefix should fit one byte') do
49 Panda.instructions.select { |insn| insn.prefix && (insn.prefix.name == prefix.name) }.size <= 256
54 Panda.instructions.map do |insn|
60 Panda.instructions.map do |insn|
85 uses = Panda.instructions.flat_map(&type.to_proc).uniq
93 uses = Panda.instructions.flat_map(&type.to_proc).uniq
99 assert('Format operands are parseable') { Panda.instructions
[all...]
H A Dcombine.rb22 data['groups'].flat_map { |g| g['instructions'] }
45 # check that all instructions are prefixed:
46 instructions = data_instructions(plugin_data)
47 raise 'Plugged in instructions must be prefixed' unless instructions.reject { |i| i['prefix'] }.empty?
H A Disapi.rb91 # Methods for YAML instructions
106 # Unique (and not very long) identifier for all instructions
430 # * non-prefixed instructions handlers
433 # * prefixed instructions handlers, in the order of prefixes
436 handlers = Panda.instructions.reject(&:prefix) +
441 Panda.instructions.select(&:prefix).stable_sort_by { |i| Panda.prefixes_hash[i.prefix.name].opcode_idx }
447 (Panda.instructions.reject(&:prefix).map(&:opcode_idx).max + 1)..(Panda.prefixes.map(&:opcode_idx).min - 1)
460 # Offset in dispatch table for handlers of instructions for given prefix name
470 prefix_instructions_num = Panda.instructions.select { |i| i.prefix && (i.prefix.name == p.name) }.size
562 cached def instructions
[all...]
/arkcompiler/runtime_core/static_core/isa/
H A Dasserts.rb33 assert('Unique opcodes') { Panda.instructions.map(&:opcode).uniq? }
36 Panda.instructions.reject(&:prefix).size + Panda.prefixes.size <= 256
40 Panda.instructions.reject(&:prefix).sorted_by?(&:opcode_idx)
47 assert('All instructions for a prefix should fit one byte') do
49 Panda.instructions.select { |insn| insn.prefix && (insn.prefix.name == prefix.name) }.size <= 256
54 Panda.instructions.map do |insn|
60 Panda.instructions.map do |insn|
85 uses = Panda.instructions.flat_map(&type.to_proc).uniq
93 uses = Panda.instructions.flat_map(&type.to_proc).uniq
99 assert('Format operands are parseable') { Panda.instructions
[all...]
H A Dcombine.rb22 data['groups'].flat_map { |g| g['instructions'] }
45 # check that all instructions are prefixed:
46 instructions = data_instructions(plugin_data)
47 raise 'Plugged in instructions must be prefixed' unless instructions.reject { |i| i['prefix'] }.empty?
/arkcompiler/runtime_core/compiler/optimizer/ir_builder/
H A Dir_builder.cpp45 COMPILER_LOG(INFO, IR_BUILDER) << "Start instructions building..."; in RunImpl()
64 << " basic blocks, " << GetGraph()->GetCurrentInstructionId() << " instructions"; in RunImpl()
68 bool IrBuilder::CheckMethodLimitations(const BytecodeInstructions &instructions, size_t vregs_count) in CheckMethodLimitations() argument
82 if (instructions.GetSize() > bytecode_size_limit) { in CheckMethodLimitations()
83 COMPILER_LOG(INFO, IR_BUILDER) << "Method is too big: size=" << instructions.GetSize() in CheckMethodLimitations()
111 // If block is not in the `blocks_` vector, it's auxiliary block without instructions in BuildBasicBlock()
122 BytecodeInstructions instructions(instructions_buf + bb->GetGuestPc(), std::numeric_limits<int>::max()); in BuildInstructionsForBB()
123 for (auto inst : instructions) { in BuildInstructionsForBB()
142 // One PBC instruction can be expanded to the group of IR's instructions, find first built instruction in in BuildInstructionsForBB()
143 // this group, and then mark all instructions a in BuildInstructionsForBB()
190 BuildBasicBlocks(const BytecodeInstructions &instructions) BuildBasicBlocks() argument
295 ConnectBasicBlocks(const BytecodeInstructions &instructions) ConnectBasicBlocks() argument
[all...]
H A Dir_builder.h122 bool CheckMethodLimitations(const BytecodeInstructions &instructions, size_t vregs_count);
123 void BuildBasicBlocks(const BytecodeInstructions &instructions);
127 void ConnectBasicBlocks(const BytecodeInstructions &instructions);
/arkcompiler/runtime_core/static_core/libllvmbackend/transforms/passes/
H A Dexpand_atomics.cpp39 llvm::SmallVector<llvm::Instruction *> instructions; in run() local
42 instructions.push_back(&instruction); in run()
46 for (auto instruction : instructions) { in run()
/arkcompiler/runtime_core/static_core/libpandafile/
H A Dpandafile_isapi.rb77 Panda.instructions.uniq { |i| i.format.pretty }.sort_by { |insn| insn.format.pretty }
81 (Panda.instructions + Quick::instructions).uniq { |i| i.format.pretty }.sort_by { |insn| insn.format.pretty }
/arkcompiler/runtime_core/static_core/disassembler/tests/
H A Dtest_debug_info.cpp86 std::string instructions = in TEST() local
91 std::sregex_iterator(instructions.begin(), instructions.end(), instRegex), std::sregex_iterator())); in TEST()
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir_builder/
H A Dir_builder.cpp77 << " basic blocks, " << GetGraph()->GetCurrentInstructionId() << " instructions"; in RunImpl()
91 COMPILER_LOG(INFO, IR_BUILDER) << "Start instructions building..."; in BuildIrImpl()
145 bool IrBuilder::CheckMethodLimitations(const BytecodeInstructions &instructions, size_t vregsCount) in CheckMethodLimitations() argument
167 if (instructions.GetSize() > bytecodeSizeLimit) { in CheckMethodLimitations()
168 COMPILER_LOG(INFO, IR_BUILDER) << "Method is too big: size=" << instructions.GetSize() in CheckMethodLimitations()
253 // If block is not in the `blocks_` vector, it's auxiliary block without instructions in BuildBasicBlock()
292 // One PBC instruction can be expanded to the group of IR's instructions, find first built instruction in AddInstructionToBB()
293 // in this group, and then mark all instructions as throwable; All instructions should be marked, since in AddInstructionToBB()
312 BytecodeInstructions instructions(instructionsBu in BuildInstructionsForBB()
374 BuildBasicBlocks(const BytecodeInstructions &instructions) BuildBasicBlocks() argument
474 ConnectBasicBlocks(const BytecodeInstructions &instructions) ConnectBasicBlocks() argument
[all...]
H A Dir_builder.h132 bool CheckMethodLimitations(const BytecodeInstructions &instructions, size_t vregsCount);
133 void BuildBasicBlocks(const BytecodeInstructions &instructions);
141 void ConnectBasicBlocks(const BytecodeInstructions &instructions);
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/
H A Dbranch_elimination.cpp328 auto instructions = sameInputCompares_.at(ops); in GetConditionResult() local
329 ASSERT(!instructions.empty()); in GetConditionResult()
330 for (auto domCond : instructions) { in GetConditionResult()
339 << "Equal compare instructions were found. Dominant id = " << domCond->GetId() in GetConditionResult()
358 const ArenaVector<CompareAnyTypeInst *> &instructions = it->second; in GetCompareAnyTypeResult() local
359 ASSERT(!instructions.empty()); in GetCompareAnyTypeResult()
360 for (const auto domCompareAny : instructions) { in GetCompareAnyTypeResult()
376 COMPILER_LOG(DEBUG, BRANCH_ELIM) << "Equal CompareAnyType instructions were found. Dominant id = " in GetCompareAnyTypeResult()
/arkcompiler/runtime_core/static_core/runtime/templates/
H A Dbridge_helpers_static.rb28 Panda::instructions.reject(&:prefix).select do |insn|
H A Dbridge_helpers_dynamic.rb37 Panda.instructions.select { |insn| insn.properties.include?('call') && insn.properties.include?('dynamic') }
/arkcompiler/runtime_core/static_core/tests/cts-coverage-tool/lib/
H A Dsummary.rb81 %w[instructions description_tests exceptions_tests verification_tests].each do |k|
119 def instructions(not_covered_assertions, uncovered_for_group) method in Summary
120 uncovered_for_group['instructions'] = not_covered_assertions.map { |a| except(a, %w[tests non_testable]) }
/arkcompiler/runtime_core/tests/cts-coverage-tool/lib/
H A Dsummary.rb81 %w[instructions description_tests exceptions_tests verification_tests].each do |k|
119 def instructions(not_covered_assertions, uncovered_for_group) method in Summary
120 uncovered_for_group['instructions'] = not_covered_assertions.map { |a| except(a, %w[tests non_testable]) }
/arkcompiler/runtime_core/static_core/tests/irtoc-interpreter-tests/irtoc-tag/
H A Dgenerate-tag.rb60 Panda.instructions.each do |instr|

Completed in 10 milliseconds

123