R600: Use StructurizeCFGPass for non SI targets
authorTom Stellard <thomas.stellard@amd.com>
Thu, 10 Oct 2013 17:11:12 +0000 (17:11 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Thu, 10 Oct 2013 17:11:12 +0000 (17:11 +0000)
commited0ceec1c17f30445df8e9cbadd304c74b3efd40
tree68e291f2fffbb6115ea0fbc010dad9284c02a317
parent1eade6d9277a7d8010e76e39c95ad06743d0a96d
R600: Use StructurizeCFGPass for non SI targets

StructurizeCFG pass allows to make complex cfg reducible ; it allows a lot of
shader from shadertoy (which exhibits complex control flow constructs) to works
correctly with respect to CFG handling (and allow us to detect potential bug in
other part of the backend).

We provide a cmd line argument to disable the pass for debug purpose.

Patch by: Vincent Lejeune

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 192363
llvm/lib/Target/R600/AMDGPU.td
llvm/lib/Target/R600/AMDGPUSubtarget.cpp
llvm/lib/Target/R600/AMDGPUSubtarget.h
llvm/lib/Target/R600/AMDGPUTargetMachine.cpp
llvm/lib/Target/R600/R600EmitClauseMarkers.cpp
llvm/lib/Target/R600/R600Packetizer.cpp