mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
b18e7bdac8
Summary: Add a basic CodeGen bitcode test which (for now) only prints out the function name and nothing else. The current code merely implements the basic needed for the test run to not crash / assert. Getting to that point required: - Basic InstPrinter. - Basic AsmPrinter. - DiagnosticInfoUnsupported (not strictly required, but nice to have, duplicated from AMDGPU/BPF's ISelLowering). - Some SP and register setup in WebAssemblyTargetLowering. - Basic LowerFormalArguments. - GenInstrInfo. - Placeholder LowerFormalArguments. - Placeholder CanLowerReturn and LowerReturn. - Basic DAGToDAGISel::Select, which requiresGenDAGISel.inc as well as GET_INSTRINFO_ENUM with GenInstrInfo.inc. - Remove WebAssemblyFrameLowering::determineCalleeSaves and rely on default. - Implement WebAssemblyFrameLowering::hasFP, same as AArch64's implementation. Follow-up patches will implement a real AsmPrinter, which will require adding MI opcodes specific to WebAssembly. Reviewers: sunfish Subscribers: aemerson, jfb, llvm-commits Differential Revision: http://reviews.llvm.org/D11369 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242939 91177308-0d34-0410-b5e6-96231b3b80d8
30 lines
987 B
CMake
30 lines
987 B
CMake
set(LLVM_TARGET_DEFINITIONS WebAssembly.td)
|
|
|
|
tablegen(LLVM WebAssemblyGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(LLVM WebAssemblyGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(LLVM WebAssemblyGenInstrInfo.inc -gen-instr-info)
|
|
tablegen(LLVM WebAssemblyGenMCCodeEmitter.inc -gen-emitter)
|
|
tablegen(LLVM WebAssemblyGenRegisterInfo.inc -gen-register-info)
|
|
tablegen(LLVM WebAssemblyGenSubtargetInfo.inc -gen-subtarget)
|
|
add_public_tablegen_target(WebAssemblyCommonTableGen)
|
|
|
|
add_llvm_target(WebAssemblyCodeGen
|
|
WebAssemblyAsmPrinter.cpp
|
|
WebAssemblyFrameLowering.cpp
|
|
WebAssemblyISelDAGToDAG.cpp
|
|
WebAssemblyISelLowering.cpp
|
|
WebAssemblyInstrInfo.cpp
|
|
WebAssemblyMachineFunctionInfo.cpp
|
|
WebAssemblyRegisterInfo.cpp
|
|
WebAssemblySelectionDAGInfo.cpp
|
|
WebAssemblySubtarget.cpp
|
|
WebAssemblyTargetMachine.cpp
|
|
WebAssemblyTargetTransformInfo.cpp
|
|
)
|
|
|
|
add_dependencies(LLVMWebAssemblyCodeGen intrinsics_gen)
|
|
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(MCTargetDesc)
|