]> granicus.if.org Git - llvm/commit
Add an ID field to StackObjects
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 20 Jul 2017 21:03:45 +0000 (21:03 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Thu, 20 Jul 2017 21:03:45 +0000 (21:03 +0000)
commit20f8334c2a881882c00a375d12c9b9d86fb32462
treefcd7c314de4cfac9811393a2122299ef8d848e77
parent9a18b7e82aa58711a312ce2780483682a63edab6
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308673 91177308-0d34-0410-b5e6-96231b3b80d8
20 files changed:
include/llvm/CodeGen/MIRYamlMapping.h
include/llvm/CodeGen/MachineFrameInfo.h
include/llvm/CodeGen/MachineMemOperand.h
lib/CodeGen/MIRParser/MIRParser.cpp
lib/CodeGen/MIRPrinter.cpp
lib/CodeGen/MachineFrameInfo.cpp
lib/CodeGen/MachineInstr.cpp
lib/CodeGen/StackSlotColoring.cpp
lib/Target/AMDGPU/SIInstrInfo.cpp
test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
test/CodeGen/AArch64/GlobalISel/call-translator.ll
test/CodeGen/AMDGPU/stack-slot-color-sgpr-vgpr-spills.mir [new file with mode: 0644]
test/CodeGen/MIR/AArch64/stack-object-local-offset.mir
test/CodeGen/MIR/AMDGPU/stack-id.mir [new file with mode: 0644]
test/CodeGen/MIR/X86/callee-saved-info.mir
test/CodeGen/MIR/X86/fixed-stack-objects.mir
test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
test/CodeGen/MIR/X86/stack-objects.mir
test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll