mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-12 22:14:54 +03:00
Remove all of the now unecessary #if LLVM_REV
This commit is contained in:
parent
917bd7b901
commit
45f7401a5b
8 changed files with 3 additions and 91 deletions
21
gen/main.cpp
21
gen/main.cpp
|
@ -7,17 +7,13 @@
|
|||
#include "gen/llvm-version.h"
|
||||
#include "llvm/LinkAllVMCore.h"
|
||||
#include "llvm/Linker.h"
|
||||
#if LLVM_REV >= 74640
|
||||
#include "llvm/LLVMContext.h"
|
||||
#endif
|
||||
#include "llvm/System/Signals.h"
|
||||
#include "llvm/Target/SubtargetFeature.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
#include "llvm/Target/TargetMachineRegistry.h"
|
||||
#if LLVM_REV >= 73610
|
||||
#include "llvm/Target/TargetSelect.h"
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -406,11 +402,7 @@ int main(int argc, char** argv)
|
|||
if (global.errors)
|
||||
fatal();
|
||||
|
||||
#if LLVM_REV >= 74640
|
||||
llvm::Module mod("dummy", llvm::getGlobalContext());
|
||||
#else
|
||||
llvm::Module mod("dummy");
|
||||
#endif
|
||||
|
||||
// override triple if needed
|
||||
const char* defaultTriple = DEFAULT_TARGET_TRIPLE;
|
||||
|
@ -439,12 +431,10 @@ int main(int argc, char** argv)
|
|||
// Allocate target machine.
|
||||
|
||||
// first initialize llvm
|
||||
#if LLVM_REV >= 73610
|
||||
#define LLVM_TARGET(A) LLVMInitialize##A##Target(); LLVMInitialize##A##AsmPrinter();
|
||||
// this is defined to be LLVM_TARGET(target name 1) LLVM_TARGET(target name 2) ...
|
||||
LDC_TARGETS
|
||||
#undef LLVM_TARGET
|
||||
#endif
|
||||
|
||||
// Check whether the user has explicitly specified an architecture to compile for.
|
||||
if (mArch == 0)
|
||||
|
@ -843,16 +833,12 @@ LDC_TARGETS
|
|||
* not be found at link time.
|
||||
*/
|
||||
if (!global.params.useArrayBounds && !global.params.useAssert)
|
||||
#elif LLVM_REV >= 68940
|
||||
#else
|
||||
// This doesn't play nice with debug info at the moment
|
||||
if (!global.params.symdebug && willInline())
|
||||
{
|
||||
global.params.useAvailableExternally = true;
|
||||
Logger::println("Running some extra semantic3's for inlining purposes");
|
||||
#else
|
||||
// IN_LLVM, but available_externally not available yet.
|
||||
if (false)
|
||||
{
|
||||
#endif
|
||||
{
|
||||
// Do pass 3 semantic analysis on all imported modules,
|
||||
|
@ -930,11 +916,8 @@ LDC_TARGETS
|
|||
char* name = m->toChars();
|
||||
char* filename = m->objfile->name->str;
|
||||
|
||||
#if LLVM_REV >= 74640
|
||||
llvm::Linker linker(name, name, llvm::getGlobalContext());
|
||||
#else
|
||||
llvm::Linker linker(name, name);
|
||||
#endif
|
||||
|
||||
std::string errormsg;
|
||||
for (int i = 0; i < llvmModules.size(); i++)
|
||||
{
|
||||
|
|
|
@ -3,11 +3,6 @@
|
|||
|
||||
#include "gen/llvm-version.h"
|
||||
|
||||
#if LLVM_REV >= 68420
|
||||
// Yay, we have metadata!
|
||||
|
||||
// The metadata interface is still in flux...
|
||||
#if LLVM_REV >= 71407
|
||||
// MDNode was moved into its own header, and contains Value*s
|
||||
#include "llvm/MDNode.h"
|
||||
typedef llvm::Value MDNodeField;
|
||||
|
@ -19,19 +14,6 @@
|
|||
inline MDNodeField* MD_GetElement(llvm::MDNode* N, unsigned i) {
|
||||
return N->getElement(i);
|
||||
}
|
||||
#else
|
||||
// MDNode is in Constants.h, and contains Constant*s
|
||||
#include "llvm/Constants.h"
|
||||
typedef llvm::Constant MDNodeField;
|
||||
|
||||
// Use getNumOperands() and getOperand() to access elements.
|
||||
inline unsigned MD_GetNumElements(llvm::MDNode* N) {
|
||||
return N->getNumOperands();
|
||||
}
|
||||
inline MDNodeField* MD_GetElement(llvm::MDNode* N, unsigned i) {
|
||||
return N->getOperand(i);
|
||||
}
|
||||
#endif
|
||||
|
||||
#define USE_METADATA
|
||||
#define METADATA_LINKAGE_TYPE llvm::GlobalValue::WeakODRLinkage
|
||||
|
@ -42,14 +24,7 @@
|
|||
/// The fields in the metadata node for a TypeInfo instance.
|
||||
/// (Its name will be TD_PREFIX ~ <Name of TypeInfo global>)
|
||||
enum TypeDataFields {
|
||||
#if LLVM_REV < 71407
|
||||
// TD_Confirm is disabled for older revisions due to an LLVM bug when
|
||||
// MDNodes contain globals
|
||||
// (see http://llvm.org/PR4180 / http://llvm.org/PR4046 )
|
||||
TD_Confirm = -1,/// The TypeInfo this node is for.
|
||||
#else
|
||||
TD_Confirm, /// The TypeInfo this node is for.
|
||||
#endif
|
||||
|
||||
TD_Type, /// A value of the LLVM type corresponding to this D type
|
||||
|
||||
|
@ -73,5 +48,3 @@ enum ClassDataFields {
|
|||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -212,9 +212,7 @@ static void addPassesForOptLevel(PassManager& pm) {
|
|||
}
|
||||
|
||||
if (optimizeLevel >= 1) {
|
||||
#if LLVM_REV >= 68940
|
||||
addPass(pm, createStripExternalsPass());
|
||||
#endif
|
||||
addPass(pm, createGlobalDCEPass());
|
||||
}
|
||||
|
||||
|
|
|
@ -15,8 +15,6 @@ llvm::FunctionPass* createGarbageCollect2Stack();
|
|||
llvm::ModulePass* createStripMetaData();
|
||||
#endif
|
||||
|
||||
#if LLVM_REV >= 68940
|
||||
llvm::ModulePass* createStripExternalsPass();
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
|
||||
#include "gen/llvm-version.h"
|
||||
|
||||
#if LLVM_REV >= 68940
|
||||
|
||||
|
||||
#define DEBUG_TYPE "strip-externals"
|
||||
|
||||
#include "Passes.h"
|
||||
|
@ -96,5 +93,3 @@ bool StripExternals::runOnModule(Module &M) {
|
|||
|
||||
return Changed;
|
||||
}
|
||||
|
||||
#endif //LLVM_REV >= 68940
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#include "gen/llvm.h"
|
||||
#include "gen/llvm-version.h"
|
||||
#if LLVM_REV >= 74640
|
||||
#include "llvm/LLVMContext.h"
|
||||
#endif
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/Attributes.h"
|
||||
#include "llvm/Bitcode/ReaderWriter.h"
|
||||
|
@ -153,11 +151,7 @@ static const LLType* rt_dg2()
|
|||
static void LLVM_D_BuildRuntimeModule()
|
||||
{
|
||||
Logger::println("building module");
|
||||
#if LLVM_REV >= 74640
|
||||
M = new llvm::Module("ldc internal runtime", llvm::getGlobalContext());
|
||||
#else
|
||||
M = new llvm::Module("ldc internal runtime");
|
||||
#endif
|
||||
|
||||
Logger::println("building basic types");
|
||||
const LLType* voidTy = LLType::VoidTy;
|
||||
|
|
|
@ -241,11 +241,9 @@ LLGlobalValue::LinkageTypes DtoLinkage(Dsymbol* sym)
|
|||
{
|
||||
if (mustDefineSymbol(vd))
|
||||
Logger::println("Variable %savailable externally: %s", (vd->availableExternally ? "" : "not "), vd->toChars());
|
||||
#if LLVM_REV >= 68940
|
||||
// generated by inlining semantics run
|
||||
if (vd->availableExternally && mustDefineSymbol(sym))
|
||||
return llvm::GlobalValue::AvailableExternallyLinkage;
|
||||
#endif
|
||||
// template
|
||||
if (needsTemplateLinkage(sym))
|
||||
return TEMPLATE_LINKAGE_TYPE;
|
||||
|
@ -261,11 +259,9 @@ LLGlobalValue::LinkageTypes DtoLinkage(Dsymbol* sym)
|
|||
// intrinsics are always external
|
||||
if (fdecl->llvmInternal == LLVMintrinsic)
|
||||
return llvm::GlobalValue::ExternalLinkage;
|
||||
#if LLVM_REV >= 68940
|
||||
// generated by inlining semantics run
|
||||
if (fdecl->availableExternally && mustDefineSymbol(sym))
|
||||
return llvm::GlobalValue::AvailableExternallyLinkage;
|
||||
#endif
|
||||
// array operations are always template linkage
|
||||
if (fdecl->isArrayOp)
|
||||
return TEMPLATE_LINKAGE_TYPE;
|
||||
|
@ -283,11 +279,9 @@ LLGlobalValue::LinkageTypes DtoLinkage(Dsymbol* sym)
|
|||
{
|
||||
if (mustDefineSymbol(cd))
|
||||
Logger::println("Class %savailable externally: %s", (cd->availableExternally ? "" : "not "), vd->toChars());
|
||||
#if LLVM_REV >= 68940
|
||||
// generated by inlining semantics run
|
||||
if (cd->availableExternally && mustDefineSymbol(sym))
|
||||
return llvm::GlobalValue::AvailableExternallyLinkage;
|
||||
#endif
|
||||
// template
|
||||
if (needsTemplateLinkage(cd))
|
||||
return TEMPLATE_LINKAGE_TYPE;
|
||||
|
@ -339,10 +333,8 @@ static bool isAvailableExternally(Dsymbol* sym)
|
|||
llvm::GlobalValue::LinkageTypes DtoInternalLinkage(Dsymbol* sym)
|
||||
{
|
||||
if (needsTemplateLinkage(sym)) {
|
||||
#if LLVM_REV >= 68940
|
||||
if (isAvailableExternally(sym) && mustDefineSymbol(sym))
|
||||
return llvm::GlobalValue::AvailableExternallyLinkage;
|
||||
#endif
|
||||
return TEMPLATE_LINKAGE_TYPE;
|
||||
}
|
||||
else
|
||||
|
@ -351,10 +343,8 @@ llvm::GlobalValue::LinkageTypes DtoInternalLinkage(Dsymbol* sym)
|
|||
|
||||
llvm::GlobalValue::LinkageTypes DtoExternalLinkage(Dsymbol* sym)
|
||||
{
|
||||
#if LLVM_REV >= 68940
|
||||
if (isAvailableExternally(sym) && mustDefineSymbol(sym))
|
||||
return llvm::GlobalValue::AvailableExternallyLinkage;
|
||||
#endif
|
||||
if (needsTemplateLinkage(sym))
|
||||
return TEMPLATE_LINKAGE_TYPE;
|
||||
else
|
||||
|
@ -768,11 +758,7 @@ size_t getTypeStoreSize(const LLType* t)
|
|||
|
||||
size_t getTypePaddedSize(const LLType* t)
|
||||
{
|
||||
#if LLVM_REV > 71348
|
||||
size_t sz = gTargetData->getTypeAllocSize(t);
|
||||
#else
|
||||
size_t sz = gTargetData->getTypePaddedSize(t);
|
||||
#endif
|
||||
//Logger::cout() << "abi type size of: " << *t << " == " << sz << '\n';
|
||||
return sz;
|
||||
}
|
||||
|
|
|
@ -14,9 +14,7 @@
|
|||
#include "gen/llvm-version.h"
|
||||
#include "llvm/Analysis/Verifier.h"
|
||||
#include "llvm/Bitcode/ReaderWriter.h"
|
||||
#if LLVM_REV >= 74640
|
||||
#include "llvm/LLVMContext.h"
|
||||
#endif
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/ModuleProvider.h"
|
||||
#include "llvm/PassManager.h"
|
||||
|
@ -97,11 +95,7 @@ llvm::Module* Module::genLLVMModule(Ir* sir)
|
|||
|
||||
// create a new ir state
|
||||
// TODO look at making the instance static and moving most functionality into IrModule where it belongs
|
||||
#if LLVM_REV >= 74640
|
||||
IRState ir(new llvm::Module(mname, llvm::getGlobalContext()));
|
||||
#else
|
||||
IRState ir(new llvm::Module(mname));
|
||||
#endif
|
||||
gIR = &ir;
|
||||
ir.dmodule = this;
|
||||
|
||||
|
@ -307,15 +301,6 @@ void write_asm_to_file(llvm::TargetMachine &Target, llvm::Module& m, llvm::raw_f
|
|||
// Ask the target to add backend passes as necessary.
|
||||
MachineCodeEmitter *MCE = 0;
|
||||
|
||||
#if LLVM_REV < 70343
|
||||
// Last argument is bool Fast
|
||||
// debug info doesn't work properly without fast!
|
||||
bool LastArg = !optimize() || global.params.symdebug;
|
||||
#elif LLVM_REV < 70459
|
||||
// Last argument is unsigned OptLevel
|
||||
// debug info doesn't work properly with OptLevel > 0!
|
||||
unsigned LastArg = global.params.symdebug ? 0 : optLevel();
|
||||
#else
|
||||
// Last argument is enum CodeGenOpt::Level OptLevel
|
||||
// debug info doesn't work properly with OptLevel != None!
|
||||
CodeGenOpt::Level LastArg = CodeGenOpt::Default;
|
||||
|
@ -323,7 +308,7 @@ void write_asm_to_file(llvm::TargetMachine &Target, llvm::Module& m, llvm::raw_f
|
|||
LastArg = CodeGenOpt::None;
|
||||
else if (optLevel() >= 3)
|
||||
LastArg = CodeGenOpt::Aggressive;
|
||||
#endif
|
||||
|
||||
FileModel::Model mod = Target.addPassesToEmitFile(Passes, out, TargetMachine::AssemblyFile, LastArg);
|
||||
assert(mod == FileModel::AsmFile);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue