Remove all of the now unecessary #if LLVM_REV

This commit is contained in:
Benjamin Kramer 2009-07-11 14:09:33 +02:00
parent 917bd7b901
commit 45f7401a5b
8 changed files with 3 additions and 91 deletions

View file

@ -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++)
{

View file

@ -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

View file

@ -212,9 +212,7 @@ static void addPassesForOptLevel(PassManager& pm) {
}
if (optimizeLevel >= 1) {
#if LLVM_REV >= 68940
addPass(pm, createStripExternalsPass());
#endif
addPass(pm, createGlobalDCEPass());
}

View file

@ -15,8 +15,6 @@ llvm::FunctionPass* createGarbageCollect2Stack();
llvm::ModulePass* createStripMetaData();
#endif
#if LLVM_REV >= 68940
llvm::ModulePass* createStripExternalsPass();
#endif
#endif

View file

@ -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

View file

@ -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;

View file

@ -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;
}

View file

@ -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);