From d821f4ac60e0a6228f73e74bed0c2aa6578e6d39 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 25 Mar 2010 22:49:09 +0000 Subject: 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 --- llvm/include/llvm/MC/MCAssembler.h | 4 ++++ llvm/include/llvm/MC/MCStreamer.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'llvm/include') 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 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 -- cgit v1.2.3