mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 21:24:00 +00:00
R600: improve inputs/interpolation handling
Use one intrinsic for all sorts of interpolation. Use two separate unexpanded instructions to represent INTERP_XY and _ZW - this will allow to eliminate one part if it's not used. Track liveness of special interpolation regs instead of reserving them - this will allow to reuse those regs, lowering reg pressure. Patch By: Vadim Girlin v2[Vincent Lejeune]: Rebased against current llvm master Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174394 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -13,21 +13,6 @@
|
||||
using namespace llvm;
|
||||
|
||||
R600MachineFunctionInfo::R600MachineFunctionInfo(const MachineFunction &MF)
|
||||
: MachineFunctionInfo(),
|
||||
HasLinearInterpolation(false),
|
||||
HasPerspectiveInterpolation(false) {
|
||||
: MachineFunctionInfo() {
|
||||
memset(Outputs, 0, sizeof(Outputs));
|
||||
}
|
||||
|
||||
unsigned R600MachineFunctionInfo::GetIJPerspectiveIndex() const {
|
||||
assert(HasPerspectiveInterpolation);
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned R600MachineFunctionInfo::GetIJLinearIndex() const {
|
||||
assert(HasLinearInterpolation);
|
||||
if (HasPerspectiveInterpolation)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user