[PATCH] D87107: [AMDGPU] Target hook to apply target specific split constraint

Alexander via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 4 10:27:28 PDT 2020


alex-t added a comment.

So, since we now have sensible diff to discuss...
Why I decided to disallow split in any  block that gets control with exec == 0 and has no restoring code in prologue?
I just did it by example of the code that already does same for the blocks with interference - a bit later below:

  // Abort if the spill cannot be inserted at the MBB' start
  MachineBasicBlock *MBB = MF->getBlockNumbered(Number);
  if (!MBB->empty() &&
      SlotIndex::isEarlierInstr(LIS->getInstructionIndex(MBB->instr_front()),
                                SA->getFirstSplitPoint(Number)))
    return false;

Your idea of returnin the iterator to the nearest valid insert point is good but I have to find another place to invade. Maybe I should try to modify InsertPointAnalysis::getFirst/LastInsertPoint methods.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87107/new/

https://reviews.llvm.org/D87107



More information about the llvm-commits mailing list