FailedChanges

Summary

  1. AMDGPU/GlobalISel: Legalize G_FFLOOR
  2. Temporarily revert r371640 "LiveIntervals: Split live intervals on multiple dead defs". It reveals a miscompile on Hexagon. See PR43302 for details.
  3. AMDGPU/GlobalISel: Legalize G_FMAD Unlike SelectionDAG, treat this as a normally legalizable operation. In SelectionDAG this is supposed to only ever formed if it's legal, but I've found that to be restricting. For AMDGPU this is contextually legal depending on whether denormal flushing is allowed in the use function. Technically we currently treat the denormal mode as a subtarget feature, so custom lowering could be avoided. However I consider this to be a defect, and this should be contextually dependent on the controllable rounding mode of the parent function.
Revision 371803 by arsenm:
AMDGPU/GlobalISel: Legalize G_FFLOOR
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ffloor.mir
Revision 371802 by timshen:
Temporarily revert r371640 "LiveIntervals: Split live intervals on multiple dead defs".

It reveals a miscompile on Hexagon. See PR43302 for details.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/LiveIntervals.cpp (diff)llvm.src/lib/CodeGen/LiveIntervals.cpp
The file was removed/llvm/trunk/test/CodeGen/AMDGPU/live-intervals-multiple-dead-defs.mirllvm.src/test/CodeGen/AMDGPU/live-intervals-multiple-dead-defs.mir
Revision 371800 by arsenm:
AMDGPU/GlobalISel: Legalize G_FMAD

Unlike SelectionDAG, treat this as a normally legalizable operation.
In SelectionDAG this is supposed to only ever formed if it's legal,
but I've found that to be restricting. For AMDGPU this is contextually
legal depending on whether denormal flushing is allowed in the use
function.

Technically we currently treat the denormal mode as a subtarget
feature, so custom lowering could be avoided. However I consider this
to be a defect, and this should be contextually dependent on the
controllable rounding mode of the parent function.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.h (diff)llvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir