projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[X86] Add support for tbyte memory operand size for Intel-syntax x86 assembly
[oota-llvm.git]
/
include
/
llvm
/
Target
/
TargetLowering.h
diff --git
a/include/llvm/Target/TargetLowering.h
b/include/llvm/Target/TargetLowering.h
index b88a28f4c653c2d76eef21ab7d6af2f570fb2a7d..4412d9b3c68e34fbd6072d8294ebf8d53a7e5233 100644
(file)
--- a/
include/llvm/Target/TargetLowering.h
+++ b/
include/llvm/Target/TargetLowering.h
@@
-161,7
+161,6
@@
protected:
public:
const TargetMachine &getTargetMachine() const { return TM; }
public:
const TargetMachine &getTargetMachine() const { return TM; }
- const DataLayout *getDataLayout() const { return TM.getDataLayout(); }
virtual bool useSoftFloat() const { return false; }
virtual bool useSoftFloat() const { return false; }
@@
-171,7
+170,10
@@
public:
MVT getPointerTy(const DataLayout &DL, uint32_t AS = 0) const {
return MVT::getIntegerVT(DL.getPointerSizeInBits(AS));
}
MVT getPointerTy(const DataLayout &DL, uint32_t AS = 0) const {
return MVT::getIntegerVT(DL.getPointerSizeInBits(AS));
}
- virtual MVT getScalarShiftAmountTy(const DataLayout &) const;
+
+ /// EVT is not used in-tree, but is used by out-of-tree target.
+ /// A documentation for this function would be nice...
+ virtual MVT getScalarShiftAmountTy(const DataLayout &, EVT) const;
EVT getShiftAmountTy(EVT LHSTy, const DataLayout &DL) const;
EVT getShiftAmountTy(EVT LHSTy, const DataLayout &DL) const;
@@
-1462,8
+1464,8
@@
public:
/// If the address space cannot be determined, it will be -1.
///
/// TODO: Remove default argument
/// If the address space cannot be determined, it will be -1.
///
/// TODO: Remove default argument
- virtual bool isLegalAddressingMode(const
AddrMode &AM, Type *Ty
,
- unsigned AddrSpace) const;
+ virtual bool isLegalAddressingMode(const
DataLayout &DL, const AddrMode &AM
,
+
Type *Ty,
unsigned AddrSpace) const;
/// \brief Return the cost of the scaling factor used in the addressing mode
/// represented by AM for this target, for a load/store of the specified type.
/// \brief Return the cost of the scaling factor used in the addressing mode
/// represented by AM for this target, for a load/store of the specified type.
@@
-1472,10
+1474,10
@@
public:
/// If the AM is not supported, it returns a negative value.
/// TODO: Handle pre/postinc as well.
/// TODO: Remove default argument
/// If the AM is not supported, it returns a negative value.
/// TODO: Handle pre/postinc as well.
/// TODO: Remove default argument
- virtual int getScalingFactorCost(const
AddrMode &AM, Type *Ty
,
- unsigned AS = 0) const {
+ virtual int getScalingFactorCost(const
DataLayout &DL, const AddrMode &AM
,
+
Type *Ty,
unsigned AS = 0) const {
// Default: assume that any scaling factor used in a legal AM is free.
// Default: assume that any scaling factor used in a legal AM is free.
- if (isLegalAddressingMode(AM, Ty, AS))
+ if (isLegalAddressingMode(
DL,
AM, Ty, AS))
return 0;
return -1;
}
return 0;
return -1;
}
@@
-2485,7
+2487,8
@@
public:
/// Return the register ID of the name passed in. Used by named register
/// global variables extension. There is no target-independent behaviour
/// so the default action is to bail.
/// Return the register ID of the name passed in. Used by named register
/// global variables extension. There is no target-independent behaviour
/// so the default action is to bail.
- virtual unsigned getRegisterByName(const char* RegName, EVT VT) const {
+ virtual unsigned getRegisterByName(const char* RegName, EVT VT,
+ SelectionDAG &DAG) const {
report_fatal_error("Named registers not implemented for this target");
}
report_fatal_error("Named registers not implemented for this target");
}