mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
79a4851ba7
add BPF disassembler, so tools like llvm-objdump can be used: $ llvm-objdump -d -no-show-raw-insn ./sockex1_kern.o ./sockex1_kern.o: file format ELF64-BPF Disassembly of section socket1: bpf_prog1: 0: r6 = r1 8: r0 = *(u8 *)skb[23] 10: *(u32 *)(r10 - 4) = r0 18: r1 = *(u32 *)(r6 + 4) 20: if r1 != 4 goto 8 28: r2 = r10 30: r2 += -4 ld_imm64 (the only 16-byte insn) and special ld_abs/ld_ind instructions had to be treated in a special way. The decoders for the rest of the insns are automatically generated. Add tests to cover new functionality. Signed-off-by: Alexei Starovoitov <ast@kernel.org> llvm-svn: 287477
30 lines
909 B
CMake
30 lines
909 B
CMake
set(LLVM_TARGET_DEFINITIONS BPF.td)
|
|
|
|
tablegen(LLVM BPFGenRegisterInfo.inc -gen-register-info)
|
|
tablegen(LLVM BPFGenInstrInfo.inc -gen-instr-info)
|
|
tablegen(LLVM BPFGenDisassemblerTables.inc -gen-disassembler)
|
|
tablegen(LLVM BPFGenAsmWriter.inc -gen-asm-writer)
|
|
tablegen(LLVM X86GenAsmMatcher.inc -gen-asm-matcher)
|
|
tablegen(LLVM BPFGenDAGISel.inc -gen-dag-isel)
|
|
tablegen(LLVM BPFGenMCCodeEmitter.inc -gen-emitter)
|
|
tablegen(LLVM BPFGenCallingConv.inc -gen-callingconv)
|
|
tablegen(LLVM BPFGenSubtargetInfo.inc -gen-subtarget)
|
|
add_public_tablegen_target(BPFCommonTableGen)
|
|
|
|
add_llvm_target(BPFCodeGen
|
|
BPFAsmPrinter.cpp
|
|
BPFFrameLowering.cpp
|
|
BPFInstrInfo.cpp
|
|
BPFISelDAGToDAG.cpp
|
|
BPFISelLowering.cpp
|
|
BPFMCInstLower.cpp
|
|
BPFRegisterInfo.cpp
|
|
BPFSubtarget.cpp
|
|
BPFTargetMachine.cpp
|
|
)
|
|
|
|
add_subdirectory(Disassembler)
|
|
add_subdirectory(InstPrinter)
|
|
add_subdirectory(TargetInfo)
|
|
add_subdirectory(MCTargetDesc)
|