Move MachineMemOperand's constructor out of line, to avoid a

#include dependency on Support/MathExtras.h in the header file.

llvm-svn: 53200
This commit is contained in:
Dan Gohman 2008-07-07 20:32:02 +00:00
parent 230263c63e
commit aedb4a61b8
2 changed files with 12 additions and 4 deletions

View File

@ -16,8 +16,6 @@
#ifndef LLVM_CODEGEN_MEMOPERAND_H
#define LLVM_CODEGEN_MEMOPERAND_H
#include "llvm/Support/MathExtras.h"
namespace llvm {
class Value;
@ -50,8 +48,7 @@ public:
/// MachineMemOperand - Construct an MachineMemOperand object with the
/// specified address Value, flags, offset, size, and alignment.
MachineMemOperand(const Value *v, unsigned int f, int64_t o, uint64_t s,
unsigned int a)
: Offset(o), Size(s), V(v), Flags((f & 7) | ((Log2_32(a) + 1) << 3)) {}
unsigned int a);
/// getValue - Return the base address of the memory access.
/// Special values are PseudoSourceValue::FPRel, PseudoSourceValue::SPRel,

View File

@ -23,6 +23,7 @@
#include "llvm/Target/TargetInstrDesc.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Support/LeakDetector.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Streams.h"
#include <ostream>
using namespace llvm;
@ -238,6 +239,16 @@ void MachineOperand::print(std::ostream &OS, const TargetMachine *TM) const {
}
}
//===----------------------------------------------------------------------===//
// MachineMemOperand Implementation
//===----------------------------------------------------------------------===//
MachineMemOperand::MachineMemOperand(const Value *v, unsigned int f,
int64_t o, uint64_t s, unsigned int a)
: Offset(o), Size(s), V(v),
Flags((f & 7) | ((Log2_32(a) + 1) << 3)) {
}
//===----------------------------------------------------------------------===//
// MachineInstr Implementation
//===----------------------------------------------------------------------===//