]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commit
R600/SI: Fix the FixSGPRLiveRanges pass
authorTom Stellard <thomas.stellard@amd.com>
Wed, 24 Sep 2014 01:33:24 +0000 (01:33 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 24 Sep 2014 01:33:24 +0000 (01:33 +0000)
commit36ba7962a4627f9e557c5db39f9ae845c8f5fcc8
tree4f31db427638876ac5e6eb81b3ff7da982d624ec
parent90d1726693a8d8b48cd4ba8308d2ef22772d394e
R600/SI: Fix the FixSGPRLiveRanges pass

The previous implementation was extending the live range of SGPRs
by modifying the live intervals directly.  This was causing a lot
of machine verification errors when the machine scheduler was enabled.

The new implementation adds pseudo instructions with implicit uses to
extend the live ranges of SGPRs, which works much better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218351 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/R600/AMDGPUTargetMachine.cpp
lib/Target/R600/SIFixSGPRLiveRanges.cpp
lib/Target/R600/SIInstrInfo.cpp
lib/Target/R600/SIInstructions.td