[Mesa-dev] [PATCH 4/6] AMDGPU: New control flow for SI v2

Tom Stellard tom at stellard.net
Thu Dec 13 12:13:24 PST 2012


On Thu, Dec 13, 2012 at 09:10:20PM +0100, Michel Dänzer wrote:
> On Die, 2012-12-11 at 18:43 +0100, Christian König wrote: 
> > This patch replaces the control flow handling with a new
> > pass which structurize the graph before transforming it to
> > machine instruction. This has a couple of different advantages
> > and currently fixes 20 piglit tests without a single regression.
> > 
> > It is now a general purpose transformation that could be not
> > only be used for SI/R6xx, but also for other hardware
> > implementations that use a form of structurized control flow.
> > 
> > v2: further cleanup, fixes and documentation
> > 
> > Signed-off-by: Christian König <deathsimple at vodafone.de>
> > Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
> > Tested-by: Michel Dänzer <michel.daenzer at amd.com>
> 
> [...]
> 
> > diff --git a/lib/Target/AMDGPU/AMDGPUStructurizeCFG.cpp b/lib/Target/AMDGPU/AMDGPUStructurizeCFG.cpp
> > new file mode 100644
> > index 0000000..c11c812
> > --- /dev/null
> > +++ b/lib/Target/AMDGPU/AMDGPUStructurizeCFG.cpp
> > @@ -0,0 +1,732 @@
> > [...]
> > +  Function *Function;
> 
> I just noticed this line fails to build using g++ instead of clang++:
> 
> /home/daenzer/src/llvm-git/llvm/lib/Target/AMDGPU/AMDGPUStructurizeCFG.cpp:103:13: error: declaration of ‘llvm::Function* {anonymous}::AMDGPUStructurizeCFG::Function’ [-fpermissive]
> In file included from /home/daenzer/src/llvm-git/llvm/include/llvm/Module.h:18:0,
>                  from /home/daenzer/src/llvm-git/llvm/lib/Target/AMDGPU/AMDGPUStructurizeCFG.cpp:19:
> /home/daenzer/src/llvm-git/llvm/include/llvm/Function.h:70:7: error: changes meaning of ‘Function’ from ‘class llvm::Function’ [-fpermissive]
> make[3]: *** [/home/daenzer/src/llvm-git/llvm/build-i386/lib/Target/AMDGPU/Release+Debug+Asserts/AMDGPUStructurizeCFG.o] Error 1
> 
> Changing the member name to e.g. 'Func' fixes this.
>

I'll fix this when I push to my llvm repo.
 
> 
> Other than that, you can add my Tested-by: for the new patches as well.
> 
> 

Also for the series:
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

> -- 
> Earthling Michel Dänzer           |                   http://www.amd.com
> Libre software enthusiast         |          Debian, X and DRI developer
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list