mirror of
https://gitee.com/openharmony/arkcompiler_runtime_core
synced 2024-11-27 00:41:14 +00:00
184aac718f
Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/I91AY1 Tests: frontend_tests & test262 & runtime_core_ut & runtime_ut & AOT daily test Signed-off-by: zhaoziming <zhaoziming9@huawei.com> Change-Id: I1d932d14ee6f5f75405bf085d0ad5406bde839d4
827 lines
19 KiB
YAML
827 lines
19 KiB
YAML
# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
module:
|
|
name: compiler
|
|
namespace: panda::compiler
|
|
|
|
options:
|
|
- name: compiler-non-optimizing
|
|
type: bool
|
|
default: false
|
|
description: Skip all optimizations
|
|
tags: [perf]
|
|
|
|
- name: compiler-regex
|
|
type: std::string
|
|
default: ".*"
|
|
description: A regular expression that specifies methods to compile. The grammar used is ECMA-262 RegExp grammar.
|
|
tags: [perf]
|
|
|
|
- name: compiler-visualizer-dump
|
|
type: bool
|
|
default: false
|
|
description: Enable visualizer dump ir
|
|
tags: [debug]
|
|
|
|
- name: compiler-dump
|
|
description: Enable dump ir
|
|
tags: [debug]
|
|
sub_options:
|
|
- name: final
|
|
type: bool
|
|
default: false
|
|
description: Dump ir only after last (codegen) pass
|
|
- name: compact
|
|
type: bool
|
|
default: false
|
|
description: Suppress dumping of some data (bc, SaveState instructions, etc)
|
|
- name: life-intervals
|
|
type: bool
|
|
default: false
|
|
description: Dump life intervals from regalloc
|
|
- name: folder
|
|
type: std::string
|
|
default: ./ir_dump
|
|
description: Set folder for dump ir
|
|
- name: bytecode
|
|
type: bool
|
|
default: false
|
|
description: Enable printing byte code instruction after ir instruction in dump ir
|
|
- name: peepholes
|
|
type: bool
|
|
default: false
|
|
description: Enable dumps each time peephole applies
|
|
|
|
- name: compiler-disasm-dump
|
|
description: Enable dump disasm to text files
|
|
tags: [debug]
|
|
sub_options:
|
|
- name: single-file
|
|
type: bool
|
|
default: false
|
|
description: Dump disasm files into single file, which is "disasm.txt"
|
|
- name: stdout
|
|
type: bool
|
|
default: false
|
|
description: Dump to the standard output
|
|
- name: code
|
|
type: bool
|
|
default: true
|
|
description: Dump generated assembly code. Default is true.
|
|
- name: code-info
|
|
type: bool
|
|
default: false
|
|
description: Dump code info
|
|
- name: file-name
|
|
type: std::string
|
|
default: "disasm.txt"
|
|
description: File name to dump. Used only when 'single-file' is set.
|
|
|
|
- name: compiler-emit-asm
|
|
type: bool
|
|
default: false
|
|
description: Enable dump assembly to disasm.txt file (do not emit binary)
|
|
tags: [debug]
|
|
|
|
- name: compiler-enable-tracing
|
|
type: bool
|
|
default: false
|
|
description: Enable tracing for passes
|
|
tags: [debug]
|
|
|
|
- name: compiler-enable-tlab-events
|
|
type: bool
|
|
default: false
|
|
description: Enable events for tlab allocation
|
|
tags: [debug]
|
|
|
|
- name: compiler-support-init-object-inst
|
|
type: bool
|
|
default: false
|
|
description: Compiler don't create InitObject and GraphChecker checks this. The options are needed for bytecode optimizer.
|
|
tags: [test]
|
|
|
|
- name: compiler-log
|
|
type: arg_list_t
|
|
default:
|
|
- none
|
|
possible_values:
|
|
- none
|
|
- all
|
|
- alias-analysis
|
|
- balance-expr
|
|
- branch-elim
|
|
- checks-elim
|
|
- codegen
|
|
- code-sink
|
|
- cse-opt
|
|
- graph-cloner
|
|
- deoptimize-elim
|
|
- cleanup
|
|
- ifconversion
|
|
- inlining
|
|
- ir-builder
|
|
- licm-opt
|
|
- liveness-analyzer
|
|
- loop-transform
|
|
- lowering
|
|
- lse-opt
|
|
- memory-coalescing
|
|
- monitor-analysis
|
|
- peephole
|
|
- rle-opt
|
|
- regalloc
|
|
- split-resolver
|
|
- scheduler
|
|
- try-catch-resolving
|
|
- vn-opt
|
|
- pm
|
|
description: Set log compiler components
|
|
tags: [debug]
|
|
delimiter: ","
|
|
|
|
- name: compiler-check-graph
|
|
type: bool
|
|
default: true
|
|
description: Enable Graph checking after each optimization
|
|
tags: [debug]
|
|
|
|
- name: compiler-check-final
|
|
type: bool
|
|
default: false
|
|
description: Enable Graph checking only after last optimization(Codegen)
|
|
tags: [debug]
|
|
|
|
- name: compiler-encode-intrinsics
|
|
type: bool
|
|
default: true
|
|
description: If false, we always call C impementation of an intrinsic
|
|
tags: [test]
|
|
|
|
- name: compiler-lowering
|
|
type: bool
|
|
default: true
|
|
description: Enable Lowering Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-code-sink
|
|
type: bool
|
|
default: true
|
|
description: Enable Code Sink Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-balance-expressions
|
|
type: bool
|
|
default: true
|
|
description: Enable Balance Expressions Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-branch-elimination
|
|
type: bool
|
|
default: true
|
|
description: Enable Branch Elimination Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-checks-elimination
|
|
type: bool
|
|
default: true
|
|
description: Enable Checks Elimination Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-enable-replacing-checks-on-deoptimization
|
|
type: bool
|
|
default: true
|
|
description: Enable replacing checks on deoptimization in checks elimination
|
|
tags: [perf]
|
|
|
|
- name: compiler-deoptimize-elimination
|
|
type: bool
|
|
default: true
|
|
description: Enable Deoptimize Elimination Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-safepoint-elimination-limit
|
|
type: uint64_t
|
|
default: 50
|
|
description: Set the instructions limit in deoptimize elimination for removing safe points.
|
|
recommended_values: [10,1000]
|
|
tags: [perf]
|
|
|
|
- name: compiler-implicit-null-check
|
|
type: bool
|
|
default: true
|
|
description: Apply Implicit Null Check
|
|
tags: [perf]
|
|
|
|
- name: compiler-licm
|
|
type: bool
|
|
default: true
|
|
description: Enable LICM Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-licm-hoist-limit
|
|
type: uint32_t
|
|
default: 8
|
|
description: Set the instructions limit which are hoisted by LICM
|
|
recommended_values: [1,60]
|
|
tags: [perf]
|
|
|
|
- name: compiler-loop-peeling
|
|
type: bool
|
|
default: true
|
|
description: Enable Loop peeling Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-loop-unroll
|
|
type: bool
|
|
default: true
|
|
description: Enable Loop unroll Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-loop-unroll-factor
|
|
type: uint32_t
|
|
default: 6
|
|
description: Set loop unrolling factor
|
|
recommended_values: [2,10]
|
|
tags: [perf]
|
|
|
|
- name: compiler-loop-unroll-inst-limit
|
|
type: uint32_t
|
|
default: 100
|
|
description: Set the instructions limit for the unrolling loop body
|
|
recommended_values: [10,1000]
|
|
tags: [perf]
|
|
|
|
- name: compiler-unroll-loop-with-calls
|
|
type: bool
|
|
default: false
|
|
description: Enable unroll for loops containing method calls
|
|
tags: [perf]
|
|
|
|
- name: compiler-unroll-with-side-exits
|
|
type: bool
|
|
default: true
|
|
description: Enable unroll with side exits for not countable loop
|
|
tags: [perf]
|
|
|
|
- name: compiler-lse
|
|
type: bool
|
|
default: true
|
|
description: Enable Load-Store Elimination Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-cse
|
|
type: bool
|
|
default: false
|
|
description: Enable CSE Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-vn
|
|
type: bool
|
|
default: true
|
|
description: Enable Value Numbering Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-memory-coalescing
|
|
type: bool
|
|
default: true
|
|
description: Enable Memory Coalescing Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-memory-coalescing-objects
|
|
type: bool
|
|
default: true
|
|
description: Apply Memory Coalescing to objects accesses
|
|
tags: [perf]
|
|
|
|
- name: compiler-memory-coalescing-aligned
|
|
type: bool
|
|
default: false
|
|
description: Apply Memory Coalescing only to aligned accesses
|
|
tags: [perf]
|
|
|
|
- name: compiler-print-stats
|
|
type: bool
|
|
default: false
|
|
description: Print optimizations statistics
|
|
tags: [debug]
|
|
|
|
- name: compiler-dump-stats-csv
|
|
type: std::string
|
|
default: ""
|
|
description: Dump optimizations statistics in csv file
|
|
tags: [debug]
|
|
|
|
- name: compiler-enable-ir-stats
|
|
type: bool
|
|
default: false
|
|
description: Enable collecting ir stats on compiler statistic
|
|
tags: [debug]
|
|
|
|
|
|
- name: compiler-use-safepoint
|
|
type: bool
|
|
default: true
|
|
description: Build SafePoint instructions
|
|
tags: [test]
|
|
|
|
- name: compiler-inlining
|
|
type: bool
|
|
default: true
|
|
description: Enable inlining optimization
|
|
tags: [perf]
|
|
|
|
- name: compiler-inline-external-methods
|
|
type: bool
|
|
default: true
|
|
description: Enable inlining external methods in JIT mode
|
|
tags: [perf]
|
|
|
|
- name: compiler-inlining-blacklist
|
|
type: arg_list_t
|
|
default: []
|
|
description: Method names that should not be inlined
|
|
delimiter: ","
|
|
tags: [perf]
|
|
|
|
- name: compiler-inlining-max-insts
|
|
type: uint32_t
|
|
default: 1024
|
|
description: Maximum number of the IR instructions to be inlined, including instructions of the current graph.
|
|
recommended_values: [50,2000]
|
|
tags: [perf]
|
|
|
|
- name: compiler-inlining-max-depth
|
|
type: uint32_t
|
|
default: 4
|
|
description: Maximum depth of the inlining.
|
|
recommended_values: [1,10]
|
|
tags: [perf]
|
|
|
|
- name: compiler-inlining-max-size
|
|
type: uint32_t
|
|
default: 200
|
|
description: Maximum bytecode size for inlined functions, in bytes. Avarage bytecode instruction size is 2.8 bytes.
|
|
recommended_values: [10,1000]
|
|
tags: [perf]
|
|
|
|
- name: compiler-inline-simple-only
|
|
type: bool
|
|
default: false
|
|
description: Inline only simple methods that don't contain calls to runtime
|
|
tags: [perf]
|
|
|
|
- name: compiler-inlining-skip-throw-blocks
|
|
type: bool
|
|
default: true
|
|
description: Don't inline methods inside blocks throwing an exception or performing deoptimization
|
|
tags: [perf]
|
|
|
|
- name: compiler-inlining-skip-always-throw-methods
|
|
type: bool
|
|
default: true
|
|
description: Don't inline methods that always throw an exception
|
|
tags: [perf]
|
|
|
|
- name: compiler-no-virtual-inlining
|
|
type: bool
|
|
default: false
|
|
description: Disable inlining of the virtual calls
|
|
tags: [perf]
|
|
|
|
- name: compiler-no-cha-inlining
|
|
type: bool
|
|
default: false
|
|
description: Don't use CHA in the inlining
|
|
tags: [perf]
|
|
|
|
- name: compiler-no-pic-inlining
|
|
type: bool
|
|
default: false
|
|
description: Don't use Polymorphic Inline Caches in the inlining
|
|
tags: [perf]
|
|
|
|
- name: compiler-reset-local-allocator
|
|
type: bool
|
|
default: true
|
|
description: Reset local allocator between passes runs
|
|
tags: [test]
|
|
|
|
- name: compiler-scheduling
|
|
type: bool
|
|
default: true
|
|
description: Enable Scheduling Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-sched-latency
|
|
type: uint32_t
|
|
default: 2
|
|
description: Set default instruction latency
|
|
recommended_values: [1,5]
|
|
tags: [perf]
|
|
|
|
- name: compiler-sched-latency-long
|
|
type: uint32_t
|
|
default: 7
|
|
description: Set loads latency
|
|
recommended_values: [2,15]
|
|
tags: [perf]
|
|
|
|
- name: compiler-if-conversion
|
|
type: bool
|
|
default: true
|
|
description: Enable IfConversion Pass
|
|
tags: [perf]
|
|
|
|
- name: compiler-if-conversion-limit
|
|
type: uint32_t
|
|
default: 2
|
|
description: Maximum amount of instructions in basicblock(s) for if-conversion
|
|
recommended_values: [1,10]
|
|
tags: [perf]
|
|
|
|
- name: compiler-cross-arch
|
|
type: std::string
|
|
default: arm64
|
|
possible_values:
|
|
- arm
|
|
- arm64
|
|
- x86
|
|
- x86_64
|
|
description: On AMD64 enable creation of non-native code for testing purpose
|
|
tags: [test]
|
|
|
|
- name: compiler-enable-events
|
|
type: bool
|
|
default: false
|
|
description: Enable optimizations events dump
|
|
tags: [debug, test]
|
|
|
|
- name: compiler-events-path
|
|
type: std::string
|
|
default: ./compiler/events.csv
|
|
description: Set path for optimizations events dump
|
|
tags: [debug]
|
|
|
|
- name: compiler-save-only-live-registers
|
|
type: bool
|
|
default: true
|
|
description: Save and Load only registers that contains live values when making calls.
|
|
tags: [perf]
|
|
|
|
- name: compiler-ignore-failures
|
|
type: bool
|
|
default: true
|
|
description: Ignore failures occurred during compilation
|
|
tags: [test]
|
|
|
|
- name: compiler-allow-backend-failures
|
|
type: bool
|
|
default: true
|
|
description: Ignore failures occurred during register allocation and code generation
|
|
tags: [test]
|
|
|
|
- name: compiler-max-gen-code-size
|
|
type: uint32_t
|
|
default: 66060288
|
|
description: Maximum size of the generated code in code-cache, default 63 M
|
|
tags: [perf]
|
|
|
|
- name: compiler-max-bytecode-size
|
|
type: uint32_t
|
|
default: 30000
|
|
description: Maximum size of the method's code to be compiled.
|
|
recommended_values: [10000,500000]
|
|
tags: [perf]
|
|
|
|
- name: compiler-max-vregs-num
|
|
type: uint32_t
|
|
default: 65536
|
|
description: Maximum number of virtual registers in a method.
|
|
tags: [perf]
|
|
|
|
- name: compiler-compact-prologue
|
|
type: bool
|
|
default: true
|
|
description: Omit unused callee-registers save/restore in prologue/epilogue when possible.
|
|
tags: [perf]
|
|
|
|
- name: compiler-js-filter-intrinsics
|
|
type: bool
|
|
default: true
|
|
description: Enable intrinsics filter in JS Compiler
|
|
tags: [test]
|
|
|
|
- name: compiler-reg-acc-alloc
|
|
type: bool
|
|
default: true
|
|
description: Enable accumulator register allocator pass
|
|
tags: [test]
|
|
|
|
- name: compiler-regalloc-reg-mask
|
|
type: uint64_t
|
|
default: 0
|
|
description: Mask of registers, avaliable for regalloc
|
|
tags: [test]
|
|
|
|
- name: compiler-verify-regalloc
|
|
type: bool
|
|
default: true
|
|
description: Verify register allocation results in debug mode.
|
|
tags: [debug]
|
|
|
|
- name: compiler-move-constants
|
|
type: bool
|
|
default: true
|
|
description: Enable move constants from start block closer to usage
|
|
tags: [perf]
|
|
|
|
- name: compiler-adjust-refs
|
|
type: bool
|
|
default: true
|
|
description: Enable hoisting of array data address
|
|
|
|
- name: compiler-aot-load-string-plt
|
|
type: bool
|
|
default: true
|
|
description: Replace unconditional ResolveString runtime call with loading string reference from PLT slot for AOT.
|
|
tags: [perf]
|
|
|
|
- name: compiler-remat-const
|
|
type: bool
|
|
default: true
|
|
description: Rematerialize constants instead of spilling them to the stack
|
|
tags: [perf]
|
|
|
|
- name: compiler-unfold-const-array-max-size
|
|
type: uint32_t
|
|
default: 20
|
|
description: Set the maximum size of the constant array to unfold a single LoadConstArray instruction to the initial instructions set.
|
|
recommended_values: [2,1000]
|
|
tags: [perf]
|
|
|
|
- name: compiler-spill-fill-pair
|
|
type: bool
|
|
default: true
|
|
description: Store and load values from successive stack slots as pair of values during SpillFill encoding.
|
|
tags: [perf]
|
|
|
|
- name: compiler-cpu-features
|
|
type: arg_list_t
|
|
default: [sse42]
|
|
possible_values:
|
|
- none
|
|
- crc32
|
|
- sse42
|
|
description: Set compiler CPU features
|
|
tags: [perf]
|
|
delimiter: ","
|
|
|
|
- name: compiler-emit-debug-info
|
|
type: bool
|
|
default: false
|
|
description: Emit DWARF debug info for JIT/AOT code, PANDA_COMPILER_CFI should be set
|
|
tags: [debug]
|
|
|
|
- name: compiler-aot-ra
|
|
type: bool
|
|
default: true
|
|
description: Enable AOT register allocation
|
|
|
|
- name: compiler-freq-based-branch-reorder
|
|
type: bool
|
|
default: true
|
|
description: Enables/disables frequency based branch reorder
|
|
|
|
- name: compiler-freq-based-branch-reorder-threshold
|
|
type: uint32_t
|
|
default: 80
|
|
description: Threshold in percents for frequency based branch reorder
|
|
|
|
- name: compiler-inline-full-intrinsics
|
|
type: bool
|
|
default: false
|
|
description: Inline graph for dynamic insrinsics in IrBuilder
|
|
|
|
events:
|
|
- name: branch-elimination
|
|
fields:
|
|
- name: if_block_id
|
|
type: uint32_t
|
|
- name: if_block_pc
|
|
type: uint32_t
|
|
- name: cond_inst_id
|
|
type: uint32_t
|
|
- name: cond_inst_pc
|
|
type: uint32_t
|
|
- name: condition_type
|
|
type: const char*
|
|
- name: removed_edge_type
|
|
type: bool
|
|
|
|
- name: code-sink
|
|
fields:
|
|
- name: sunk_inst_id
|
|
type: uint32_t
|
|
- name: sunk_inst_pc
|
|
type: uint32_t
|
|
- name: from_bb_id
|
|
type: uint32_t
|
|
- name: to_bb_id
|
|
type: uint32_t
|
|
|
|
- name: checks-elimination
|
|
fields:
|
|
- name: name
|
|
type: const char*
|
|
- name: inst_id
|
|
type: uint32_t
|
|
- name: pc
|
|
type: uint32_t
|
|
|
|
- name: cleanup
|
|
fields:
|
|
- name: removed_inst_id
|
|
type: uint32_t
|
|
- name: removed_inst_pc
|
|
type: uint32_t
|
|
|
|
- name: cse
|
|
fields:
|
|
- name: removed_inst_id
|
|
type: uint32_t
|
|
- name: removed_inst_pc
|
|
type: uint32_t
|
|
|
|
- name: deoptimize-elimination
|
|
fields:
|
|
- name: name
|
|
type: const char*
|
|
- name: inst_id
|
|
type: uint32_t
|
|
- name: pc
|
|
type: uint32_t
|
|
|
|
- name: if-conversion
|
|
fields:
|
|
- name: merge_block_id
|
|
type: uint32_t
|
|
- name: merge_block_pc
|
|
type: uint32_t
|
|
- name: merge_type
|
|
type: const char*
|
|
- name: removed_block_id1
|
|
type: int32_t
|
|
- name: removed_block_id2
|
|
type: int32_t
|
|
- name: removed_block_id3
|
|
type: int32_t
|
|
|
|
- name: inlining
|
|
fields:
|
|
- name: inlined_method
|
|
type: const char*
|
|
|
|
- name: lse
|
|
fields:
|
|
- name: removed_inst_id
|
|
type: uint32_t
|
|
- name: removed_inst_pc
|
|
type: uint32_t
|
|
- name: dominant_inst_id
|
|
type: uint32_t
|
|
- name: dominant_inst_pc
|
|
type: uint32_t
|
|
- name: code
|
|
type: const char*
|
|
|
|
- name: redundant-loop-elimination
|
|
fields:
|
|
- name: loop_id
|
|
type: uint32_t
|
|
- name: loop_head_pc
|
|
type: uint32_t
|
|
|
|
- name: loop-unroll
|
|
fields:
|
|
- name: loop_id
|
|
type: uint32_t
|
|
- name: loop_head_pc
|
|
type: uint32_t
|
|
- name: unroll_factor
|
|
type: uint32_t
|
|
- name: cloneable_inst_count
|
|
type: uint32_t
|
|
|
|
- name: loop-peeling
|
|
fields:
|
|
- name: loop_id
|
|
type: uint32_t
|
|
- name: loop_head_pc
|
|
type: uint32_t
|
|
- name: loop_exit_pc
|
|
type: uint32_t
|
|
- name: moved_inst_count
|
|
type: uint32_t
|
|
|
|
- name: memory-coalescing
|
|
fields:
|
|
- name: first_inst_id
|
|
type: uint32_t
|
|
- name: first_inst_pc
|
|
type: uint32_t
|
|
- name: second_inst_id
|
|
type: uint32_t
|
|
- name: second_inst_pc
|
|
type: uint32_t
|
|
- name: new_inst_id
|
|
type: uint32_t
|
|
- name: type
|
|
type: const char *
|
|
|
|
- name: peephole
|
|
fields:
|
|
- name: name
|
|
type: const char*
|
|
- name: inst_id
|
|
type: uint32_t
|
|
- name: pc
|
|
type: uint32_t
|
|
|
|
- name: scheduler
|
|
fields:
|
|
- name: block_id
|
|
type: uint32_t
|
|
- name: block_pc
|
|
type: uint32_t
|
|
- name: old_cycles
|
|
type: uint32_t
|
|
- name: num_barriers
|
|
type: uint32_t
|
|
- name: critical_path
|
|
type: uint32_t
|
|
- name: new_cycles
|
|
type: uint32_t
|
|
|
|
- name: gvn
|
|
fields:
|
|
- name: inst_id
|
|
type: uint32_t
|
|
- name: inst_pc
|
|
type: uint32_t
|
|
- name: equal_inst_id
|
|
type: uint32_t
|
|
- name: equal_inst_pc
|
|
type: uint32_t
|
|
|
|
- name: licm
|
|
fields:
|
|
- name: inst_id
|
|
type: uint32_t
|
|
- name: inst_pc
|
|
type: uint32_t
|
|
- name: old_loop_id
|
|
type: uint32_t
|
|
- name: new_loop_id
|
|
type: uint32_t
|
|
|
|
- name: lowering
|
|
fields:
|
|
- name: name
|
|
type: const char*
|
|
- name: inst_id
|
|
type: uint32_t
|
|
- name: pc
|
|
type: uint32_t
|
|
|
|
- name: reg-alloc
|
|
fields:
|
|
- name: sf_inst_id
|
|
type: uint32_t
|
|
- name: sf_purpose
|
|
type: const char*
|
|
- name: sf_type
|
|
type: const char*
|
|
- name: src
|
|
type: uint32_t
|
|
- name: dst
|
|
type: uint32_t
|
|
- name: reg_type
|
|
type: const char*
|
|
|
|
tags:
|
|
perf: an option that affects the performance and/or codesize
|
|
debug: debugging option (checkers, events, dumps, logs e.t.c)
|
|
test: a test option or an option used by other components
|