Index: llvm/trunk/lib/Target/AMDGPU/AMDGPU.h =================================================================== --- llvm/trunk/lib/Target/AMDGPU/AMDGPU.h +++ llvm/trunk/lib/Target/AMDGPU/AMDGPU.h @@ -86,6 +86,9 @@ void initializeAMDGPUAnnotateUniformValuesPass(PassRegistry&); extern char &AMDGPUAnnotateUniformValuesPassID; +void initializeSIAnnotateControlFlowPass(PassRegistry&); +extern char &SIAnnotateControlFlowPassID; + extern Target TheAMDGPUTarget; extern Target TheGCNTarget; Index: llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp =================================================================== --- llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp +++ llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp @@ -52,6 +52,7 @@ initializeSILoadStoreOptimizerPass(*PR); initializeAMDGPUAnnotateKernelFeaturesPass(*PR); initializeAMDGPUAnnotateUniformValuesPass(*PR); + initializeSIAnnotateControlFlowPass(*PR); } static std::unique_ptr createTLOF(const Triple &TT) { Index: llvm/trunk/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp =================================================================== --- llvm/trunk/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp +++ llvm/trunk/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp @@ -44,8 +44,6 @@ class SIAnnotateControlFlow : public FunctionPass { - static char ID; - Type *Boolean; Type *Void; Type *Int64; @@ -90,6 +88,8 @@ void closeControlFlow(BasicBlock *BB); public: + static char ID; + SIAnnotateControlFlow(): FunctionPass(ID) { } @@ -112,6 +112,11 @@ } // end anonymous namespace +INITIALIZE_PASS_BEGIN(SIAnnotateControlFlow, DEBUG_TYPE, + "Annotate SI Control Flow", false, false) +INITIALIZE_PASS_END(SIAnnotateControlFlow, DEBUG_TYPE, + "Annotate SI Control Flow", false, false) + char SIAnnotateControlFlow::ID = 0; /// \brief Initialize all the types and constants used in the pass