mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-05 11:18:48 +00:00
91f4652a9e
WebAssembly requires caller and callee signatures to match exactly. In LLVM, there are a variety of circumstances where signatures may be mismatched in practice, and one can bitcast a function address to another type to call it as that type. This patch adds a pass which replaces bitcasted function addresses with wrappers to replace the bitcasts. This doesn't catch everything, but it does match many common cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291315 91177308-0d34-0410-b5e6-96231b3b80d8
55 lines
1.7 KiB
CMake
55 lines
1.7 KiB
CMake
set(LLVM_TARGET_DEFINITIONS WebAssembly.td)
|
|
|
|
tablegen(LLVM WebAssemblyGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(LLVM WebAssemblyGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(LLVM WebAssemblyGenFastISel.inc -gen-fast-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
|
|
WebAssemblyArgumentMove.cpp
|
|
WebAssemblyAsmPrinter.cpp
|
|
WebAssemblyCallIndirectFixup.cpp
|
|
WebAssemblyCFGStackify.cpp
|
|
WebAssemblyExplicitLocals.cpp
|
|
WebAssemblyFastISel.cpp
|
|
WebAssemblyFixIrreducibleControlFlow.cpp
|
|
WebAssemblyFixFunctionBitcasts.cpp
|
|
WebAssemblyFrameLowering.cpp
|
|
WebAssemblyISelDAGToDAG.cpp
|
|
WebAssemblyISelLowering.cpp
|
|
WebAssemblyInstrInfo.cpp
|
|
WebAssemblyLowerBrUnless.cpp
|
|
WebAssemblyLowerEmscriptenEHSjLj.cpp
|
|
WebAssemblyMachineFunctionInfo.cpp
|
|
WebAssemblyMCInstLower.cpp
|
|
WebAssemblyOptimizeLiveIntervals.cpp
|
|
WebAssemblyOptimizeReturned.cpp
|
|
WebAssemblyPeephole.cpp
|
|
WebAssemblyPrepareForLiveIntervals.cpp
|
|
WebAssemblyRegisterInfo.cpp
|
|
WebAssemblyRegColoring.cpp
|
|
WebAssemblyRegNumbering.cpp
|
|
WebAssemblyRegStackify.cpp
|
|
WebAssemblyReplacePhysRegs.cpp
|
|
WebAssemblySelectionDAGInfo.cpp
|
|
WebAssemblySetP2AlignOperands.cpp
|
|
WebAssemblyStoreResults.cpp
|
|
WebAssemblySubtarget.cpp
|
|
WebAssemblyTargetMachine.cpp
|
|
WebAssemblyTargetObjectFile.cpp
|
|
WebAssemblyTargetTransformInfo.cpp
|
|
WebAssemblyUtilities.cpp
|
|
|
|
DEPENDS
|
|
intrinsics_gen
|
|
)
|
|
|
|
add_subdirectory(Disassembler)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(MCTargetDesc)
|
|
add_subdirectory(TargetInfo)
|