/arkcompiler/runtime_core/static_core/irtoc/lang/ |
H A D | basic_block.rb | 19 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 D | instructions_data.rb | 19 @@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 D | ir_generator.rb | 68 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 D | instruction.rb | 46 @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 D | iterators_test.cpp | 92 // 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 D | iterators_test.cpp | 168 // 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 D | exec_context_test.cpp | 36 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 D | asserts.rb | 33 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 D | combine.rb | 22 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 D | isapi.rb | 91 # 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 D | asserts.rb | 33 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 D | combine.rb | 22 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 D | ir_builder.cpp | 45 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 D | ir_builder.h | 122 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 D | expand_atomics.cpp | 39 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 D | pandafile_isapi.rb | 77 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 D | test_debug_info.cpp | 86 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 D | ir_builder.cpp | 77 << " 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 D | ir_builder.h | 132 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 D | branch_elimination.cpp | 328 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 D | bridge_helpers_static.rb | 28 Panda::instructions.reject(&:prefix).select do |insn|
|
H A D | bridge_helpers_dynamic.rb | 37 Panda.instructions.select { |insn| insn.properties.include?('call') && insn.properties.include?('dynamic') }
|
/arkcompiler/runtime_core/static_core/tests/cts-coverage-tool/lib/ |
H A D | summary.rb | 81 %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 D | summary.rb | 81 %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 D | generate-tag.rb | 60 Panda.instructions.each do |instr|
|