OSDN Git Service

[Modules] Move the ConstantRange class into the IR library. This is
authorChandler Carruth <chandlerc@gmail.com>
Tue, 4 Mar 2014 12:24:34 +0000 (12:24 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 4 Mar 2014 12:24:34 +0000 (12:24 +0000)
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

18 files changed:
include/llvm/Analysis/ScalarEvolution.h
include/llvm/IR/ConstantRange.h [moved from include/llvm/Support/ConstantRange.h with 99% similarity]
lib/Analysis/InstructionSimplify.cpp
lib/Analysis/LazyValueInfo.cpp
lib/Analysis/ScalarEvolution.cpp
lib/Analysis/ValueTracking.cpp
lib/IR/CMakeLists.txt
lib/IR/ConstantRange.cpp [moved from lib/Support/ConstantRange.cpp with 99% similarity]
lib/IR/Instructions.cpp
lib/IR/Metadata.cpp
lib/IR/Verifier.cpp
lib/Support/CMakeLists.txt
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
lib/Transforms/InstCombine/InstCombineCompares.cpp
lib/Transforms/Utils/SimplifyCFG.cpp
unittests/IR/CMakeLists.txt
unittests/IR/ConstantRangeTest.cpp [moved from unittests/Support/ConstantRangeTest.cpp with 99% similarity]
unittests/Support/CMakeLists.txt

index e2d8765..fd2ec06 100644 (file)
 
 #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 <map>
 
similarity index 99%
rename from include/llvm/Support/ConstantRange.h
rename to include/llvm/IR/ConstantRange.h
index 5558c87..86988de 100644 (file)
@@ -1,4 +1,4 @@
-//===-- llvm/Support/ConstantRange.h - Represent a range --------*- C++ -*-===//
+//===- ConstantRange.h - Represent a range ----------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
index 6cefc78..eaeacec 100644 (file)
@@ -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;
 
index 5fd003e..e42d0ee 100644 (file)
 #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"
index 4afbade..c19cb03 100644 (file)
@@ -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"
index ebff02e..bd0948b 100644 (file)
@@ -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 <cstring>
 using namespace llvm;
index b1a0a06..09117aa 100644 (file)
@@ -4,6 +4,7 @@ add_llvm_library(LLVMCore
   AutoUpgrade.cpp
   BasicBlock.cpp
   ConstantFold.cpp
+  ConstantRange.cpp
   Constants.cpp
   Core.cpp
   DiagnosticInfo.cpp
similarity index 99%
rename from lib/Support/ConstantRange.cpp
rename to lib/IR/ConstantRange.cpp
index ced8155..f8e9ba4 100644 (file)
@@ -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;
index 9cdc608..c89365f 100644 (file)
 #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;
index 512dec1..d46eec6 100644 (file)
 #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;
 
index 4adbf6c..9b29775 100644 (file)
@@ -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"
index 26bbae0..b4c674d 100644 (file)
@@ -9,7 +9,6 @@ add_llvm_library(LLVMSupport
   circular_raw_ostream.cpp
   CommandLine.cpp
   Compression.cpp
-  ConstantRange.cpp
   ConvertUTF.c
   ConvertUTFWrapper.cpp
   CrashRecoveryContext.cpp
index 1791a44..2c1bfc7 100644 (file)
@@ -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;
index 65c98eb..61b1218 100644 (file)
 #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;
index 9f4ce02..770ba82 100644 (file)
@@ -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"
index fd8d842..e1c295d 100644 (file)
@@ -8,6 +8,7 @@ set(LLVM_LINK_COMPONENTS
 
 set(IRSources
   AttributesTest.cpp
+  ConstantRangeTest.cpp
   ConstantsTest.cpp
   DominatorTreeTest.cpp
   IRBuilderTest.cpp
similarity index 99%
rename from unittests/Support/ConstantRangeTest.cpp
rename to unittests/IR/ConstantRangeTest.cpp
index 3e0a085..cdf7378 100644 (file)
@@ -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"
 
index 46c5c33..9df2e17 100644 (file)
@@ -11,7 +11,6 @@ add_llvm_unittest(SupportTests
   Casting.cpp
   CommandLineTest.cpp
   CompressionTest.cpp
-  ConstantRangeTest.cpp
   ConvertUTFTest.cpp
   DataExtractorTest.cpp
   EndianTest.cpp