summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-03-25 22:49:09 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-03-25 22:49:09 +0000
commitd821f4ac60e0a6228f73e74bed0c2aa6578e6d39 (patch)
tree5e6e8b4a82af15468c46ea0125a6a71cea1fc058 /llvm/include
parent63eed63312c150d70d056d0e569122280e783e5a (diff)
downloadbcm5719-llvm-d821f4ac60e0a6228f73e74bed0c2aa6578e6d39.tar.gz
bcm5719-llvm-d821f4ac60e0a6228f73e74bed0c2aa6578e6d39.zip
llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need
exactly two passes in that case, and don't ever need to recompute any layout, so this is a nice baseline for relaxation performance. llvm-svn: 99563
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/MC/MCAssembler.h4
-rw-r--r--llvm/include/llvm/MC/MCStreamer.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/llvm/include/llvm/MC/MCAssembler.h b/llvm/include/llvm/MC/MCAssembler.h
index 031ca18d748..c1b60f011fd 100644
--- a/llvm/include/llvm/MC/MCAssembler.h
+++ b/llvm/include/llvm/MC/MCAssembler.h
@@ -624,6 +624,7 @@ private:
std::vector<IndirectSymbolData> IndirectSymbols;
+ unsigned RelaxAll : 1;
unsigned SubsectionsViaSymbols : 1;
private:
@@ -727,6 +728,9 @@ public:
SubsectionsViaSymbols = Value;
}
+ bool getRelaxAll() const { return RelaxAll; }
+ void setRelaxAll(bool Value) { RelaxAll = Value; }
+
/// @name Section List Access
/// @{
diff --git a/llvm/include/llvm/MC/MCStreamer.h b/llvm/include/llvm/MC/MCStreamer.h
index ce67b3aebfd..bdcfdb2debe 100644
--- a/llvm/include/llvm/MC/MCStreamer.h
+++ b/llvm/include/llvm/MC/MCStreamer.h
@@ -308,7 +308,8 @@ class TargetAsmBackend;
/// createMachOStream - Create a machine code streamer which will generative
/// Mach-O format object files.
MCStreamer *createMachOStreamer(MCContext &Ctx, TargetAsmBackend &TAB,
- raw_ostream &OS, MCCodeEmitter *CE);
+ raw_ostream &OS, MCCodeEmitter *CE,
+ bool RelaxAll = false);
} // end namespace llvm
OpenPOWER on IntegriCloud