Path: blob/main/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
35266 views
//===- lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp ---------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "AMDGPUCodeGenPassBuilder.h"9#include "AMDGPUISelDAGToDAG.h"10#include "AMDGPUTargetMachine.h"11#include "llvm/Analysis/UniformityAnalysis.h"1213using namespace llvm;1415AMDGPUCodeGenPassBuilder::AMDGPUCodeGenPassBuilder(16AMDGPUTargetMachine &TM, const CGPassBuilderOption &Opts,17PassInstrumentationCallbacks *PIC)18: CodeGenPassBuilder(TM, Opts, PIC) {19Opt.RequiresCodeGenSCCOrder = true;20// Exceptions and StackMaps are not supported, so these passes will never do21// anything.22// Garbage collection is not supported.23disablePass<StackMapLivenessPass, FuncletLayoutPass,24ShadowStackGCLoweringPass>();25}2627void AMDGPUCodeGenPassBuilder::addPreISel(AddIRPass &addPass) const {28// TODO: Add passes pre instruction selection.29// Test only, convert to real IR passes in future.30addPass(RequireAnalysisPass<UniformityInfoAnalysis, Function>());31}3233void AMDGPUCodeGenPassBuilder::addAsmPrinter(AddMachinePass &addPass,34CreateMCStreamer) const {35// TODO: Add AsmPrinter.36}3738Error AMDGPUCodeGenPassBuilder::addInstSelector(AddMachinePass &addPass) const {39addPass(AMDGPUISelDAGToDAGPass(TM));40return Error::success();41}424344