projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[X86] Add support for tbyte memory operand size for Intel-syntax x86 assembly
[oota-llvm.git]
/
include
/
llvm
/
Linker
/
Linker.h
diff --git
a/include/llvm/Linker/Linker.h
b/include/llvm/Linker/Linker.h
index 1de4488b33b38e5b9e83c9235080af5e63a73f84..c43b90e9cd2638aece501fef86cc25dd86ab2735 100644
(file)
--- a/
include/llvm/Linker/Linker.h
+++ b/
include/llvm/Linker/Linker.h
@@
-13,11
+13,9
@@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
-
-#include <functional>
+#include "llvm/IR/DiagnosticInfo.h"
namespace llvm {
namespace llvm {
-class DiagnosticInfo;
class Module;
class StructType;
class Type;
class Module;
class StructType;
class Type;
@@
-28,8
+26,6
@@
class Type;
/// something with it after the linking.
class Linker {
public:
/// something with it after the linking.
class Linker {
public:
- typedef std::function<void(const DiagnosticInfo &)> DiagnosticHandlerFunction;
-
struct StructTypeKeyInfo {
struct KeyTy {
ArrayRef<Type *> ETypes;
struct StructTypeKeyInfo {
struct KeyTy {
ArrayRef<Type *> ETypes;
@@
-58,6
+54,7
@@
public:
NonOpaqueStructTypeSet NonOpaqueStructTypes;
void addNonOpaque(StructType *Ty);
NonOpaqueStructTypeSet NonOpaqueStructTypes;
void addNonOpaque(StructType *Ty);
+ void switchToNonOpaque(StructType *Ty);
void addOpaque(StructType *Ty);
StructType *findNonOpaque(ArrayRef<Type *> ETypes, bool IsPacked);
bool hasType(StructType *Ty);
void addOpaque(StructType *Ty);
StructType *findNonOpaque(ArrayRef<Type *> ETypes, bool IsPacked);
bool hasType(StructType *Ty);
@@
-71,8
+68,13
@@
public:
void deleteModule();
/// \brief Link \p Src into the composite. The source is destroyed.
void deleteModule();
/// \brief Link \p Src into the composite. The source is destroyed.
+ /// Passing OverrideSymbols as true will have symbols from Src
+ /// shadow those in the Dest.
/// Returns true on error.
/// Returns true on error.
- bool linkInModule(Module *Src);
+ bool linkInModule(Module *Src, bool OverrideSymbols = false);
+
+ /// \brief Set the composite to the passed-in module.
+ void setModule(Module *Dst);
static bool LinkModules(Module *Dest, Module *Src,
DiagnosticHandlerFunction DiagnosticHandler);
static bool LinkModules(Module *Dest, Module *Src,
DiagnosticHandlerFunction DiagnosticHandler);