I'm working on arm support for the in-tree llvm. I've got it working well enough to build "Hello, World", but I still have some exception handling issues.
As a first step, this adds the build infrastructure. ok? Index: include/llvm/ARM/Makefile =================================================================== RCS file: include/llvm/ARM/Makefile diff -N include/llvm/ARM/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ include/llvm/ARM/Makefile 16 Sep 2016 18:18:50 -0000 @@ -0,0 +1,85 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/05 10:56:48 pascal Exp $ + +.include <bsd.own.mk> + +LLVM_SRCS= ${.CURDIR}/../../../../../llvm + +HDRS= ARMGenAsmMatcher.inc ARMGenAsmWriter.inc \ + ARMGenCallingConv.inc ARMGenDAGISel.inc ARMGenDisassemblerTables.inc \ + ARMGenFastISel.inc ARMGenInstrInfo.inc ARMGenRegisterInfo.inc \ + ARMGenSubtargetInfo.inc \ + ARMGenMCCodeEmitter.inc ARMGenMCPseudoLowering.inc \ + ARMGenDisassemblerTables.inc + +all: ${HDRS} + +install: + # Nothing here so far ... + +depend: + # Nothing here so far ... + +clean: + rm -f ${HDRS} + +ARMGenRegisterInfo.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-register-info \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenDisassemblerTables.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-disassembler \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenInstrInfo.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-instr-info \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenAsmWriter.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-asm-writer \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenAsmMatcher.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-asm-matcher \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenDAGISel.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-dag-isel \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenFastISel.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-fast-isel \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenCallingConv.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-callingconv \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenSubtargetInfo.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-subtarget \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenMCCodeEmitter.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-emitter \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenMCPseudoLowering.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-pseudo-lowering \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +ARMGenDisassemblerTables.inc: ${LLVM_SRCS}/lib/Target/ARM/ARM.td + ${.OBJDIR}/../../../llvm-tblgen/llvm-tblgen -gen-disassembler \ + -I${LLVM_SRCS}/include -I${LLVM_SRCS}/lib/Target/ARM \ + -o ${.TARGET} ${.ALLSRC} + +.include <bsd.obj.mk> Index: libLLVMARMAsmParser/Makefile =================================================================== RCS file: libLLVMARMAsmParser/Makefile diff -N libLLVMARMAsmParser/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libLLVMARMAsmParser/Makefile 16 Sep 2016 18:18:50 -0000 @@ -0,0 +1,20 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/05 10:56:50 pascal Exp $ + +LIB= LLVMARMAsmParser +NOPIC= +NOPROFILE= + +CPPFLAGS+= -I${.OBJDIR}/../include/llvm/ARM -I${LLVM_SRCS}/lib/Target/ARM + +.include <bsd.own.mk> +SRCS= ARMAsmParser.cpp + +.PATH: ${.CURDIR}/../../../llvm/lib/Target/ARM/AsmParser + +depend: + # Nothing here so far ... + +install: + # Nothing here so far ... + +.include <bsd.lib.mk> Index: libLLVMARMAsmPrinter/Makefile =================================================================== RCS file: libLLVMARMAsmPrinter/Makefile diff -N libLLVMARMAsmPrinter/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libLLVMARMAsmPrinter/Makefile 16 Sep 2016 18:18:50 -0000 @@ -0,0 +1,20 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/05 10:56:50 pascal Exp $ + +LIB= LLVMARMAsmPrinter +NOPIC= +NOPROFILE= + +CPPFLAGS+= -I${.OBJDIR}/../include/llvm/ARM -I${LLVM_SRCS}/lib/Target/ARM + +.include <bsd.own.mk> +SRCS= ARMInstPrinter.cpp + +.PATH: ${.CURDIR}/../../../llvm/lib/Target/ARM/InstPrinter + +depend: + # Nothing here so far ... + +install: + # Nothing here so far ... + +.include <bsd.lib.mk> Index: libLLVMARMCodeGen/Makefile =================================================================== RCS file: libLLVMARMCodeGen/Makefile diff -N libLLVMARMCodeGen/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libLLVMARMCodeGen/Makefile 16 Sep 2016 18:18:50 -0000 @@ -0,0 +1,49 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/05 10:56:50 pascal Exp $ + +LIB= LLVMARMCodeGen +NOPIC= +NOPROFILE= + +CPPFLAGS+= -I${.OBJDIR}/../include/llvm/ARM -I${LLVM_SRCS}/lib/Target/ARM + +.include <bsd.own.mk> +SRCS= A15SDOptimizer.cpp \ + ARMAsmPrinter.cpp \ + ARMBaseInstrInfo.cpp \ + ARMBaseRegisterInfo.cpp \ + ARMConstantIslandPass.cpp \ + ARMConstantPoolValue.cpp \ + ARMExpandPseudoInsts.cpp \ + ARMFastISel.cpp \ + ARMFrameLowering.cpp \ + ARMHazardRecognizer.cpp \ + ARMISelDAGToDAG.cpp \ + ARMISelLowering.cpp \ + ARMInstrInfo.cpp \ + ARMLoadStoreOptimizer.cpp \ + ARMMCInstLower.cpp \ + ARMMachineFunctionInfo.cpp \ + ARMRegisterInfo.cpp \ + ARMOptimizeBarriersPass.cpp \ + ARMSelectionDAGInfo.cpp \ + ARMSubtarget.cpp \ + ARMTargetMachine.cpp \ + ARMTargetObjectFile.cpp \ + ARMTargetTransformInfo.cpp \ + MLxExpansionPass.cpp \ + Thumb1FrameLowering.cpp \ + Thumb1InstrInfo.cpp \ + ThumbRegisterInfo.cpp \ + Thumb2ITBlockPass.cpp \ + Thumb2InstrInfo.cpp \ + Thumb2SizeReduction.cpp + +.PATH: ${.CURDIR}/../../../llvm/lib/Target/ARM + +depend: + # Nothing here so far ... + +install: + # Nothing here so far ... + +.include <bsd.lib.mk> Index: libLLVMARMDesc/Makefile =================================================================== RCS file: libLLVMARMDesc/Makefile diff -N libLLVMARMDesc/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libLLVMARMDesc/Makefile 16 Sep 2016 18:18:50 -0000 @@ -0,0 +1,32 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/05 10:56:50 pascal Exp $ + +LIB= LLVMARMDesc +NOPIC= +NOPROFILE= + +CPPFLAGS+= -I${.OBJDIR}/../include/llvm/ARM -I${LLVM_SRCS}/lib/Target/ARM + +.include <bsd.own.mk> +SRCS= ARMAsmBackend.cpp \ + ARMELFObjectWriter.cpp \ + ARMELFStreamer.cpp \ + ARMMachObjectWriter.cpp \ + ARMMachORelocationInfo.cpp \ + ARMMCAsmInfo.cpp \ + ARMMCCodeEmitter.cpp \ + ARMMCExpr.cpp \ + ARMMCTargetDesc.cpp \ + ARMTargetStreamer.cpp \ + ARMUnwindOpAsm.cpp \ + ARMWinCOFFObjectWriter.cpp \ + ARMWinCOFFStreamer.cpp + +.PATH: ${.CURDIR}/../../../llvm/lib/Target/ARM/MCTargetDesc + +depend: + # Nothing here so far ... + +install: + # Nothing here so far ... + +.include <bsd.lib.mk> Index: libLLVMARMDisassembler/Makefile =================================================================== RCS file: libLLVMARMDisassembler/Makefile diff -N libLLVMARMDisassembler/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libLLVMARMDisassembler/Makefile 16 Sep 2016 18:18:50 -0000 @@ -0,0 +1,20 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/05 10:56:50 pascal Exp $ + +LIB= LLVMARMDisassembler +NOPIC= +NOPROFILE= + +CPPFLAGS+= -I${.OBJDIR}/../include/llvm/ARM -I${LLVM_SRCS}/lib/Target/ARM + +.include <bsd.own.mk> +SRCS= ARMDisassembler.cpp + +.PATH: ${.CURDIR}/../../../llvm/lib/Target/ARM/Disassembler + +depend: + # Nothing here so far ... + +install: + # Nothing here so far ... + +.include <bsd.lib.mk> Index: libLLVMARMInfo/Makefile =================================================================== RCS file: libLLVMARMInfo/Makefile diff -N libLLVMARMInfo/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libLLVMARMInfo/Makefile 16 Sep 2016 18:18:50 -0000 @@ -0,0 +1,20 @@ +# $OpenBSD: Makefile,v 1.1 2016/09/05 10:56:50 pascal Exp $ + +LIB= LLVMARMInfo +NOPIC= +NOPROFILE= + +CPPFLAGS+= -I${.OBJDIR}/../include/llvm/ARM -I${LLVM_SRCS}/lib/Target/ARM + +.include <bsd.own.mk> +SRCS= ARMTargetInfo.cpp + +.PATH: ${.CURDIR}/../../../llvm/lib/Target/ARM/TargetInfo + +depend: + # Nothing here so far ... + +install: + # Nothing here so far ... + +.include <bsd.lib.mk>