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 <deathsim...@vodafone.de> > Reviewed-by: Tom Stellard <thomas.stell...@amd.com> > Tested-by: Michel Dänzer <michel.daen...@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. Other than that, you can add my Tested-by: for the new patches as well. -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Debian, X and DRI developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev