summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineInstr.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-07-20 21:03:45 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-07-20 21:03:45 +0000
commitdb78273b6ea5cdce18c768fce5a1bdf55d61d91d (patch)
treed4669ed5cfc8ff241e204644a9380ab6c68ccdab /llvm/lib/CodeGen/MachineInstr.cpp
parenteac8e7c08abbe4c8adefcceb429bd073ef172622 (diff)
downloadbcm5719-llvm-db78273b6ea5cdce18c768fce5a1bdf55d61d91d.tar.gz
bcm5719-llvm-db78273b6ea5cdce18c768fce5a1bdf55d61d91d.zip
Add an ID field to StackObjects
On AMDGPU SGPR spills are really spilled to another register. The spiller creates the spills to new frame index objects, which is used as a placeholder. This will eventually be replaced with a reference to a position in a VGPR to write to and the frame index deleted. It is most likely not a real stack location that can be shared with another stack object. This is a problem when StackSlotColoring decides it should combine a frame index used for a normal VGPR spill with a real stack location and a frame index used for an SGPR. Add an ID field so that StackSlotColoring has a way of knowing the different frame index types are incompatible. llvm-svn: 308673
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineInstr.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index 017352abb32..b49df4706b7 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/lib/CodeGen/MachineInstr.cpp
@@ -609,8 +609,9 @@ MachinePointerInfo MachinePointerInfo::getGOT(MachineFunction &MF) {
}
MachinePointerInfo MachinePointerInfo::getStack(MachineFunction &MF,
- int64_t Offset) {
- return MachinePointerInfo(MF.getPSVManager().getStack(), Offset);
+ int64_t Offset,
+ uint8_t ID) {
+ return MachinePointerInfo(MF.getPSVManager().getStack(), Offset,ID);
}
MachineMemOperand::MachineMemOperand(MachinePointerInfo ptrinfo, Flags f,
OpenPOWER on IntegriCloud