projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[X86] Always generate precise CFA adjustments.
[oota-llvm.git]
/
include
/
llvm
/
CodeGen
/
LiveRangeEdit.h
diff --git
a/include/llvm/CodeGen/LiveRangeEdit.h
b/include/llvm/CodeGen/LiveRangeEdit.h
index 44c3c4eaf7b174569ade68cdf5774c197d78451e..2271e3352aa27885f69b6c72e1a35e93a44f9e00 100644
(file)
--- a/
include/llvm/CodeGen/LiveRangeEdit.h
+++ b/
include/llvm/CodeGen/LiveRangeEdit.h
@@
-21,6
+21,7
@@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Target/TargetMachine.h"
@@
-28,7
+29,6
@@
namespace llvm {
namespace llvm {
-class AliasAnalysis;
class LiveIntervals;
class MachineBlockFrequencyInfo;
class MachineLoopInfo;
class LiveIntervals;
class MachineBlockFrequencyInfo;
class MachineLoopInfo;
@@
-102,6
+102,10
@@
private:
/// registers are created.
void MRI_NoteNewVirtualRegister(unsigned VReg) override;
/// registers are created.
void MRI_NoteNewVirtualRegister(unsigned VReg) override;
+ /// \brief Check if MachineOperand \p MO is a last use/kill either in the
+ /// main live range of \p LI or in one of the matching subregister ranges.
+ bool useIsKill(const LiveInterval &LI, const MachineOperand &MO) const;
+
public:
/// Create a LiveRangeEdit for breaking down parent into smaller pieces.
/// @param parent The register being spilled or split.
public:
/// Create a LiveRangeEdit for breaking down parent into smaller pieces.
/// @param parent The register being spilled or split.
@@
-122,7
+126,7
@@
public:
MRI.setDelegate(this);
}
MRI.setDelegate(this);
}
- ~LiveRangeEdit() { MRI.resetDelegate(this); }
+ ~LiveRangeEdit()
override
{ MRI.resetDelegate(this); }
LiveInterval &getParent() const {
assert(Parent && "No parent LiveInterval");
LiveInterval &getParent() const {
assert(Parent && "No parent LiveInterval");