projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
XCore target: Make handling of large frames not dependent upon an FP.
[oota-llvm.git]
/
lib
/
Target
/
XCore
/
XCoreMachineFunctionInfo.h
diff --git
a/lib/Target/XCore/XCoreMachineFunctionInfo.h
b/lib/Target/XCore/XCoreMachineFunctionInfo.h
index 69d5de3e03ad4880149c0e78a6a5edece8f65b77..4fa4ee5d9c079f6f1ccc9ea89ade32f64d93f5c9 100644
(file)
--- a/
lib/Target/XCore/XCoreMachineFunctionInfo.h
+++ b/
lib/Target/XCore/XCoreMachineFunctionInfo.h
@@
-31,6
+31,7
@@
class XCoreFunctionInfo : public MachineFunctionInfo {
int LRSpillSlot;
int FPSpillSlot;
int VarArgsFrameIndex;
int LRSpillSlot;
int FPSpillSlot;
int VarArgsFrameIndex;
+ mutable int CachedEStackSize;
std::vector<std::pair<MCSymbol*, CalleeSavedInfo> > SpillLabels;
public:
std::vector<std::pair<MCSymbol*, CalleeSavedInfo> > SpillLabels;
public:
@@
-38,13
+39,15
@@
public:
UsesLR(false),
LRSpillSlot(0),
FPSpillSlot(0),
UsesLR(false),
LRSpillSlot(0),
FPSpillSlot(0),
- VarArgsFrameIndex(0) {}
+ VarArgsFrameIndex(0),
+ CachedEStackSize(-1) {}
explicit XCoreFunctionInfo(MachineFunction &MF) :
UsesLR(false),
LRSpillSlot(0),
FPSpillSlot(0),
explicit XCoreFunctionInfo(MachineFunction &MF) :
UsesLR(false),
LRSpillSlot(0),
FPSpillSlot(0),
- VarArgsFrameIndex(0) {}
+ VarArgsFrameIndex(0),
+ CachedEStackSize(-1) {}
~XCoreFunctionInfo() {}
~XCoreFunctionInfo() {}
@@
-60,6
+63,8
@@
public:
void setFPSpillSlot(int off) { FPSpillSlot = off; }
int getFPSpillSlot() const { return FPSpillSlot; }
void setFPSpillSlot(int off) { FPSpillSlot = off; }
int getFPSpillSlot() const { return FPSpillSlot; }
+ bool isLargeFrame(const MachineFunction &MF) const;
+
std::vector<std::pair<MCSymbol*, CalleeSavedInfo> > &getSpillLabels() {
return SpillLabels;
}
std::vector<std::pair<MCSymbol*, CalleeSavedInfo> > &getSpillLabels() {
return SpillLabels;
}