From 8048c44580056994eb0f2804e2914badc8fbef43 Mon Sep 17 00:00:00 2001 From: Quentin Colombet Date: Sat, 22 Feb 2014 00:07:45 +0000 Subject: [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. CodeGenPrepare uses extensively TargetLowering which is part of libLLVMCodeGen. This is a layer violation which would introduce eventually a dependence on CodeGen in ScalarOpts. Move CodeGenPrepare into libLLVMCodeGen to avoid that. Follow-up of git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201912 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/bugpoint/CMakeLists.txt | 1 + tools/bugpoint/LLVMBuild.txt | 2 +- tools/bugpoint/Makefile | 2 +- tools/opt/CMakeLists.txt | 1 + tools/opt/LLVMBuild.txt | 2 +- tools/opt/Makefile | 2 +- tools/opt/opt.cpp | 4 ++++ 7 files changed, 10 insertions(+), 4 deletions(-) (limited to 'tools') diff --git a/tools/bugpoint/CMakeLists.txt b/tools/bugpoint/CMakeLists.txt index 14f5a3b004..b537a5d237 100644 --- a/tools/bugpoint/CMakeLists.txt +++ b/tools/bugpoint/CMakeLists.txt @@ -1,6 +1,7 @@ set(LLVM_LINK_COMPONENTS Analysis BitWriter + CodeGen Core IPA IPO diff --git a/tools/bugpoint/LLVMBuild.txt b/tools/bugpoint/LLVMBuild.txt index 01643553c5..dda8d624fc 100644 --- a/tools/bugpoint/LLVMBuild.txt +++ b/tools/bugpoint/LLVMBuild.txt @@ -19,4 +19,4 @@ type = Tool name = bugpoint parent = Tools -required_libraries = AsmParser BitReader BitWriter IRReader IPO Instrumentation Linker Scalar ObjCARC +required_libraries = AsmParser BitReader BitWriter CodeGen IRReader IPO Instrumentation Linker Scalar ObjCARC diff --git a/tools/bugpoint/Makefile b/tools/bugpoint/Makefile index 96c0fcf519..174f8d2516 100644 --- a/tools/bugpoint/Makefile +++ b/tools/bugpoint/Makefile @@ -10,7 +10,7 @@ LEVEL := ../.. TOOLNAME := bugpoint LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \ - bitwriter irreader vectorize objcarcopts + bitwriter irreader vectorize objcarcopts codegen # Support plugins. NO_DEAD_STRIP := 1 diff --git a/tools/opt/CMakeLists.txt b/tools/opt/CMakeLists.txt index 953815be36..1f76ab5551 100644 --- a/tools/opt/CMakeLists.txt +++ b/tools/opt/CMakeLists.txt @@ -2,6 +2,7 @@ set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} Analysis BitWriter + CodeGen Core IPA IPO diff --git a/tools/opt/LLVMBuild.txt b/tools/opt/LLVMBuild.txt index 77b94469ed..b3589f854f 100644 --- a/tools/opt/LLVMBuild.txt +++ b/tools/opt/LLVMBuild.txt @@ -19,4 +19,4 @@ type = Tool name = opt parent = Tools -required_libraries = AsmParser BitReader BitWriter IRReader IPO Instrumentation Scalar ObjCARC all-targets +required_libraries = AsmParser BitReader BitWriter CodeGen IRReader IPO Instrumentation Scalar ObjCARC all-targets diff --git a/tools/opt/Makefile b/tools/opt/Makefile index fa2d014553..cfa9c31cb9 100644 --- a/tools/opt/Makefile +++ b/tools/opt/Makefile @@ -9,7 +9,7 @@ LEVEL := ../.. TOOLNAME := opt -LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets +LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen # Support plugins. NO_DEAD_STRIP := 1 diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index fa9bc678c3..b9d3f9d6d2 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -22,6 +22,7 @@ #include "llvm/Analysis/RegionPass.h" #include "llvm/Bitcode/BitcodeWriterPass.h" #include "llvm/CodeGen/CommandFlags.h" +#include "llvm/InitializePasses.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/IRPrintingPasses.h" #include "llvm/IR/LLVMContext.h" @@ -340,6 +341,9 @@ int main(int argc, char **argv) { initializeInstCombine(Registry); initializeInstrumentation(Registry); initializeTarget(Registry); + // For codegen passes, only passes that do IR to IR transformation are + // supported. For now, just add CodeGenPrepare. + initializeCodeGenPreparePass(Registry); cl::ParseCommandLineOptions(argc, argv, "llvm .bc -> .bc modular optimizer and analysis printer\n"); -- cgit v1.2.3