[llvm-commits] [llvm] r99467 - in /llvm/trunk: include/llvm/MC/MCAssembler.h lib/MC/MCAssembler.cpp
Daniel Dunbar
daniel at zuster.org
Wed Mar 24 18:03:24 PDT 2010
Author: ddunbar
Date: Wed Mar 24 20:03:24 2010
New Revision: 99467
URL: http://llvm.org/viewvc/llvm-project?rev=99467&view=rev
Log:
MC: Eliminate MC{Fragment,{Section,Symbol}Data}::getAddress.
Modified:
llvm/trunk/include/llvm/MC/MCAssembler.h
llvm/trunk/lib/MC/MCAssembler.cpp
Modified: llvm/trunk/include/llvm/MC/MCAssembler.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCAssembler.h?rev=99467&r1=99466&r2=99467&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCAssembler.h (original)
+++ llvm/trunk/include/llvm/MC/MCAssembler.h Wed Mar 24 20:03:24 2010
@@ -57,6 +57,8 @@
};
class MCFragment : public ilist_node<MCFragment> {
+ friend class MCAsmLayout;
+
MCFragment(const MCFragment&); // DO NOT IMPLEMENT
void operator=(const MCFragment&); // DO NOT IMPLEMENT
@@ -108,8 +110,6 @@
//
// FIXME: This could all be kept private to the assembler implementation.
- uint64_t getAddress() const;
-
uint64_t getFileSize() const {
assert(FileSize != ~UINT64_C(0) && "File size not set!");
return FileSize;
@@ -390,6 +390,8 @@
// we anticipate the fast path being through an MCAssembler, the only reason to
// keep it out is for API abstraction.
class MCSectionData : public ilist_node<MCSectionData> {
+ friend class MCAsmLayout;
+
MCSectionData(const MCSectionData&); // DO NOT IMPLEMENT
void operator=(const MCSectionData&); // DO NOT IMPLEMENT
@@ -469,12 +471,6 @@
//
// FIXME: This could all be kept private to the assembler implementation.
- uint64_t getAddress() const {
- assert(Address != ~UINT64_C(0) && "Address not set!");
- return Address;
- }
- void setAddress(uint64_t Value) { Address = Value; }
-
uint64_t getSize() const {
assert(Size != ~UINT64_C(0) && "File size not set!");
return Size;
@@ -549,11 +545,6 @@
uint64_t getOffset() const { return Offset; }
void setOffset(uint64_t Value) { Offset = Value; }
- uint64_t getAddress() const {
- assert(getFragment() && "Invalid getAddress() on undefined symbol!");
- return getFragment()->getAddress() + getOffset();
- }
-
/// @}
/// @name Symbol Attributes
/// @{
Modified: llvm/trunk/lib/MC/MCAssembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAssembler.cpp?rev=99467&r1=99466&r2=99467&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCAssembler.cpp (original)
+++ llvm/trunk/lib/MC/MCAssembler.cpp Wed Mar 24 20:03:24 2010
@@ -46,19 +46,22 @@
/* *** */
uint64_t MCAsmLayout::getFragmentAddress(const MCFragment *F) const {
- return F->getAddress();
+ assert(F->getParent() && "Missing section()!");
+ return getSectionAddress(F->getParent()) + F->getOffset();
}
uint64_t MCAsmLayout::getSymbolAddress(const MCSymbolData *SD) const {
- return SD->getAddress();
+ assert(SD->getFragment() && "Invalid getAddress() on undefined symbol!");
+ return getFragmentAddress(SD->getFragment()) + SD->getOffset();
}
uint64_t MCAsmLayout::getSectionAddress(const MCSectionData *SD) const {
- return SD->getAddress();
+ assert(SD->Address != ~UINT64_C(0) && "Address not set!");
+ return SD->Address;
}
void MCAsmLayout::setSectionAddress(MCSectionData *SD, uint64_t Value) {
- SD->setAddress(Value);
+ SD->Address = Value;
}
/* *** */
@@ -78,11 +81,6 @@
MCFragment::~MCFragment() {
}
-uint64_t MCFragment::getAddress() const {
- assert(getParent() && "Missing Section!");
- return getParent()->getAddress() + Offset;
-}
-
/* *** */
MCSectionData::MCSectionData() : Section(0) {}
More information about the llvm-commits
mailing list