[llvm-commits] [llvm] r53382 - /llvm/trunk/include/llvm/Constant.h
Chris Lattner
sabre at nondot.org
Wed Jul 9 17:28:34 PDT 2008
Author: lattner
Date: Wed Jul 9 19:28:34 2008
New Revision: 53382
URL: http://llvm.org/viewvc/llvm-project?rev=53382&view=rev
Log:
add a helper method for code that wants to handle vector
constants by element without caring how they are formed.
Modified:
llvm/trunk/include/llvm/Constant.h
Modified: llvm/trunk/include/llvm/Constant.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Constant.h?rev=53382&r1=53381&r2=53382&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Constant.h (original)
+++ llvm/trunk/include/llvm/Constant.h Wed Jul 9 19:28:34 2008
@@ -17,6 +17,7 @@
#include "llvm/User.h"
namespace llvm {
+ template<typename T> class SmallVectorImpl;
/// This is an important base class in LLVM. It provides the common facilities
/// of all constant values in an LLVM program. A constant is a value that is
@@ -79,6 +80,11 @@
void setOperand(unsigned i, Constant *C) {
User::setOperand(i, C);
}
+
+ /// getVectorElements - This method, which is only valid on constant of vector
+ /// type, returns the elements of the vector in the specified smallvector.
+ /// This handles breaking down a vector undef into undef elements, etc.
+ void getVectorElements(SmallVectorImpl<Constant*> &Elts) const;
/// destroyConstant - Called if some element of this constant is no longer
/// valid. At this point only other constants may be on the use_list for this
More information about the llvm-commits
mailing list