[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