[PATCH] R600/SI: Fix bug in VGPR spilling

Tom Stellard thomas.stellard at amd.com
Fri May 8 17:59:06 PDT 2015


The only test case I can get for this is too big and very fragile.  The problem is that this bug fixes a spill of a VGPR96 register.  The only way to create a def of a VGPR96 register is to have an image sample instruction whose only uses in the same block are either extract_element or a machine instruction.  Compiling at -O2, the backend will select the VGPR96 image sample and then later on sink the extract elements, which gives us a VGPR96 live out that we could normally force spill by compiling with -O0.  However, at -O0 the extract elements do not get sunk, so we end up spilling 3 32-bit values instead.


REPOSITORY
  rL LLVM

http://reviews.llvm.org/D9582

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list