├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── include ├── IR │ ├── block.hpp │ ├── builder.hpp │ ├── call_analysis.hpp │ ├── cfg_semplification.hpp │ ├── compute_dominators.hpp │ ├── constant_folder.hpp │ ├── dce.hpp │ ├── dominator_tree.hpp │ ├── folder.hpp │ ├── function.hpp │ ├── function_inlining.hpp │ ├── global_value.hpp │ ├── heuristics.hpp │ ├── instruction.hpp │ ├── intrinsic.hpp │ ├── loop_analysis.hpp │ ├── mem2reg.hpp │ ├── printer.hpp │ └── value.hpp ├── ISel │ └── DAG │ │ ├── builder.hpp │ │ ├── instruction.hpp │ │ ├── node.hpp │ │ ├── pattern.hpp │ │ └── value.hpp ├── MIR │ ├── block.hpp │ ├── constant_pool.hpp │ ├── function.hpp │ ├── instruction.hpp │ ├── operand.hpp │ ├── printer.hpp │ ├── register_info.hpp │ ├── stack_frame.hpp │ └── stack_slot.hpp ├── cast.hpp ├── codegen │ ├── coff_object_emitter.hpp │ ├── dag_isel_pass.hpp │ ├── elf_object_emitter.hpp │ ├── fixup.hpp │ ├── graph_color_regalloc.hpp │ ├── instruction_encoder.hpp │ ├── object_emitter.hpp │ ├── regalloc_base.hpp │ └── spiller.hpp ├── context.hpp ├── data_layout.hpp ├── hash.hpp ├── pass.hpp ├── pass_manager.hpp ├── pch.hpp ├── printer_util.hpp ├── target │ ├── AArch64 │ │ ├── AArch64_asm_printer.hpp │ │ ├── AArch64_calling_conventions.hpp │ │ ├── AArch64_instruction_info.hpp │ │ ├── AArch64_patterns.hpp │ │ ├── AArch64_register_info.hpp │ │ ├── AArch64_save_call_registers.hpp │ │ ├── AArch64_target.hpp │ │ ├── AArch64_target_lowering.hpp │ │ └── AArch64_target_machine.hpp │ ├── asm_printer.hpp │ ├── call_info.hpp │ ├── instruction_info.hpp │ ├── instruction_utils.hpp │ ├── register_info.hpp │ ├── target.hpp │ ├── target_lowering.hpp │ ├── target_machine.hpp │ ├── target_registry.hpp │ ├── target_specification.hpp │ └── x64 │ │ ├── encoding │ │ ├── x64_instruction_encoder.hpp │ │ ├── x64_instruction_encoding.hpp │ │ └── x64_mapping.hpp │ │ ├── x64_asm_printer.hpp │ │ ├── x64_calling_conventions.hpp │ │ ├── x64_instruction_info.hpp │ │ ├── x64_legalizer.hpp │ │ ├── x64_patterns.hpp │ │ ├── x64_register_info.hpp │ │ ├── x64_save_call_registers.hpp │ │ ├── x64_target.hpp │ │ ├── x64_target_lowering.hpp │ │ └── x64_target_machine.hpp ├── type.hpp ├── type_alias.hpp └── unit.hpp ├── src ├── IR │ ├── block.cpp │ ├── builder.cpp │ ├── call_analysis.cpp │ ├── cfg_simplification.cpp │ ├── compute_dominators.cpp │ ├── constant_folder.cpp │ ├── dce.cpp │ ├── dominator_tree.cpp │ ├── folder.cpp │ ├── function.cpp │ ├── function_inlining.cpp │ ├── global_value.cpp │ ├── heuristics.cpp │ ├── instruction.cpp │ ├── intrinsic.cpp │ ├── loop_analysis.cpp │ ├── mem2reg.cpp │ ├── printer.cpp │ └── value.cpp ├── ISel │ └── DAG │ │ └── builder.cpp ├── MIR │ ├── block.cpp │ ├── constant_pool.cpp │ ├── function.cpp │ ├── instruction.cpp │ ├── printer.cpp │ ├── register_info.cpp │ └── stack_frame.cpp ├── codegen │ ├── coff_object_emitter.cpp │ ├── dag_isel_pass.cpp │ ├── elf_object_emitter.cpp │ ├── graph_color_regalloc.cpp │ ├── object_emitter.cpp │ ├── regalloc_base.cpp │ └── spiller.cpp ├── context.cpp ├── pass_manager.cpp ├── target │ ├── AArch64 │ │ ├── AArch64_asm_printer.cpp │ │ ├── AArch64_calling_conventions.cpp │ │ ├── AArch64_instruction_info.cpp │ │ ├── AArch64_patterns.cpp │ │ ├── AArch64_register_info.cpp │ │ ├── AArch64_save_call_registers.cpp │ │ ├── AArch64_target.cpp │ │ ├── AArch64_target_lowering.cpp │ │ └── AArch64_target_machine.cpp │ ├── asm_printer.cpp │ ├── call_info.cpp │ ├── instruction_utils.cpp │ ├── register_info.cpp │ ├── target_lowering.cpp │ ├── target_specification.cpp │ └── x64 │ │ ├── encoding │ │ ├── x64_instruciton_encoder.cpp │ │ └── x64_mapping.cpp │ │ ├── x64_asm_printer.cpp │ │ ├── x64_calling_conventions.cpp │ │ ├── x64_instruction_info.cpp │ │ ├── x64_legalizer.cpp │ │ ├── x64_patterns.cpp │ │ ├── x64_register_info.cpp │ │ ├── x64_save_call_registers.cpp │ │ ├── x64_target.cpp │ │ ├── x64_target_lowering.cpp │ │ └── x64_target_machine.cpp └── unit.cpp ├── tests ├── cases │ ├── case0.cpp │ ├── case1.cpp │ ├── case10.cpp │ ├── case11.cpp │ ├── case12.cpp │ ├── case13.cpp │ ├── case14.cpp │ ├── case2.cpp │ ├── case3.cpp │ ├── case4.cpp │ ├── case5.cpp │ ├── case6.cpp │ ├── case7.cpp │ ├── case8.cpp │ ├── case9.cpp │ ├── cases.cpp │ └── cases.hpp └── test.cpp └── thirdparty ├── coffi ├── coffi.hpp ├── coffi_directory.hpp ├── coffi_headers.hpp ├── coffi_relocation.hpp ├── coffi_section.hpp ├── coffi_strings.hpp ├── coffi_symbols.hpp ├── coffi_types.hpp └── coffi_utils.hpp └── elfio ├── elf_types.hpp ├── elfio.hpp ├── elfio_array.hpp ├── elfio_dump.hpp ├── elfio_dynamic.hpp ├── elfio_header.hpp ├── elfio_modinfo.hpp ├── elfio_note.hpp ├── elfio_relocation.hpp ├── elfio_section.hpp ├── elfio_segment.hpp ├── elfio_strings.hpp ├── elfio_symbols.hpp ├── elfio_utils.hpp ├── elfio_version.hpp └── elfio_versym.hpp /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/README.md -------------------------------------------------------------------------------- /include/IR/block.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/block.hpp -------------------------------------------------------------------------------- /include/IR/builder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/builder.hpp -------------------------------------------------------------------------------- /include/IR/call_analysis.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/call_analysis.hpp -------------------------------------------------------------------------------- /include/IR/cfg_semplification.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/cfg_semplification.hpp -------------------------------------------------------------------------------- /include/IR/compute_dominators.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/compute_dominators.hpp -------------------------------------------------------------------------------- /include/IR/constant_folder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/constant_folder.hpp -------------------------------------------------------------------------------- /include/IR/dce.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/dce.hpp -------------------------------------------------------------------------------- /include/IR/dominator_tree.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/dominator_tree.hpp -------------------------------------------------------------------------------- /include/IR/folder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/folder.hpp -------------------------------------------------------------------------------- /include/IR/function.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/function.hpp -------------------------------------------------------------------------------- /include/IR/function_inlining.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/function_inlining.hpp -------------------------------------------------------------------------------- /include/IR/global_value.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/global_value.hpp -------------------------------------------------------------------------------- /include/IR/heuristics.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/heuristics.hpp -------------------------------------------------------------------------------- /include/IR/instruction.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/instruction.hpp -------------------------------------------------------------------------------- /include/IR/intrinsic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/intrinsic.hpp -------------------------------------------------------------------------------- /include/IR/loop_analysis.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/loop_analysis.hpp -------------------------------------------------------------------------------- /include/IR/mem2reg.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/mem2reg.hpp -------------------------------------------------------------------------------- /include/IR/printer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/printer.hpp -------------------------------------------------------------------------------- /include/IR/value.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/IR/value.hpp -------------------------------------------------------------------------------- /include/ISel/DAG/builder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/ISel/DAG/builder.hpp -------------------------------------------------------------------------------- /include/ISel/DAG/instruction.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/ISel/DAG/instruction.hpp -------------------------------------------------------------------------------- /include/ISel/DAG/node.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/ISel/DAG/node.hpp -------------------------------------------------------------------------------- /include/ISel/DAG/pattern.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/ISel/DAG/pattern.hpp -------------------------------------------------------------------------------- /include/ISel/DAG/value.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/ISel/DAG/value.hpp -------------------------------------------------------------------------------- /include/MIR/block.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/block.hpp -------------------------------------------------------------------------------- /include/MIR/constant_pool.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/constant_pool.hpp -------------------------------------------------------------------------------- /include/MIR/function.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/function.hpp -------------------------------------------------------------------------------- /include/MIR/instruction.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/instruction.hpp -------------------------------------------------------------------------------- /include/MIR/operand.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/operand.hpp -------------------------------------------------------------------------------- /include/MIR/printer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/printer.hpp -------------------------------------------------------------------------------- /include/MIR/register_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/register_info.hpp -------------------------------------------------------------------------------- /include/MIR/stack_frame.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/stack_frame.hpp -------------------------------------------------------------------------------- /include/MIR/stack_slot.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/MIR/stack_slot.hpp -------------------------------------------------------------------------------- /include/cast.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/cast.hpp -------------------------------------------------------------------------------- /include/codegen/coff_object_emitter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/coff_object_emitter.hpp -------------------------------------------------------------------------------- /include/codegen/dag_isel_pass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/dag_isel_pass.hpp -------------------------------------------------------------------------------- /include/codegen/elf_object_emitter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/elf_object_emitter.hpp -------------------------------------------------------------------------------- /include/codegen/fixup.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/fixup.hpp -------------------------------------------------------------------------------- /include/codegen/graph_color_regalloc.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/graph_color_regalloc.hpp -------------------------------------------------------------------------------- /include/codegen/instruction_encoder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/instruction_encoder.hpp -------------------------------------------------------------------------------- /include/codegen/object_emitter.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/object_emitter.hpp -------------------------------------------------------------------------------- /include/codegen/regalloc_base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/regalloc_base.hpp -------------------------------------------------------------------------------- /include/codegen/spiller.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/codegen/spiller.hpp -------------------------------------------------------------------------------- /include/context.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/context.hpp -------------------------------------------------------------------------------- /include/data_layout.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/data_layout.hpp -------------------------------------------------------------------------------- /include/hash.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/hash.hpp -------------------------------------------------------------------------------- /include/pass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/pass.hpp -------------------------------------------------------------------------------- /include/pass_manager.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/pass_manager.hpp -------------------------------------------------------------------------------- /include/pch.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/pch.hpp -------------------------------------------------------------------------------- /include/printer_util.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/printer_util.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_asm_printer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_asm_printer.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_calling_conventions.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_calling_conventions.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_instruction_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_instruction_info.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_patterns.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_patterns.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_register_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_register_info.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_save_call_registers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_save_call_registers.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_target.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_target.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_target_lowering.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_target_lowering.hpp -------------------------------------------------------------------------------- /include/target/AArch64/AArch64_target_machine.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/AArch64/AArch64_target_machine.hpp -------------------------------------------------------------------------------- /include/target/asm_printer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/asm_printer.hpp -------------------------------------------------------------------------------- /include/target/call_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/call_info.hpp -------------------------------------------------------------------------------- /include/target/instruction_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/instruction_info.hpp -------------------------------------------------------------------------------- /include/target/instruction_utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/instruction_utils.hpp -------------------------------------------------------------------------------- /include/target/register_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/register_info.hpp -------------------------------------------------------------------------------- /include/target/target.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/target.hpp -------------------------------------------------------------------------------- /include/target/target_lowering.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/target_lowering.hpp -------------------------------------------------------------------------------- /include/target/target_machine.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/target_machine.hpp -------------------------------------------------------------------------------- /include/target/target_registry.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/target_registry.hpp -------------------------------------------------------------------------------- /include/target/target_specification.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/target_specification.hpp -------------------------------------------------------------------------------- /include/target/x64/encoding/x64_instruction_encoder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/encoding/x64_instruction_encoder.hpp -------------------------------------------------------------------------------- /include/target/x64/encoding/x64_instruction_encoding.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/encoding/x64_instruction_encoding.hpp -------------------------------------------------------------------------------- /include/target/x64/encoding/x64_mapping.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/encoding/x64_mapping.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_asm_printer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_asm_printer.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_calling_conventions.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_calling_conventions.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_instruction_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_instruction_info.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_legalizer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_legalizer.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_patterns.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_patterns.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_register_info.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_register_info.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_save_call_registers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_save_call_registers.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_target.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_target.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_target_lowering.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_target_lowering.hpp -------------------------------------------------------------------------------- /include/target/x64/x64_target_machine.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/target/x64/x64_target_machine.hpp -------------------------------------------------------------------------------- /include/type.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/type.hpp -------------------------------------------------------------------------------- /include/type_alias.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/type_alias.hpp -------------------------------------------------------------------------------- /include/unit.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/include/unit.hpp -------------------------------------------------------------------------------- /src/IR/block.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/block.cpp -------------------------------------------------------------------------------- /src/IR/builder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/builder.cpp -------------------------------------------------------------------------------- /src/IR/call_analysis.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/call_analysis.cpp -------------------------------------------------------------------------------- /src/IR/cfg_simplification.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/cfg_simplification.cpp -------------------------------------------------------------------------------- /src/IR/compute_dominators.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/compute_dominators.cpp -------------------------------------------------------------------------------- /src/IR/constant_folder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/constant_folder.cpp -------------------------------------------------------------------------------- /src/IR/dce.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/dce.cpp -------------------------------------------------------------------------------- /src/IR/dominator_tree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/dominator_tree.cpp -------------------------------------------------------------------------------- /src/IR/folder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/folder.cpp -------------------------------------------------------------------------------- /src/IR/function.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/function.cpp -------------------------------------------------------------------------------- /src/IR/function_inlining.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/function_inlining.cpp -------------------------------------------------------------------------------- /src/IR/global_value.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/global_value.cpp -------------------------------------------------------------------------------- /src/IR/heuristics.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/heuristics.cpp -------------------------------------------------------------------------------- /src/IR/instruction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/instruction.cpp -------------------------------------------------------------------------------- /src/IR/intrinsic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/intrinsic.cpp -------------------------------------------------------------------------------- /src/IR/loop_analysis.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/loop_analysis.cpp -------------------------------------------------------------------------------- /src/IR/mem2reg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/mem2reg.cpp -------------------------------------------------------------------------------- /src/IR/printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/printer.cpp -------------------------------------------------------------------------------- /src/IR/value.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/IR/value.cpp -------------------------------------------------------------------------------- /src/ISel/DAG/builder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/ISel/DAG/builder.cpp -------------------------------------------------------------------------------- /src/MIR/block.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/MIR/block.cpp -------------------------------------------------------------------------------- /src/MIR/constant_pool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/MIR/constant_pool.cpp -------------------------------------------------------------------------------- /src/MIR/function.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/MIR/function.cpp -------------------------------------------------------------------------------- /src/MIR/instruction.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/MIR/instruction.cpp -------------------------------------------------------------------------------- /src/MIR/printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/MIR/printer.cpp -------------------------------------------------------------------------------- /src/MIR/register_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/MIR/register_info.cpp -------------------------------------------------------------------------------- /src/MIR/stack_frame.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/MIR/stack_frame.cpp -------------------------------------------------------------------------------- /src/codegen/coff_object_emitter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/codegen/coff_object_emitter.cpp -------------------------------------------------------------------------------- /src/codegen/dag_isel_pass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/codegen/dag_isel_pass.cpp -------------------------------------------------------------------------------- /src/codegen/elf_object_emitter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/codegen/elf_object_emitter.cpp -------------------------------------------------------------------------------- /src/codegen/graph_color_regalloc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/codegen/graph_color_regalloc.cpp -------------------------------------------------------------------------------- /src/codegen/object_emitter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/codegen/object_emitter.cpp -------------------------------------------------------------------------------- /src/codegen/regalloc_base.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/codegen/regalloc_base.cpp -------------------------------------------------------------------------------- /src/codegen/spiller.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/codegen/spiller.cpp -------------------------------------------------------------------------------- /src/context.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/context.cpp -------------------------------------------------------------------------------- /src/pass_manager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/pass_manager.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_asm_printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_asm_printer.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_calling_conventions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_calling_conventions.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_instruction_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_instruction_info.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_patterns.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_patterns.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_register_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_register_info.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_save_call_registers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_save_call_registers.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_target.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_target.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_target_lowering.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_target_lowering.cpp -------------------------------------------------------------------------------- /src/target/AArch64/AArch64_target_machine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/AArch64/AArch64_target_machine.cpp -------------------------------------------------------------------------------- /src/target/asm_printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/asm_printer.cpp -------------------------------------------------------------------------------- /src/target/call_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/call_info.cpp -------------------------------------------------------------------------------- /src/target/instruction_utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/instruction_utils.cpp -------------------------------------------------------------------------------- /src/target/register_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/register_info.cpp -------------------------------------------------------------------------------- /src/target/target_lowering.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/target_lowering.cpp -------------------------------------------------------------------------------- /src/target/target_specification.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/target_specification.cpp -------------------------------------------------------------------------------- /src/target/x64/encoding/x64_instruciton_encoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/encoding/x64_instruciton_encoder.cpp -------------------------------------------------------------------------------- /src/target/x64/encoding/x64_mapping.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/encoding/x64_mapping.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_asm_printer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_asm_printer.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_calling_conventions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_calling_conventions.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_instruction_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_instruction_info.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_legalizer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_legalizer.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_patterns.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_patterns.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_register_info.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_register_info.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_save_call_registers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_save_call_registers.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_target.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_target.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_target_lowering.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_target_lowering.cpp -------------------------------------------------------------------------------- /src/target/x64/x64_target_machine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/target/x64/x64_target_machine.cpp -------------------------------------------------------------------------------- /src/unit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/src/unit.cpp -------------------------------------------------------------------------------- /tests/cases/case0.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case0.cpp -------------------------------------------------------------------------------- /tests/cases/case1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case1.cpp -------------------------------------------------------------------------------- /tests/cases/case10.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case10.cpp -------------------------------------------------------------------------------- /tests/cases/case11.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case11.cpp -------------------------------------------------------------------------------- /tests/cases/case12.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case12.cpp -------------------------------------------------------------------------------- /tests/cases/case13.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case13.cpp -------------------------------------------------------------------------------- /tests/cases/case14.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case14.cpp -------------------------------------------------------------------------------- /tests/cases/case2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case2.cpp -------------------------------------------------------------------------------- /tests/cases/case3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case3.cpp -------------------------------------------------------------------------------- /tests/cases/case4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case4.cpp -------------------------------------------------------------------------------- /tests/cases/case5.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case5.cpp -------------------------------------------------------------------------------- /tests/cases/case6.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case6.cpp -------------------------------------------------------------------------------- /tests/cases/case7.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case7.cpp -------------------------------------------------------------------------------- /tests/cases/case8.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case8.cpp -------------------------------------------------------------------------------- /tests/cases/case9.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/case9.cpp -------------------------------------------------------------------------------- /tests/cases/cases.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/cases.cpp -------------------------------------------------------------------------------- /tests/cases/cases.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/cases/cases.hpp -------------------------------------------------------------------------------- /tests/test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/tests/test.cpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_directory.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_directory.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_headers.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_headers.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_relocation.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_relocation.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_section.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_section.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_strings.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_strings.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_symbols.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_symbols.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_types.hpp -------------------------------------------------------------------------------- /thirdparty/coffi/coffi_utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/coffi/coffi_utils.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elf_types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elf_types.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_array.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_array.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_dump.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_dump.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_dynamic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_dynamic.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_header.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_header.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_modinfo.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_modinfo.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_note.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_note.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_relocation.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_relocation.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_section.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_section.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_segment.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_segment.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_strings.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_strings.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_symbols.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_symbols.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_utils.hpp -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_version.hpp: -------------------------------------------------------------------------------- 1 | #define ELFIO_VERSION "3.12" 2 | -------------------------------------------------------------------------------- /thirdparty/elfio/elfio_versym.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxnut/scbe/HEAD/thirdparty/elfio/elfio_versym.hpp --------------------------------------------------------------------------------