MC/Expr: Add a doxyment.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 16 Dec 2010 18:36:25 +0000 (18:36 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 16 Dec 2010 18:36:25 +0000 (18:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121988 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCExpr.cpp

index 756e7598d5dcd22cdfbdaccd6e44aa6e48e938ae..a3ef71f6306b1a24b9ff67b853a583a1501b74e2 100644 (file)
@@ -290,6 +290,20 @@ bool MCExpr::EvaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm,
   return true;
 }
 
+/// \brief Evaluate the result of an add between (conceptually) two MCValues.
+///
+/// This routine conceptually attempts to construct an MCValue:
+///   Result = (Result_A - Result_B + Result_Cst)
+/// from two MCValue's LHS and RHS where
+///   Result = LHS + RHS
+/// and
+///   Result = (LHS_A - LHS_B + LHS_Cst) + (RHS_A - RHS_B + RHS_Cst).
+///
+/// This routine attempts to aggresively fold the operands such that the result
+/// is representable in an MCValue, but may not always succeed.
+///
+/// \returns True on success, false if the result is not representable in an
+/// MCValue.
 static bool EvaluateSymbolicAdd(const MCAssembler *Asm,
                                 const MCAsmLayout *Layout,
                                 const SectionAddrMap *Addrs,