Use references to simplify the code a bit.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 6 Dec 2010 22:30:54 +0000 (22:30 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 6 Dec 2010 22:30:54 +0000 (22:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121050 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCExpr.h
lib/MC/MCAssembler.cpp
lib/MC/MCExpr.cpp
lib/MC/MCObjectStreamer.cpp

index e953a1118688bd992b6d68eaffc0ccab316c0877..888934e822faea1e6b337df2dc20e1c0d31233fb 100644 (file)
@@ -41,6 +41,8 @@ private:
   MCExpr(const MCExpr&); // DO NOT IMPLEMENT
   void operator=(const MCExpr&); // DO NOT IMPLEMENT
 
+  bool EvaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm,
+                          const MCAsmLayout *Layout) const;
 protected:
   explicit MCExpr(ExprKind _Kind) : Kind(_Kind) {}
 
@@ -72,10 +74,8 @@ public:
   /// evaluated.
   /// @result - True on success.
   bool EvaluateAsAbsolute(int64_t &Res) const;
-  bool EvaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm) const;
-  bool EvaluateAsAbsolute(int64_t &Res, const MCAsmLayout *Layout) const;
-  bool EvaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm,
-                          const MCAsmLayout *Layout) const;
+  bool EvaluateAsAbsolute(int64_t &Res, const MCAssembler &Asm) const;
+  bool EvaluateAsAbsolute(int64_t &Res, const MCAsmLayout &Layout) const;
 
   /// EvaluateAsRelocatable - Try to evaluate the expression to a relocatable
   /// value, i.e. an expression of the fixed form (a - b + constant).
index e13b3adea43d1ba6d783233f30188cf807e2a741..299eb0ab67c22dc102f1e4ba43e844e8e0658316 100644 (file)
@@ -780,7 +780,7 @@ bool MCAssembler::RelaxOrg(const MCObjectWriter &Writer,
                            MCAsmLayout &Layout,
                            MCOrgFragment &OF) {
   int64_t TargetLocation;
-  if (!OF.getOffset().EvaluateAsAbsolute(TargetLocation, &Layout))
+  if (!OF.getOffset().EvaluateAsAbsolute(TargetLocation, Layout))
     report_fatal_error("expected assembly-time absolute expression");
 
   // FIXME: We need a way to communicate this error.
@@ -800,7 +800,7 @@ bool MCAssembler::RelaxLEB(const MCObjectWriter &Writer,
                            MCLEBFragment &LF) {
   int64_t Value = 0;
   uint64_t OldSize = LF.getContents().size();
-  LF.getValue().EvaluateAsAbsolute(Value, &Layout);
+  LF.getValue().EvaluateAsAbsolute(Value, Layout);
   SmallString<8> &Data = LF.getContents();
   Data.clear();
   raw_svector_ostream OSE(Data);
@@ -817,7 +817,7 @@ bool MCAssembler::RelaxDwarfLineAddr(const MCObjectWriter &Writer,
                                     MCDwarfLineAddrFragment &DF) {
   int64_t AddrDelta = 0;
   uint64_t OldSize = DF.getContents().size();
-  DF.getAddrDelta().EvaluateAsAbsolute(AddrDelta, &Layout);
+  DF.getAddrDelta().EvaluateAsAbsolute(AddrDelta, Layout);
   int64_t LineDelta;
   LineDelta = DF.getLineDelta();
   SmallString<8> &Data = DF.getContents();
index cee5673bc072a707e93141b7cd0f09dfac7530b3..b4712c20355e1a4aa640e476cdf76a77f141f7e8 100644 (file)
@@ -242,15 +242,12 @@ bool MCExpr::EvaluateAsAbsolute(int64_t &Res) const {
 }
 
 bool MCExpr::EvaluateAsAbsolute(int64_t &Res,
-                                const MCAsmLayout *Layout) const {
-  if (Layout)
-    return EvaluateAsAbsolute(Res, &Layout->getAssembler(), Layout);
-  else
-    return EvaluateAsAbsolute(Res, 0, 0);
+                                const MCAsmLayout &Layout) const {
+  return EvaluateAsAbsolute(Res, &Layout.getAssembler(), &Layout);
 }
 
-bool MCExpr::EvaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm) const {
-  return EvaluateAsAbsolute(Res, Asm, 0);
+bool MCExpr::EvaluateAsAbsolute(int64_t &Res, const MCAssembler &Asm) const {
+  return EvaluateAsAbsolute(Res, &Asm, 0);
 }
 
 bool MCExpr::EvaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm,
index ad8fb4958401f1ac8e3dea3ef87cd366279179fc..6348a2b69ec50beab72197645bd6d67140f71d93 100644 (file)
@@ -83,7 +83,7 @@ void MCObjectStreamer::EmitValue(const MCExpr *Value, unsigned Size,
 
   // Avoid fixups when possible.
   int64_t AbsValue;
-  if (AddValueSymbols(Value)->EvaluateAsAbsolute(AbsValue, &getAssembler())) {
+  if (AddValueSymbols(Value)->EvaluateAsAbsolute(AbsValue, getAssembler())) {
     EmitIntValue(AbsValue, Size, AddrSpace);
     return;
   }
@@ -114,7 +114,7 @@ void MCObjectStreamer::EmitLabel(MCSymbol *Symbol) {
 void MCObjectStreamer::EmitULEB128Value(const MCExpr *Value,
                                         unsigned AddrSpace) {
   int64_t IntValue;
-  if (Value->EvaluateAsAbsolute(IntValue, &getAssembler())) {
+  if (Value->EvaluateAsAbsolute(IntValue, getAssembler())) {
     EmitULEB128IntValue(IntValue, AddrSpace);
     return;
   }
@@ -124,7 +124,7 @@ void MCObjectStreamer::EmitULEB128Value(const MCExpr *Value,
 void MCObjectStreamer::EmitSLEB128Value(const MCExpr *Value,
                                         unsigned AddrSpace) {
   int64_t IntValue;
-  if (Value->EvaluateAsAbsolute(IntValue, &getAssembler())) {
+  if (Value->EvaluateAsAbsolute(IntValue, getAssembler())) {
     EmitSLEB128IntValue(IntValue, AddrSpace);
     return;
   }
@@ -204,7 +204,7 @@ void MCObjectStreamer::EmitDwarfAdvanceLineAddr(int64_t LineDelta,
     MCBinaryExpr::Create(MCBinaryExpr::Sub, LabelRef, LastLabelRef,
                          getContext());
   int64_t Res;
-  if (AddrDelta->EvaluateAsAbsolute(Res, &getAssembler())) {
+  if (AddrDelta->EvaluateAsAbsolute(Res, getAssembler())) {
     MCDwarfLineAddr::Emit(this, LineDelta, Res);
     return;
   }