mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 03:28:20 +02:00
Initial checkin
This commit is contained in:
parent
c74712dad9
commit
078564ac9e
3242 changed files with 1616395 additions and 0 deletions
90
IDEHelper/X86Target.cpp
Normal file
90
IDEHelper/X86Target.cpp
Normal file
|
@ -0,0 +1,90 @@
|
|||
#pragma warning(disable:4996)
|
||||
#pragma warning(disable:4800)
|
||||
#pragma warning(disable:4244)
|
||||
#pragma warning(disable:4005)
|
||||
#pragma warning(disable:4267)
|
||||
|
||||
#include "X86Target.h"
|
||||
#include "llvm/Config/llvm-config.h"
|
||||
#include "llvm/Support/AlignOf.h"
|
||||
#include "llvm/Support/FormattedStream.h"
|
||||
#include "llvm/Support/SourceMgr.h"
|
||||
#include "llvm/MC/MCContext.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Support/TargetRegistry.h"
|
||||
//#include "llvm/Support/MemoryObject.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
//#include "llvm/Target/TargetSubtargetInfo.h"
|
||||
//#include "llvm/Target/TargetInstrInfo.h"
|
||||
#include "llvm/MC/MCAsmInfo.h"
|
||||
#include "llvm/MC/MCStreamer.h"
|
||||
#include "llvm/MC/MCParser/MCAsmParser.h"
|
||||
//#include "llvm/MC/MCTargetAsmParser.h"
|
||||
#include "llvm/MC/MCObjectFileInfo.h"
|
||||
//#include "X86/Disassembler/X86Disassembler.h"
|
||||
#include "X86/Disassembler/X86DisassemblerDecoder.h"
|
||||
#include "X86/MCTargetDesc/X86MCTargetDesc.h"
|
||||
#include "X86/MCTargetDesc/X86BaseInfo.h"
|
||||
#include "llvm/Support/TargetSelect.h"
|
||||
|
||||
#include "BeefySysLib/util/AllocDebug.h"
|
||||
|
||||
USING_NS_BF;
|
||||
|
||||
X86Target* Beefy::gX86Target = NULL;
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
extern "C" void LLVM_NATIVE_TARGETINFO();
|
||||
extern "C" void LLVM_NATIVE_TARGET();
|
||||
extern "C" void LLVM_NATIVE_TARGETMC();
|
||||
extern "C" void LLVM_NATIVE_ASMPARSER();
|
||||
extern "C" void LLVM_NATIVE_ASMPRINTER();
|
||||
extern "C" void LLVM_NATIVE_DISASSEMBLER();
|
||||
|
||||
X86Target::X86Target()
|
||||
{
|
||||
llvm::InitializeNativeTarget();
|
||||
llvm::InitializeNativeTargetAsmPrinter();
|
||||
llvm::InitializeNativeTargetAsmParser();
|
||||
llvm::InitializeNativeTargetDisassembler();
|
||||
|
||||
/*LLVM_NATIVE_TARGETINFO();
|
||||
LLVM_NATIVE_TARGET();
|
||||
LLVM_NATIVE_TARGETMC();
|
||||
LLVM_NATIVE_ASMPARSER();
|
||||
LLVM_NATIVE_ASMPRINTER();
|
||||
LLVM_NATIVE_DISASSEMBLER();*/
|
||||
|
||||
#ifdef PLATFORM_LINUX
|
||||
/*for (Target *T : {&getTheX86_32Target(), &getTheX86_64Target()}) {
|
||||
RegisterELFStreamer(*T, create);
|
||||
RegisterMachOStreamer();
|
||||
RegisterWasmStreamer();
|
||||
}*/
|
||||
#endif
|
||||
|
||||
/*LLVMInitializeX86Target();
|
||||
LLVMInitializeX86TargetMC();
|
||||
LLVMInitializeX86AsmParser();
|
||||
LLVMInitializeX86Disassembler();
|
||||
LLVMInitializeX86TargetInfo();
|
||||
LLVMInitializeX86AsmPrinter();*/
|
||||
|
||||
PassRegistry *Registry = PassRegistry::getPassRegistry();
|
||||
initializeCore(*Registry);
|
||||
initializeCodeGen(*Registry);
|
||||
initializeLoopStrengthReducePass(*Registry);
|
||||
initializeLowerIntrinsicsPass(*Registry);
|
||||
initializeUnreachableBlockElimLegacyPassPass(*Registry);
|
||||
|
||||
mX86CPU = new X86CPU();
|
||||
mX64CPU = new X64CPU();
|
||||
}
|
||||
|
||||
X86Target::~X86Target()
|
||||
{
|
||||
delete mX86CPU;
|
||||
delete mX64CPU;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue