[PATCH] D18427: CodeGen: Add DetectDeadLanes pass.
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 23 20:50:24 PDT 2016
MatzeB created this revision.
MatzeB added a reviewer: qcolombet.
MatzeB added subscribers: llvm-commits, arsenm, tstellarAMD, escha.
MatzeB set the repository for this revision to rL LLVM.
Herald added a reviewer: tstellarAMD.
Herald added a subscriber: mcrosier.
The DetectDeadLanes pass performs a dataflow analysis of used/defined
subregister lanes across COPY instructions and instructions that will
get lowered to copies. It detects dead definitions and uses reading
undefined values which are obscured by COPY and subregister usage.
These dead definitions cause trouble in the register coalescer which
cannot deal with definitions suddenly becoming dead after coalescing
COPY instructions.
For now the pass only adds dead and undef flags to machine operands. It
should be easy to extend it in the future to remove the dead
instructions and redo the analysis for the affected virtual
registers.
Repository:
rL LLVM
http://reviews.llvm.org/D18427
Files:
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
lib/CodeGen/CMakeLists.txt
lib/CodeGen/CodeGen.cpp
lib/CodeGen/DetectDeadLanes.cpp
lib/CodeGen/Passes.cpp
test/CodeGen/AMDGPU/detect-dead-lanes.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18427.51508.patch
Type: text/x-patch
Size: 29521 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160324/942e837a/attachment.bin>
More information about the llvm-commits
mailing list