From 19d764fb05662ff6b423cf6dc97d300276e4b586 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Tue, 4 Mar 2014 12:24:34 +0000 Subject: [PATCH] [Modules] Move the ConstantRange class into the IR library. This is a bit surprising, as the class is almost entirely abstracted away from any particular IR, however it encodes the comparsion predicates which mutate ranges as ICmp predicate codes. This is reasonable as they're used for both instructions and constants. Thus, it belongs in the IR library with instructions and constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202838 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/ScalarEvolution.h | 2 +- include/llvm/{Support => IR}/ConstantRange.h | 2 +- lib/Analysis/InstructionSimplify.cpp | 2 +- lib/Analysis/LazyValueInfo.cpp | 2 +- lib/Analysis/ScalarEvolution.cpp | 2 +- lib/Analysis/ValueTracking.cpp | 2 +- lib/IR/CMakeLists.txt | 1 + lib/{Support => IR}/ConstantRange.cpp | 2 +- lib/IR/Instructions.cpp | 2 +- lib/IR/Metadata.cpp | 2 +- lib/IR/Verifier.cpp | 2 +- lib/Support/CMakeLists.txt | 1 - lib/Transforms/InstCombine/InstCombineAndOrXor.cpp | 2 +- lib/Transforms/InstCombine/InstCombineCompares.cpp | 2 +- lib/Transforms/Utils/SimplifyCFG.cpp | 2 +- unittests/IR/CMakeLists.txt | 1 + unittests/{Support => IR}/ConstantRangeTest.cpp | 4 ++-- unittests/Support/CMakeLists.txt | 1 - 18 files changed, 17 insertions(+), 17 deletions(-) rename include/llvm/{Support => IR}/ConstantRange.h (99%) rename lib/{Support => IR}/ConstantRange.cpp (99%) rename unittests/{Support => IR}/ConstantRangeTest.cpp (99%) diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h index e2d8765b4a8..fd2ec060a77 100644 --- a/include/llvm/Analysis/ScalarEvolution.h +++ b/include/llvm/Analysis/ScalarEvolution.h @@ -23,13 +23,13 @@ #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/FoldingSet.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Function.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/Operator.h" #include "llvm/IR/ValueHandle.h" #include "llvm/Pass.h" #include "llvm/Support/Allocator.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/DataTypes.h" #include diff --git a/include/llvm/Support/ConstantRange.h b/include/llvm/IR/ConstantRange.h similarity index 99% rename from include/llvm/Support/ConstantRange.h rename to include/llvm/IR/ConstantRange.h index 5558c87ce87..86988debff1 100644 --- a/include/llvm/Support/ConstantRange.h +++ b/include/llvm/IR/ConstantRange.h @@ -1,4 +1,4 @@ -//===-- llvm/Support/ConstantRange.h - Represent a range --------*- C++ -*-===// +//===- ConstantRange.h - Represent a range ----------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // diff --git a/lib/Analysis/InstructionSimplify.cpp b/lib/Analysis/InstructionSimplify.cpp index 6cefc785baf..eaeacec65b7 100644 --- a/lib/Analysis/InstructionSimplify.cpp +++ b/lib/Analysis/InstructionSimplify.cpp @@ -24,6 +24,7 @@ #include "llvm/Analysis/ConstantFolding.h" #include "llvm/Analysis/MemoryBuiltins.h" #include "llvm/Analysis/ValueTracking.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/Dominators.h" #include "llvm/IR/GetElementPtrTypeIterator.h" @@ -31,7 +32,6 @@ #include "llvm/IR/Operator.h" #include "llvm/IR/PatternMatch.h" #include "llvm/IR/ValueHandle.h" -#include "llvm/Support/ConstantRange.h" using namespace llvm; using namespace llvm::PatternMatch; diff --git a/lib/Analysis/LazyValueInfo.cpp b/lib/Analysis/LazyValueInfo.cpp index 5fd003eba67..e42d0eee313 100644 --- a/lib/Analysis/LazyValueInfo.cpp +++ b/lib/Analysis/LazyValueInfo.cpp @@ -19,13 +19,13 @@ #include "llvm/Analysis/ConstantFolding.h" #include "llvm/Analysis/ValueTracking.h" #include "llvm/IR/CFG.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/IntrinsicInst.h" #include "llvm/IR/PatternMatch.h" #include "llvm/IR/ValueHandle.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Target/TargetLibraryInfo.h" diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 4afbadeaf52..c19cb037398 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -68,6 +68,7 @@ #include "llvm/Analysis/LoopInfo.h" #include "llvm/Analysis/ScalarEvolutionExpressions.h" #include "llvm/Analysis/ValueTracking.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" @@ -80,7 +81,6 @@ #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Operator.h" #include "llvm/Support/CommandLine.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/MathExtras.h" diff --git a/lib/Analysis/ValueTracking.cpp b/lib/Analysis/ValueTracking.cpp index ebff02e413f..bd0948b04a6 100644 --- a/lib/Analysis/ValueTracking.cpp +++ b/lib/Analysis/ValueTracking.cpp @@ -16,6 +16,7 @@ #include "llvm/ADT/SmallPtrSet.h" #include "llvm/Analysis/InstructionSimplify.h" #include "llvm/Analysis/MemoryBuiltins.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/GetElementPtrTypeIterator.h" @@ -27,7 +28,6 @@ #include "llvm/IR/Metadata.h" #include "llvm/IR/Operator.h" #include "llvm/IR/PatternMatch.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/MathExtras.h" #include using namespace llvm; diff --git a/lib/IR/CMakeLists.txt b/lib/IR/CMakeLists.txt index b1a0a06a089..09117aaf5f2 100644 --- a/lib/IR/CMakeLists.txt +++ b/lib/IR/CMakeLists.txt @@ -4,6 +4,7 @@ add_llvm_library(LLVMCore AutoUpgrade.cpp BasicBlock.cpp ConstantFold.cpp + ConstantRange.cpp Constants.cpp Core.cpp DiagnosticInfo.cpp diff --git a/lib/Support/ConstantRange.cpp b/lib/IR/ConstantRange.cpp similarity index 99% rename from lib/Support/ConstantRange.cpp rename to lib/IR/ConstantRange.cpp index ced8155af5b..f8e9ba4f42c 100644 --- a/lib/Support/ConstantRange.cpp +++ b/lib/IR/ConstantRange.cpp @@ -22,7 +22,7 @@ //===----------------------------------------------------------------------===// #include "llvm/IR/InstrTypes.h" -#include "llvm/Support/ConstantRange.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; diff --git a/lib/IR/Instructions.cpp b/lib/IR/Instructions.cpp index 9cdc60809b4..c89365fcda6 100644 --- a/lib/IR/Instructions.cpp +++ b/lib/IR/Instructions.cpp @@ -15,13 +15,13 @@ #include "llvm/IR/Instructions.h" #include "LLVMContextImpl.h" #include "llvm/IR/CallSite.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/Function.h" #include "llvm/IR/Module.h" #include "llvm/IR/Operator.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/MathExtras.h" using namespace llvm; diff --git a/lib/IR/Metadata.cpp b/lib/IR/Metadata.cpp index 512dec196f2..d46eec69f58 100644 --- a/lib/IR/Metadata.cpp +++ b/lib/IR/Metadata.cpp @@ -19,11 +19,11 @@ #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringMap.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Instruction.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" #include "llvm/IR/ValueHandle.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/LeakDetector.h" using namespace llvm; diff --git a/lib/IR/Verifier.cpp b/lib/IR/Verifier.cpp index 4adbf6c547a..9b297756cea 100644 --- a/lib/IR/Verifier.cpp +++ b/lib/IR/Verifier.cpp @@ -55,6 +55,7 @@ #include "llvm/IR/CFG.h" #include "llvm/IR/CallSite.h" #include "llvm/IR/CallingConv.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" @@ -68,7 +69,6 @@ #include "llvm/InstVisitor.h" #include "llvm/Pass.h" #include "llvm/Support/CommandLine.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/raw_ostream.h" diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt index 26bbae03173..b4c674d32e2 100644 --- a/lib/Support/CMakeLists.txt +++ b/lib/Support/CMakeLists.txt @@ -9,7 +9,6 @@ add_llvm_library(LLVMSupport circular_raw_ostream.cpp CommandLine.cpp Compression.cpp - ConstantRange.cpp ConvertUTF.c ConvertUTFWrapper.cpp CrashRecoveryContext.cpp diff --git a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp index 1791a44aa4d..2c1bfc73fd9 100644 --- a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp +++ b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp @@ -13,9 +13,9 @@ #include "InstCombine.h" #include "llvm/Analysis/InstructionSimplify.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Intrinsics.h" #include "llvm/IR/PatternMatch.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Transforms/Utils/CmpInstAnalysis.h" using namespace llvm; using namespace PatternMatch; diff --git a/lib/Transforms/InstCombine/InstCombineCompares.cpp b/lib/Transforms/InstCombine/InstCombineCompares.cpp index 65c98ebd4e1..61b121816e4 100644 --- a/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -15,11 +15,11 @@ #include "llvm/Analysis/ConstantFolding.h" #include "llvm/Analysis/InstructionSimplify.h" #include "llvm/Analysis/MemoryBuiltins.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/GetElementPtrTypeIterator.h" #include "llvm/IR/IntrinsicInst.h" #include "llvm/IR/PatternMatch.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Target/TargetLibraryInfo.h" using namespace llvm; using namespace PatternMatch; diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index 9f4ce022db9..770ba829991 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -24,6 +24,7 @@ #include "llvm/Analysis/TargetTransformInfo.h" #include "llvm/Analysis/ValueTracking.h" #include "llvm/IR/CFG.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DataLayout.h" #include "llvm/IR/DerivedTypes.h" @@ -40,7 +41,6 @@ #include "llvm/IR/PatternMatch.h" #include "llvm/IR/Type.h" #include "llvm/Support/CommandLine.h" -#include "llvm/Support/ConstantRange.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h" diff --git a/unittests/IR/CMakeLists.txt b/unittests/IR/CMakeLists.txt index fd8d842c80e..e1c295d0bee 100644 --- a/unittests/IR/CMakeLists.txt +++ b/unittests/IR/CMakeLists.txt @@ -8,6 +8,7 @@ set(LLVM_LINK_COMPONENTS set(IRSources AttributesTest.cpp + ConstantRangeTest.cpp ConstantsTest.cpp DominatorTreeTest.cpp IRBuilderTest.cpp diff --git a/unittests/Support/ConstantRangeTest.cpp b/unittests/IR/ConstantRangeTest.cpp similarity index 99% rename from unittests/Support/ConstantRangeTest.cpp rename to unittests/IR/ConstantRangeTest.cpp index 3e0a085ed1e..cdf7378c17c 100644 --- a/unittests/Support/ConstantRangeTest.cpp +++ b/unittests/IR/ConstantRangeTest.cpp @@ -1,4 +1,4 @@ -//===- llvm/unittest/Support/ConstantRangeTest.cpp - ConstantRange tests --===// +//===- ConstantRangeTest.cpp - ConstantRange tests ------------------------===// // // The LLVM Compiler Infrastructure // @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Support/ConstantRange.h" +#include "llvm/IR/ConstantRange.h" #include "llvm/IR/Instructions.h" #include "gtest/gtest.h" diff --git a/unittests/Support/CMakeLists.txt b/unittests/Support/CMakeLists.txt index 46c5c334ff4..9df2e172776 100644 --- a/unittests/Support/CMakeLists.txt +++ b/unittests/Support/CMakeLists.txt @@ -11,7 +11,6 @@ add_llvm_unittest(SupportTests Casting.cpp CommandLineTest.cpp CompressionTest.cpp - ConstantRangeTest.cpp ConvertUTFTest.cpp DataExtractorTest.cpp EndianTest.cpp -- 2.11.0