aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2012-01-26 02:31:22 +0000
committerChris Lattner <sabre@nondot.org>2012-01-26 02:31:22 +0000
commite150e2df424b162710b36a1ec5ef90270ffb435b (patch)
tree1269ef646ae24bab1faa78a8c55995e721665148 /include
parentb56900aa86aa535fb1f060f5935d1e209e45d907 (diff)
downloadexternal_llvm-e150e2df424b162710b36a1ec5ef90270ffb435b.zip
external_llvm-e150e2df424b162710b36a1ec5ef90270ffb435b.tar.gz
external_llvm-e150e2df424b162710b36a1ec5ef90270ffb435b.tar.bz2
Add a ConstantDataVector::getSplatValue() method, for parity with
ConstantVector. Fix some outright bugs in the implementation of ConstantArray and Constant struct, which would cause us to not make one big UndefValue when asking for an array/struct with all undef elements. Enhance Constant::isAllOnesValue to work with ConstantDataVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149021 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Constants.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h
index a685ccc..1180b95 100644
--- a/include/llvm/Constants.h
+++ b/include/llvm/Constants.h
@@ -766,6 +766,10 @@ public:
/// i32/i64/float/double) and must be a ConstantFP or ConstantInt.
static Constant *getSplat(unsigned NumElts, Constant *Elt);
+ /// getSplatValue - If this is a splat constant, meaning that all of the
+ /// elements have the same value, return that value. Otherwise return NULL.
+ Constant *getSplatValue() const;
+
/// getType - Specialize the getType() method to always return a VectorType,
/// which reduces the amount of casting needed in parts of the compiler.
///