aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-02-15 22:36:15 +0000
committerBill Wendling <isanbard@gmail.com>2012-02-15 22:36:15 +0000
commit057d521e3d91a894f6c38fcbc21ee5950fbdf7b1 (patch)
tree1e35fc4f93a73a0bc8ed0d7ec9fbcef61323bb90 /include/llvm
parentf20f281368f75239c852fe99c3b3a19278ba38fd (diff)
downloadexternal_llvm-057d521e3d91a894f6c38fcbc21ee5950fbdf7b1.zip
external_llvm-057d521e3d91a894f6c38fcbc21ee5950fbdf7b1.tar.gz
external_llvm-057d521e3d91a894f6c38fcbc21ee5950fbdf7b1.tar.bz2
Modify the code that emits the module flags to use the new module flags accessor
method. This allows the target lowering code to not have to deal with MDNodes. Also, avoid leaking memory like a sieve by not creating a global variable for the image info section, but just emitting the code directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150624 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/CodeGen/TargetLoweringObjectFileImpl.h5
-rw-r--r--include/llvm/Target/TargetLoweringObjectFile.h9
2 files changed, 9 insertions, 5 deletions
diff --git a/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h b/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
index 94b7cf4..5a42136 100644
--- a/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+++ b/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
@@ -15,9 +15,9 @@
#ifndef LLVM_CODEGEN_TARGETLOWERINGOBJECTFILEIMPL_H
#define LLVM_CODEGEN_TARGETLOWERINGOBJECTFILEIMPL_H
-#include "llvm/ADT/StringRef.h"
#include "llvm/MC/SectionKind.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
+#include "llvm/ADT/StringRef.h"
namespace llvm {
class MachineModuleInfo;
@@ -80,7 +80,8 @@ public:
/// emitModuleFlags - Emit the module flags that specify the garbage
/// collection information.
- virtual void emitModuleFlags(MCStreamer &Streamer, NamedMDNode *ModFlags,
+ virtual void emitModuleFlags(MCStreamer &Streamer,
+ ArrayRef<Module::ModuleFlagEntry> ModuleFlags,
Mangler *Mang, const TargetMachine &TM) const;
virtual const MCSection *
diff --git a/include/llvm/Target/TargetLoweringObjectFile.h b/include/llvm/Target/TargetLoweringObjectFile.h
index d1151a1..88f28a6 100644
--- a/include/llvm/Target/TargetLoweringObjectFile.h
+++ b/include/llvm/Target/TargetLoweringObjectFile.h
@@ -15,9 +15,11 @@
#ifndef LLVM_TARGET_TARGETLOWERINGOBJECTFILE_H
#define LLVM_TARGET_TARGETLOWERINGOBJECTFILE_H
-#include "llvm/ADT/StringRef.h"
+#include "llvm/Module.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/SectionKind.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/StringRef.h"
namespace llvm {
class MachineModuleInfo;
@@ -56,8 +58,9 @@ public:
const MCSymbol *Sym) const;
/// emitModuleFlags - Emit the module flags that the platform cares about.
- virtual void emitModuleFlags(MCStreamer &, NamedMDNode *, Mangler *,
- const TargetMachine &) const {
+ virtual void emitModuleFlags(MCStreamer &,
+ ArrayRef<Module::ModuleFlagEntry>,
+ Mangler *, const TargetMachine &) const {
}
/// shouldEmitUsedDirectiveFor - This hook allows targets to selectively