mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-11 02:06:35 +01:00
Merge branch 'master' into merge-2.061-2
This commit is contained in:
@@ -47,9 +47,15 @@
|
||||
#endif
|
||||
|
||||
#if IN_LLVM
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Type.h"
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#else
|
||||
#include "llvm/Type.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#endif
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include <map>
|
||||
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
#include "gen/cl_helpers.h"
|
||||
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#elif LDC_LLVM_VER == 302
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Target/TargetData.h"
|
||||
|
||||
@@ -9,9 +9,14 @@
|
||||
|
||||
#include "gen/llvmcompat.h"
|
||||
#include "gen/llvm.h"
|
||||
#include "llvm/LinkAllVMCore.h"
|
||||
#include "llvm/Linker.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/LinkAllIR.h"
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
#else
|
||||
#include "llvm/LinkAllVMCore.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#endif
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
#include "llvm/Support/TargetSelect.h"
|
||||
|
||||
@@ -8,7 +8,11 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "gen/llvm.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/InlineAsm.h"
|
||||
#else
|
||||
#include "llvm/InlineAsm.h"
|
||||
#endif
|
||||
|
||||
//#include "d-gcc-includes.h"
|
||||
//#include "total.h"
|
||||
|
||||
@@ -9,7 +9,11 @@
|
||||
|
||||
#include "gen/llvm.h"
|
||||
#include "llvm/Support/CFG.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Intrinsics.h"
|
||||
#else
|
||||
#include "llvm/Intrinsics.h"
|
||||
#endif
|
||||
|
||||
#include "mtype.h"
|
||||
#include "aggregate.h"
|
||||
@@ -345,7 +349,11 @@ LLFunction* DtoInlineIRFunction(FuncDeclaration* fdecl)
|
||||
if(errstr != "")
|
||||
error(tinst->loc,
|
||||
"can't parse inline LLVM IR:\n%s\n%s\n%s\nThe input string was: \n%s",
|
||||
#if LDC_LLVM_VER >= 303
|
||||
err.getLineContents().str().c_str(),
|
||||
#else
|
||||
err.getLineContents().c_str(),
|
||||
#endif
|
||||
(std::string(err.getColumnNo(), ' ') + '^').c_str(),
|
||||
errstr.c_str(), stream.str().c_str());
|
||||
|
||||
|
||||
11
gen/llvm.h
11
gen/llvm.h
@@ -29,6 +29,9 @@
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/Value.h"
|
||||
#include "llvm/IR/Attributes.h"
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
#include "llvm/DebugInfo.h"
|
||||
#else
|
||||
#include "llvm/Type.h"
|
||||
#include "llvm/DerivedTypes.h"
|
||||
@@ -40,17 +43,17 @@
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/Value.h"
|
||||
#include "llvm/Attributes.h"
|
||||
#endif
|
||||
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#if LDC_LLVM_VER == 302
|
||||
#include "llvm/DataLayout.h"
|
||||
#include "llvm/DebugInfo.h"
|
||||
#include "llvm/IRBuilder.h"
|
||||
#include "llvm/DebugInfo.h"
|
||||
#else
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#include "llvm/Analysis/DebugInfo.h"
|
||||
#include "llvm/Support/IRBuilder.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#include "gen/llvmcompat.h"
|
||||
|
||||
|
||||
@@ -10,14 +10,21 @@
|
||||
#include "gen/llvmcompat.h"
|
||||
#include "llvm/Config/llvm-config.h"
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#include "llvm/IR/Function.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
#else
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/Function.h"
|
||||
#include "llvm/Module.h"
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#if LDC_LLVM_VER == 302
|
||||
#include "llvm/IRBuilder.h"
|
||||
#else
|
||||
#include "llvm/Support/IRBuilder.h"
|
||||
#endif
|
||||
#endif
|
||||
#include <string>
|
||||
|
||||
#if LDC_LLVM_VER == 300
|
||||
|
||||
@@ -1645,7 +1645,7 @@ bool mustDefineSymbol(Dsymbol* s)
|
||||
{
|
||||
// we can't (and probably shouldn't?) define functions
|
||||
// that weren't semantic3'ed
|
||||
if (fd->semanticRun < 4)
|
||||
if (fd->semanticRun < PASSsemantic3)
|
||||
return false;
|
||||
|
||||
if (fd->isArrayOp == 1)
|
||||
@@ -1669,7 +1669,7 @@ bool mustDefineSymbol(Dsymbol* s)
|
||||
if ( !fd->isStaticCtorDeclaration()
|
||||
&& !fd->isStaticDtorDeclaration()
|
||||
&& !fd->isUnitTestDeclaration()
|
||||
&& fd->canInline(true))
|
||||
&& fd->canInline(true, false, false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/GlobalValue.h"
|
||||
#else
|
||||
#include "llvm/GlobalValue.h"
|
||||
#endif
|
||||
#include "llvm/Support/Casting.h"
|
||||
#include "llvm/Support/raw_os_ostream.h"
|
||||
#include "llvm/Assembly/Writer.h"
|
||||
|
||||
@@ -17,7 +17,11 @@
|
||||
#define LDC_GEN_METADATA_H
|
||||
|
||||
// MDNode was moved into its own header, and contains Value*s
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Metadata.h"
|
||||
#else
|
||||
#include "llvm/Metadata.h"
|
||||
#endif
|
||||
typedef llvm::Value MDNodeField;
|
||||
|
||||
#define METADATA_LINKAGE_TYPE llvm::GlobalValue::WeakODRLinkage
|
||||
|
||||
@@ -9,13 +9,18 @@
|
||||
|
||||
#include "gen/llvm.h"
|
||||
#include "llvm/Analysis/Verifier.h"
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/LinkAllPasses.h"
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Module.h"
|
||||
#if LDC_LLVM_VER == 302
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "mars.h"
|
||||
#include "module.h"
|
||||
|
||||
@@ -8,7 +8,11 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "gen/llvm.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/InlineAsm.h"
|
||||
#else
|
||||
#include "llvm/InlineAsm.h"
|
||||
#endif
|
||||
|
||||
#include "expression.h"
|
||||
#include "statement.h"
|
||||
|
||||
@@ -17,16 +17,17 @@
|
||||
#include "llvm/LinkAllPasses.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Module.h"
|
||||
#endif
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include "llvm/Analysis/Verifier.h"
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#if LDC_LLVM_VER == 302
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#endif
|
||||
#endif
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include "llvm/Analysis/Verifier.h"
|
||||
#include "llvm/Target/TargetLibraryInfo.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
|
||||
@@ -27,14 +27,17 @@
|
||||
#include "llvm/IR/Constants.h"
|
||||
#include "llvm/IR/Intrinsics.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/Constants.h"
|
||||
#include "llvm/Intrinsics.h"
|
||||
#if LDC_LLVM_VER == 302
|
||||
#include "llvm/IRBuilder.h"
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Support/IRBuilder.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#endif
|
||||
#endif
|
||||
#include "llvm/Support/CallSite.h"
|
||||
@@ -42,11 +45,6 @@
|
||||
#include "llvm/Analysis/CallGraph.h"
|
||||
#include "llvm/Analysis/Dominators.h"
|
||||
#include "llvm/Analysis/ValueTracking.h"
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#endif
|
||||
#include "llvm/ADT/SmallSet.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
|
||||
@@ -23,22 +23,20 @@
|
||||
#include "llvm/IR/Function.h"
|
||||
#include "llvm/IR/Intrinsics.h"
|
||||
#include "llvm/IR/IRBuilder.h"
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Function.h"
|
||||
#include "llvm/Intrinsics.h"
|
||||
#if LDC_LLVM_VER == 302
|
||||
#include "llvm/IRBuilder.h"
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Support/IRBuilder.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#endif
|
||||
#endif
|
||||
#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/ValueTracking.h"
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#endif
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
|
||||
#include "Passes.h"
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Module.h"
|
||||
#else
|
||||
#include "llvm/Module.h"
|
||||
#endif
|
||||
#include "llvm/Pass.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
@@ -15,7 +15,11 @@
|
||||
#ifndef __LDC_GEN_RTTIBUILDER_H__
|
||||
#define __LDC_GEN_RTTIBUILDER_H__
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Constant.h"
|
||||
#else
|
||||
#include "llvm/Constant.h"
|
||||
#endif
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
|
||||
struct ClassDeclaration;
|
||||
|
||||
@@ -8,8 +8,13 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "gen/llvm.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/Attributes.h"
|
||||
#else
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/Attributes.h"
|
||||
#endif
|
||||
#include "llvm/Bitcode/ReaderWriter.h"
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
|
||||
@@ -13,7 +13,11 @@
|
||||
#include <fstream>
|
||||
|
||||
#include "gen/llvm.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/InlineAsm.h"
|
||||
#else
|
||||
#include "llvm/InlineAsm.h"
|
||||
#endif
|
||||
#include "llvm/Support/CFG.h"
|
||||
|
||||
#include "mars.h"
|
||||
|
||||
@@ -688,24 +688,13 @@ LLConstant* DtoConstFP(Type* t, longdouble value)
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if LDC_LLVM_VER >= 301
|
||||
static inline LLConstant* toConstString(llvm::LLVMContext& ctx, const llvm::StringRef& str)
|
||||
{
|
||||
LLSmallVector<uint8_t, 64> vals;
|
||||
vals.append(str.begin(), str.end());
|
||||
vals.push_back(0);
|
||||
return llvm::ConstantDataArray::get(ctx, vals);
|
||||
}
|
||||
#endif
|
||||
|
||||
LLConstant* DtoConstString(const char* str)
|
||||
{
|
||||
llvm::StringRef s(str ? str : "");
|
||||
#if LDC_LLVM_VER == 300
|
||||
llvm::StringRef s(str?str:"");
|
||||
LLConstant* init = LLConstantArray::get(gIR->context(), s, true);
|
||||
#else
|
||||
llvm::StringRef s(str ? str : "");
|
||||
LLConstant* init = toConstString(gIR->context(), s);
|
||||
LLConstant* init = llvm::ConstantDataArray::getString(gIR->context(), s, true);
|
||||
#endif
|
||||
llvm::GlobalVariable* gvar = new llvm::GlobalVariable(
|
||||
*gIR->module, init->getType(), true, llvm::GlobalValue::InternalLinkage, init, ".str");
|
||||
@@ -716,14 +705,14 @@ LLConstant* DtoConstString(const char* str)
|
||||
Type::tchar->arrayOf()
|
||||
);
|
||||
}
|
||||
|
||||
LLConstant* DtoConstStringPtr(const char* str, const char* section)
|
||||
{
|
||||
llvm::StringRef s(str);
|
||||
#if LDC_LLVM_VER == 300
|
||||
llvm::StringRef s(str);
|
||||
LLConstant* init = LLConstantArray::get(gIR->context(), s, true);
|
||||
#else
|
||||
llvm::StringRef s(str);
|
||||
LLConstant* init = toConstString(gIR->context(), s);
|
||||
LLConstant* init = llvm::ConstantDataArray::getString(gIR->context(), s, true);
|
||||
#endif
|
||||
llvm::GlobalVariable* gvar = new llvm::GlobalVariable(
|
||||
*gIR->module, init->getType(), true, llvm::GlobalValue::InternalLinkage, init, ".str");
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if LDC_LLVM_VER >= 302
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/DataLayout.h"
|
||||
#elif LDC_LLVM_VER == 302
|
||||
#include "llvm/DataLayout.h"
|
||||
#else
|
||||
#include "llvm/Target/TargetData.h"
|
||||
|
||||
@@ -7,8 +7,13 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Constants.h"
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#else
|
||||
#include "llvm/Constants.h"
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#endif
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
|
||||
#include "aggregate.h"
|
||||
|
||||
@@ -7,8 +7,13 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
#else
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/LLVMContext.h"
|
||||
#endif
|
||||
#include "mars.h"
|
||||
#include "mtype.h"
|
||||
#include "gen/irstate.h"
|
||||
|
||||
@@ -16,7 +16,11 @@
|
||||
#ifndef __LDC_IR_IRTYPE_H__
|
||||
#define __LDC_IR_IRTYPE_H__
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Type.h"
|
||||
#else
|
||||
#include "llvm/Type.h"
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -7,7 +7,11 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#else
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#endif
|
||||
|
||||
#include "aggregate.h"
|
||||
#include "declaration.h"
|
||||
|
||||
@@ -15,7 +15,11 @@
|
||||
#define __LDC_IR_IRTYPECLASS_H__
|
||||
|
||||
#include "ir/irtypestruct.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include <llvm/IR/DerivedTypes.h>
|
||||
#else
|
||||
#include <llvm/DerivedTypes.h>
|
||||
#endif
|
||||
|
||||
///
|
||||
class IrTypeClass : public IrTypeAggr
|
||||
|
||||
@@ -7,7 +7,11 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#else
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#endif
|
||||
#include "mtype.h"
|
||||
|
||||
#include "gen/irstate.h"
|
||||
|
||||
@@ -7,7 +7,11 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/DerivedTypes.h"
|
||||
#else
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#endif
|
||||
|
||||
#include "aggregate.h"
|
||||
#include "declaration.h"
|
||||
|
||||
@@ -16,7 +16,11 @@
|
||||
#define LDC_IR_IRVAR_H
|
||||
|
||||
#include "ir/ir.h"
|
||||
#if LDC_LLVM_VER >= 303
|
||||
#include "llvm/IR/Type.h"
|
||||
#else
|
||||
#include "llvm/Type.h"
|
||||
#endif
|
||||
|
||||
struct IrFuncTyArg;
|
||||
|
||||
|
||||
Submodule runtime/druntime updated: e2d17024e2...e415c4d0af
Reference in New Issue
Block a user