[llvm-commits] [llvm] r56513 - in /llvm/trunk: include/llvm/ include/llvm/Support/ lib/Analysis/ lib/AsmParser/ lib/Bitcode/Reader/ lib/Bitcode/Writer/ lib/CodeGen/SelectionDAG/ lib/ExecutionEngine/Interpreter/ lib/Target/CppBackend/ lib/Target/MSIL/ lib/Target/PowerPC/ lib/Transforms/IPO/ lib/Transforms/Scalar/ lib/Transforms/Utils/ lib/VMCore/
Evan Cheng
evan.cheng at apple.com
Tue Sep 23 16:21:02 PDT 2008
Hi Devang,
This seems to be breaking the build:
llvm[2]: Building Release Archive Library libLLVMArchive.a
/Users/echeng/LLVM/llvm/lib/AsmParser/llvmAsmParser.y:997: error:
‘ParameterAttributes’ in namespace ‘llvm’ does not name a type
/Users/echeng/LLVM/llvm/lib/AsmParser/llvmAsmParser.y:998: error:
‘ParameterAttributes’ in namespace ‘llvm’ does not name a type
llvm[2]: Compiling AliasAnalysisEvaluator.cpp for Release build
/Users/echeng/LLVM/llvm/lib/AsmParser/llvmAsmParser.y: In function
‘int llvmAsmparse()’:
/Users/echeng/LLVM/llvm/lib/AsmParser/llvmAsmParser.y:1264: error:
‘union YYSTYPE’ has no member named ‘ParamAttrs’
/Users/echeng/LLVM/llvm/lib/AsmParser/llvmAsmParser.y:1265: error:
‘union YYSTYPE’ has no member named ‘ParamAttrs’
Can you check?
Thanks,
Evan
On Sep 23, 2008, at 4:03 PM, Devang Patel wrote:
> Author: dpatel
> Date: Tue Sep 23 18:03:40 2008
> New Revision: 56513
>
> URL: http://llvm.org/viewvc/llvm-project?rev=56513&view=rev
> Log:
> s/ParameterAttributes/Attributes/g
>
>
> Added:
> llvm/trunk/include/llvm/Attributes.h
> - copied, changed from r56511, llvm/trunk/include/llvm/
> ParameterAttributes.h
> llvm/trunk/lib/VMCore/Attributes.cpp
> - copied, changed from r56511, llvm/trunk/lib/VMCore/
> ParameterAttributes.cpp
> Removed:
> llvm/trunk/include/llvm/ParameterAttributes.h
> llvm/trunk/lib/VMCore/ParameterAttributes.cpp
> Modified:
> llvm/trunk/include/llvm/Argument.h
> llvm/trunk/include/llvm/Function.h
> llvm/trunk/include/llvm/Instructions.h
> llvm/trunk/include/llvm/Support/CallSite.h
> llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
> llvm/trunk/lib/AsmParser/ParserInternals.h
> llvm/trunk/lib/Bitcode/Reader/BitcodeReader.h
> llvm/trunk/lib/Bitcode/Writer/ValueEnumerator.h
> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
> llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp
> llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp
> llvm/trunk/lib/Target/MSIL/MSILWriter.cpp
> llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
> llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp
> llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp
> llvm/trunk/lib/Transforms/IPO/PruneEH.cpp
> llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp
> llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
> llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cpp
> llvm/trunk/lib/Transforms/Scalar/SimplifyCFGPass.cpp
> llvm/trunk/lib/Transforms/Utils/InlineFunction.cpp
> llvm/trunk/lib/VMCore/AsmWriter.cpp
> llvm/trunk/lib/VMCore/Function.cpp
> llvm/trunk/lib/VMCore/Instructions.cpp
> llvm/trunk/lib/VMCore/Verifier.cpp
>
> Modified: llvm/trunk/include/llvm/Argument.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Argument.h?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/include/llvm/Argument.h (original)
> +++ llvm/trunk/include/llvm/Argument.h Tue Sep 23 18:03:40 2008
> @@ -15,7 +15,7 @@
> #define LLVM_ARGUMENT_H
>
> #include "llvm/Value.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include "llvm/ADT/ilist_node.h"
>
> namespace llvm {
> @@ -61,10 +61,10 @@
> bool hasStructRetAttr() const;
>
> /// addAttr - Add a ParamAttr to an argument
> - void addAttr(ParameterAttributes);
> + void addAttr(Attributes);
>
> /// removeAttr - Remove a ParamAttr from an argument
> - void removeAttr(ParameterAttributes);
> + void removeAttr(Attributes);
>
> /// classof - Methods for support type inquiry through isa, cast,
> and
> /// dyn_cast:
>
> Copied: llvm/trunk/include/llvm/Attributes.h (from r56511, llvm/
> trunk/include/llvm/ParameterAttributes.h)
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Attributes.h?p2=llvm/trunk/include/llvm/Attributes.h&p1=llvm/trunk/include/llvm/ParameterAttributes.h&r1=56511&r2=56513&rev=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/include/llvm/ParameterAttributes.h (original)
> +++ llvm/trunk/include/llvm/Attributes.h Tue Sep 23 18:03:40 2008
> @@ -1,4 +1,4 @@
> -//===-- llvm/ParameterAttributes.h - Container for ParamAttrs ---*-
> C++ -*-===//
> +//===-- llvm/Attributes.h - Container for ParamAttrs ---*- C++ -*-
> ===//
> //
> // The LLVM Compiler Infrastructure
> //
> @@ -20,8 +20,8 @@
> namespace llvm {
> class Type;
>
> -/// ParameterAttributes - A bitset of attributes for a parameter.
> -typedef unsigned ParameterAttributes;
> +/// Attributes - A bitset of attributes for a parameter.
> +typedef unsigned Attributes;
>
> namespace ParamAttr {
>
> @@ -30,7 +30,6 @@
> /// lists the attributes that can be associated with parameters or
> function
> /// results.
> /// @brief Function parameter attributes.
> -typedef ParameterAttributes Attributes;
>
> const Attributes None = 0; ///< No attributes have been set
> const Attributes ZExt = 1<<0; ///< Zero extended before/after
> call
> @@ -74,26 +73,26 @@
> Attributes typeIncompatible(const Type *Ty);
>
> /// This turns an int alignment (a power of 2, normally) into the
> -/// form used internally in ParameterAttributes.
> -inline ParamAttr::Attributes constructAlignmentFromInt(unsigned i) {
> +/// form used internally in Attributes.
> +inline Attributes constructAlignmentFromInt(unsigned i) {
> return (i << 16);
> }
>
> -/// The set of ParameterAttributes set in Attributes is converted
> to a
> +/// The set of Attributes set in Attributes is converted to a
> /// string of equivalent mnemonics. This is, presumably, for writing
> out
> /// the mnemonics for the assembly writer.
> /// @brief Convert parameter attribute bits to text
> -std::string getAsString(ParameterAttributes Attrs);
> +std::string getAsString(Attributes Attrs);
> } // end namespace ParamAttr
>
>
> /// This is just a pair of values to associate a set of parameter
> attributes
> /// with a parameter index.
> struct ParamAttrsWithIndex {
> - ParameterAttributes Attrs; ///< The attributes that are set, or'd
> together.
> + Attributes Attrs; ///< The attributes that are set, or'd together.
> unsigned Index; ///< Index of the parameter for which the
> attributes apply.
>
> - static ParamAttrsWithIndex get(unsigned Idx, ParameterAttributes
> Attrs) {
> + static ParamAttrsWithIndex get(unsigned Idx, Attributes Attrs) {
> ParamAttrsWithIndex P;
> P.Index = Idx;
> P.Attrs = Attrs;
> @@ -137,12 +136,12 @@
> /// addAttr - Add the specified attribute at the specified index
> to this
> /// attribute list. Since parameter attribute lists are
> immutable, this
> /// returns the new list.
> - PAListPtr addAttr(unsigned Idx, ParameterAttributes Attrs) const;
> + PAListPtr addAttr(unsigned Idx, Attributes Attrs) const;
>
> /// removeAttr - Remove the specified attribute at the specified
> index from
> /// this attribute list. Since parameter attribute lists are
> immutable, this
> /// returns the new list.
> - PAListPtr removeAttr(unsigned Idx, ParameterAttributes Attrs)
> const;
> + PAListPtr removeAttr(unsigned Idx, Attributes Attrs) const;
>
> //
> =
> =
> =--------------------------------------------------------------------
> ===//
> // Parameter Attribute List Accessors
> @@ -150,11 +149,11 @@
>
> /// getParamAttrs - The parameter attributes for the specified
> parameter are
> /// returned. Parameters for the result are denoted with Idx = 0.
> - ParameterAttributes getParamAttrs(unsigned Idx) const;
> + Attributes getParamAttrs(unsigned Idx) const;
>
> /// paramHasAttr - Return true if the specified parameter index
> has the
> /// specified attribute set.
> - bool paramHasAttr(unsigned Idx, ParameterAttributes Attr) const {
> + bool paramHasAttr(unsigned Idx, Attributes Attr) const {
> return getParamAttrs(Idx) & Attr;
> }
>
> @@ -166,7 +165,7 @@
>
> /// hasAttrSomewhere - Return true if the specified attribute is
> set for at
> /// least one parameter or for the return value.
> - bool hasAttrSomewhere(ParameterAttributes Attr) const;
> + bool hasAttrSomewhere(Attributes Attr) const;
>
> /// operator==/!= - Provide equality predicates.
> bool operator==(const PAListPtr &RHS) const { return PAList ==
> RHS.PAList; }
>
> Modified: llvm/trunk/include/llvm/Function.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Function.h?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/include/llvm/Function.h (original)
> +++ llvm/trunk/include/llvm/Function.h Tue Sep 23 18:03:40 2008
> @@ -22,7 +22,7 @@
> #include "llvm/BasicBlock.h"
> #include "llvm/Argument.h"
> #include "llvm/Support/Annotation.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
>
> namespace llvm {
>
> @@ -150,14 +150,14 @@
>
>
> /// hasNote - Return true if this function has given note.
> - bool hasNote(ParameterAttributes N) const {
> + bool hasNote(Attributes N) const {
> // Notes are stored at ~0 index in parameter attribute list
> return (!isDeclaration() && paramHasAttr(~0, N));
> }
>
> /// setNotes - Set notes for this function
> ///
> - void setNotes(const ParameterAttributes N) {
> + void setNotes(const Attributes N) {
> // Notes are stored at ~0 index in parameter attribute list
> addParamAttr(~0, N);
> }
> @@ -170,15 +170,15 @@
> void clearGC();
>
> /// @brief Determine whether the function has the given attribute.
> - bool paramHasAttr(unsigned i, ParameterAttributes attr) const {
> + bool paramHasAttr(unsigned i, Attributes attr) const {
> return ParamAttrs.paramHasAttr(i, attr);
> }
>
> /// addParamAttr - adds the attribute to the list of attributes.
> - void addParamAttr(unsigned i, ParameterAttributes attr);
> + void addParamAttr(unsigned i, Attributes attr);
>
> /// removeParamAttr - removes the attribute from the list of
> attributes.
> - void removeParamAttr(unsigned i, ParameterAttributes attr);
> + void removeParamAttr(unsigned i, Attributes attr);
>
> /// @brief Extract the alignment for a call or parameter
> (0=unknown).
> unsigned getParamAlignment(unsigned i) const {
>
> Modified: llvm/trunk/include/llvm/Instructions.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Instructions.h?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/include/llvm/Instructions.h (original)
> +++ llvm/trunk/include/llvm/Instructions.h Tue Sep 23 18:03:40 2008
> @@ -20,7 +20,7 @@
>
> #include "llvm/InstrTypes.h"
> #include "llvm/DerivedTypes.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include "llvm/BasicBlock.h"
> #include "llvm/ADT/SmallVector.h"
>
> @@ -1081,10 +1081,10 @@
> void setParamAttrs(const PAListPtr &Attrs) { ParamAttrs = Attrs; }
>
> /// addParamAttr - adds the attribute to the list of attributes.
> - void addParamAttr(unsigned i, ParameterAttributes attr);
> + void addParamAttr(unsigned i, Attributes attr);
>
> /// removeParamAttr - removes the attribute from the list of
> attributes.
> - void removeParamAttr(unsigned i, ParameterAttributes attr);
> + void removeParamAttr(unsigned i, Attributes attr);
>
> /// @brief Determine whether the call or the callee has the given
> attribute.
> bool paramHasAttr(unsigned i, unsigned attr) const;
> @@ -2440,13 +2440,13 @@
> void setParamAttrs(const PAListPtr &Attrs) { ParamAttrs = Attrs; }
>
> /// @brief Determine whether the call or the callee has the given
> attribute.
> - bool paramHasAttr(unsigned i, ParameterAttributes attr) const;
> + bool paramHasAttr(unsigned i, Attributes attr) const;
>
> /// addParamAttr - adds the attribute to the list of attributes.
> - void addParamAttr(unsigned i, ParameterAttributes attr);
> + void addParamAttr(unsigned i, Attributes attr);
>
> /// removeParamAttr - removes the attribute from the list of
> attributes.
> - void removeParamAttr(unsigned i, ParameterAttributes attr);
> + void removeParamAttr(unsigned i, Attributes attr);
>
> /// @brief Extract the alignment for a call or parameter
> (0=unknown).
> unsigned getParamAlignment(unsigned i) const {
>
> Removed: llvm/trunk/include/llvm/ParameterAttributes.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ParameterAttributes.h?rev=56512&view=auto
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/include/llvm/ParameterAttributes.h (original)
> +++ llvm/trunk/include/llvm/ParameterAttributes.h (removed)
> @@ -1,212 +0,0 @@
> -//===-- llvm/ParameterAttributes.h - Container for ParamAttrs ---*-
> C++ -*-===//
> -//
> -// The LLVM Compiler Infrastructure
> -//
> -// This file is distributed under the University of Illinois Open
> Source
> -// License. See LICENSE.TXT for details.
> -//
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -//
> -// This file contains the simple types necessary to represent the
> parameter
> -// attributes associated with functions and their calls.
> -//
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -
> -#ifndef LLVM_PARAMETER_ATTRIBUTES_H
> -#define LLVM_PARAMETER_ATTRIBUTES_H
> -
> -#include <string>
> -
> -namespace llvm {
> -class Type;
> -
> -/// ParameterAttributes - A bitset of attributes for a parameter.
> -typedef unsigned ParameterAttributes;
> -
> -namespace ParamAttr {
> -
> -/// Function parameters and results can have attributes to indicate
> how they
> -/// should be treated by optimizations and code generation. This
> enumeration
> -/// lists the attributes that can be associated with parameters or
> function
> -/// results.
> -/// @brief Function parameter attributes.
> -typedef ParameterAttributes Attributes;
> -
> -const Attributes None = 0; ///< No attributes have been set
> -const Attributes ZExt = 1<<0; ///< Zero extended before/after
> call
> -const Attributes SExt = 1<<1; ///< Sign extended before/after
> call
> -const Attributes NoReturn = 1<<2; ///< Mark the function as not
> returning
> -const Attributes InReg = 1<<3; ///< Force argument to be
> passed in register
> -const Attributes StructRet = 1<<4; ///< Hidden pointer to
> structure to return
> -const Attributes NoUnwind = 1<<5; ///< Function doesn't unwind
> stack
> -const Attributes NoAlias = 1<<6; ///< Considered to not alias
> after call
> -const Attributes ByVal = 1<<7; ///< Pass structure by value
> -const Attributes Nest = 1<<8; ///< Nested function static chain
> -const Attributes ReadNone = 1<<9; ///< Function does not access
> memory
> -const Attributes ReadOnly = 1<<10; ///< Function only reads from
> memory
> -const Attributes Alignment = 0xffff<<16; ///< Alignment of
> parameter (16 bits)
> - // 0 = unknown, else in clear
> (not log)
> -
> -/// Function notes are implemented as attributes stored at index ~0
> in
> -/// parameter attribute list.
> -const Attributes FN_NOTE_None = 0;
> -const Attributes FN_NOTE_NoInline = 1<<0; // inline=never
> -const Attributes FN_NOTE_AlwaysInline = 1<<1; // inline=always
> -const Attributes FN_NOTE_OptimizeForSize = 1<<2; // opt_size
> -
> -/// @brief Attributes that only apply to function parameters.
> -const Attributes ParameterOnly = ByVal | Nest | StructRet;
> -
> -/// @brief Attributes that only apply to function return values.
> -const Attributes ReturnOnly = NoReturn | NoUnwind | ReadNone |
> ReadOnly;
> -
> -/// @brief Parameter attributes that do not apply to vararg call
> arguments.
> -const Attributes VarArgsIncompatible = StructRet;
> -
> -/// @brief Attributes that are mutually incompatible.
> -const Attributes MutuallyIncompatible[3] = {
> - ByVal | InReg | Nest | StructRet,
> - ZExt | SExt,
> - ReadNone | ReadOnly
> -};
> -
> -/// @brief Which attributes cannot be applied to a type.
> -Attributes typeIncompatible(const Type *Ty);
> -
> -/// This turns an int alignment (a power of 2, normally) into the
> -/// form used internally in ParameterAttributes.
> -inline ParamAttr::Attributes constructAlignmentFromInt(unsigned i) {
> - return (i << 16);
> -}
> -
> -/// The set of ParameterAttributes set in Attributes is converted
> to a
> -/// string of equivalent mnemonics. This is, presumably, for
> writing out
> -/// the mnemonics for the assembly writer.
> -/// @brief Convert parameter attribute bits to text
> -std::string getAsString(ParameterAttributes Attrs);
> -} // end namespace ParamAttr
> -
> -
> -/// This is just a pair of values to associate a set of parameter
> attributes
> -/// with a parameter index.
> -struct ParamAttrsWithIndex {
> - ParameterAttributes Attrs; ///< The attributes that are set, or'd
> together.
> - unsigned Index; ///< Index of the parameter for which the
> attributes apply.
> -
> - static ParamAttrsWithIndex get(unsigned Idx, ParameterAttributes
> Attrs) {
> - ParamAttrsWithIndex P;
> - P.Index = Idx;
> - P.Attrs = Attrs;
> - return P;
> - }
> -};
> -
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -// PAListPtr Smart Pointer
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -
> -class ParamAttributeListImpl;
> -
> -/// PAListPtr - This class manages the ref count for the opaque
> -/// ParamAttributeListImpl object and provides accessors for it.
> -class PAListPtr {
> - /// PAList - The parameter attributes that we are managing. This
> can be null
> - /// to represent the empty parameter attributes list.
> - ParamAttributeListImpl *PAList;
> -public:
> - PAListPtr() : PAList(0) {}
> - PAListPtr(const PAListPtr &P);
> - const PAListPtr &operator=(const PAListPtr &RHS);
> - ~PAListPtr();
> -
> - //
> =
> =
> =--------------------------------------------------------------------
> ===//
> - // Parameter Attribute List Construction and Mutation
> - //
> =
> =
> =--------------------------------------------------------------------
> ===//
> -
> - /// get - Return a ParamAttrs list with the specified parameter
> in it.
> - static PAListPtr get(const ParamAttrsWithIndex *Attr, unsigned
> NumAttrs);
> -
> - /// get - Return a ParamAttr list with the parameters specified
> by the
> - /// consecutive random access iterator range.
> - template <typename Iter>
> - static PAListPtr get(const Iter &I, const Iter &E) {
> - if (I == E) return PAListPtr(); // Empty list.
> - return get(&*I, static_cast<unsigned>(E-I));
> - }
> -
> - /// addAttr - Add the specified attribute at the specified index
> to this
> - /// attribute list. Since parameter attribute lists are
> immutable, this
> - /// returns the new list.
> - PAListPtr addAttr(unsigned Idx, ParameterAttributes Attrs) const;
> -
> - /// removeAttr - Remove the specified attribute at the specified
> index from
> - /// this attribute list. Since parameter attribute lists are
> immutable, this
> - /// returns the new list.
> - PAListPtr removeAttr(unsigned Idx, ParameterAttributes Attrs)
> const;
> -
> - //
> =
> =
> =--------------------------------------------------------------------
> ===//
> - // Parameter Attribute List Accessors
> - //
> =
> =
> =--------------------------------------------------------------------
> ===//
> -
> - /// getParamAttrs - The parameter attributes for the specified
> parameter are
> - /// returned. Parameters for the result are denoted with Idx = 0.
> - ParameterAttributes getParamAttrs(unsigned Idx) const;
> -
> - /// paramHasAttr - Return true if the specified parameter index
> has the
> - /// specified attribute set.
> - bool paramHasAttr(unsigned Idx, ParameterAttributes Attr) const {
> - return getParamAttrs(Idx) & Attr;
> - }
> -
> - /// getParamAlignment - Return the alignment for the specified
> function
> - /// parameter.
> - unsigned getParamAlignment(unsigned Idx) const {
> - return (getParamAttrs(Idx) & ParamAttr::Alignment) >> 16;
> - }
> -
> - /// hasAttrSomewhere - Return true if the specified attribute is
> set for at
> - /// least one parameter or for the return value.
> - bool hasAttrSomewhere(ParameterAttributes Attr) const;
> -
> - /// operator==/!= - Provide equality predicates.
> - bool operator==(const PAListPtr &RHS) const { return PAList ==
> RHS.PAList; }
> - bool operator!=(const PAListPtr &RHS) const { return PAList !=
> RHS.PAList; }
> -
> - void dump() const;
> -
> - //
> =
> =
> =--------------------------------------------------------------------
> ===//
> - // Parameter Attribute List Introspection
> - //
> =
> =
> =--------------------------------------------------------------------
> ===//
> -
> - /// getRawPointer - Return a raw pointer that uniquely identifies
> this
> - /// parameter attribute list.
> - void *getRawPointer() const {
> - return PAList;
> - }
> -
> - // Parameter attributes are stored as a dense set of slots, where
> there is one
> - // slot for each argument that has an attribute. This allows
> walking over the
> - // dense set instead of walking the sparse list of attributes.
> -
> - /// isEmpty - Return true if no parameters have an attribute.
> - ///
> - bool isEmpty() const {
> - return PAList == 0;
> - }
> -
> - /// getNumSlots - Return the number of slots used in this
> attribute list.
> - /// This is the number of arguments that have an attribute set on
> them
> - /// (including the function itself).
> - unsigned getNumSlots() const;
> -
> - /// getSlot - Return the ParamAttrsWithIndex at the specified
> slot. This
> - /// holds a parameter number plus a set of attributes.
> - const ParamAttrsWithIndex &getSlot(unsigned Slot) const;
> -
> -private:
> - explicit PAListPtr(ParamAttributeListImpl *L);
> -};
> -
> -} // End llvm namespace
> -
> -#endif
>
> Modified: llvm/trunk/include/llvm/Support/CallSite.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/CallSite.h?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/include/llvm/Support/CallSite.h (original)
> +++ llvm/trunk/include/llvm/Support/CallSite.h Tue Sep 23 18:03:40
> 2008
> @@ -22,7 +22,7 @@
>
> #include "llvm/Instruction.h"
> #include "llvm/BasicBlock.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
>
> namespace llvm {
>
> @@ -68,7 +68,7 @@
> void setParamAttrs(const PAListPtr &PAL);
>
> /// paramHasAttr - whether the call or the callee has the given
> attribute.
> - bool paramHasAttr(uint16_t i, ParameterAttributes attr) const;
> + bool paramHasAttr(uint16_t i, Attributes attr) const;
>
> /// @brief Extract the alignment for a call or parameter
> (0=unknown).
> uint16_t getParamAlignment(uint16_t i) const;
>
> Modified: llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp (original)
> +++ llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp Tue Sep 23
> 18:03:40 2008
> @@ -18,7 +18,6 @@
> #include "llvm/Constants.h"
> #include "llvm/DerivedTypes.h"
> #include "llvm/Function.h"
> -#include "llvm/ParameterAttributes.h"
> #include "llvm/GlobalVariable.h"
> #include "llvm/Instructions.h"
> #include "llvm/IntrinsicInst.h"
>
> Modified: llvm/trunk/lib/AsmParser/ParserInternals.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/ParserInternals.h?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/AsmParser/ParserInternals.h (original)
> +++ llvm/trunk/lib/AsmParser/ParserInternals.h Tue Sep 23 18:03:40
> 2008
> @@ -17,7 +17,7 @@
>
> #include "llvm/Constants.h"
> #include "llvm/DerivedTypes.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include "llvm/Function.h"
> #include "llvm/Instructions.h"
> #include "llvm/Assembly/Parser.h"
> @@ -232,13 +232,13 @@
>
> struct TypeWithAttrs {
> llvm::PATypeHolder *Ty;
> - ParameterAttributes Attrs;
> + Attributes Attrs;
> };
>
> typedef std::vector<TypeWithAttrs> TypeWithAttrsList;
>
> struct ArgListEntry {
> - ParameterAttributes Attrs;
> + Attributes Attrs;
> llvm::PATypeHolder *Ty;
> std::string *Name;
> };
> @@ -247,7 +247,7 @@
>
> struct ParamListEntry {
> Value *Val;
> - ParameterAttributes Attrs;
> + Attributes Attrs;
> };
>
> typedef std::vector<ParamListEntry> ParamList;
>
> Modified: llvm/trunk/lib/Bitcode/Reader/BitcodeReader.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.h?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Bitcode/Reader/BitcodeReader.h (original)
> +++ llvm/trunk/lib/Bitcode/Reader/BitcodeReader.h Tue Sep 23
> 18:03:40 2008
> @@ -15,7 +15,7 @@
> #define BITCODE_READER_H
>
> #include "llvm/ModuleProvider.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include "llvm/Type.h"
> #include "llvm/OperandTraits.h"
> #include "llvm/Bitcode/BitstreamReader.h"
>
> Modified: llvm/trunk/lib/Bitcode/Writer/ValueEnumerator.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Writer/ValueEnumerator.h?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Bitcode/Writer/ValueEnumerator.h (original)
> +++ llvm/trunk/lib/Bitcode/Writer/ValueEnumerator.h Tue Sep 23
> 18:03:40 2008
> @@ -15,7 +15,7 @@
> #define VALUE_ENUMERATOR_H
>
> #include "llvm/ADT/DenseMap.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include <vector>
>
> namespace llvm {
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
> (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp Tue
> Sep 23 18:03:40 2008
> @@ -25,7 +25,6 @@
> #include "llvm/Instructions.h"
> #include "llvm/Intrinsics.h"
> #include "llvm/IntrinsicInst.h"
> -#include "llvm/ParameterAttributes.h"
> #include "llvm/CodeGen/FastISel.h"
> #include "llvm/CodeGen/GCStrategy.h"
> #include "llvm/CodeGen/GCMetadata.h"
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
> (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Tue Sep
> 23 18:03:40 2008
> @@ -25,7 +25,6 @@
> #include "llvm/Instructions.h"
> #include "llvm/Intrinsics.h"
> #include "llvm/IntrinsicInst.h"
> -#include "llvm/ParameterAttributes.h"
> #include "llvm/CodeGen/FastISel.h"
> #include "llvm/CodeGen/GCStrategy.h"
> #include "llvm/CodeGen/GCMetadata.h"
>
> Modified: llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp
> (original)
> +++ llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp Tue Sep
> 23 18:03:40 2008
> @@ -16,7 +16,6 @@
> #include "llvm/Constants.h"
> #include "llvm/DerivedTypes.h"
> #include "llvm/Instructions.h"
> -#include "llvm/ParameterAttributes.h"
> #include "llvm/CodeGen/IntrinsicLowering.h"
> #include "llvm/Support/GetElementPtrTypeIterator.h"
> #include "llvm/ADT/APInt.h"
>
> Modified: llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp (original)
> +++ llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp Tue Sep 23
> 18:03:40 2008
> @@ -438,7 +438,7 @@
> Out << "ParamAttrsWithIndex PAWI;"; nl(Out);
> for (unsigned i = 0; i < PAL.getNumSlots(); ++i) {
> uint16_t index = PAL.getSlot(i).Index;
> - ParameterAttributes attrs = PAL.getSlot(i).Attrs;
> + Attributes attrs = PAL.getSlot(i).Attrs;
> Out << "PAWI.Index = " << index << "; PAWI.Attrs = 0 ";
> if (attrs & ParamAttr::SExt)
> Out << " | ParamAttr::SExt";
>
> Modified: llvm/trunk/lib/Target/MSIL/MSILWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSIL/MSILWriter.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/MSIL/MSILWriter.cpp (original)
> +++ llvm/trunk/lib/Target/MSIL/MSILWriter.cpp Tue Sep 23 18:03:40 2008
> @@ -16,7 +16,6 @@
> #include "llvm/DerivedTypes.h"
> #include "llvm/Intrinsics.h"
> #include "llvm/IntrinsicInst.h"
> -#include "llvm/ParameterAttributes.h"
> #include "llvm/TypeSymbolTable.h"
> #include "llvm/Analysis/ConstantsScanner.h"
> #include "llvm/Support/CallSite.h"
>
> Modified: llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp Tue Sep 23
> 18:03:40 2008
> @@ -29,7 +29,6 @@
> #include "llvm/Constants.h"
> #include "llvm/Function.h"
> #include "llvm/Intrinsics.h"
> -#include "llvm/ParameterAttributes.h"
> #include "llvm/Support/MathExtras.h"
> #include "llvm/Target/TargetOptions.h"
> #include "llvm/Support/CommandLine.h"
>
> Modified: llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp Tue Sep 23
> 18:03:40 2008
> @@ -508,7 +508,7 @@
> const PAListPtr &PAL = F->getParamAttrs();
>
> // Add any return attributes.
> - if (ParameterAttributes attrs = PAL.getParamAttrs(0))
> + if (Attributes attrs = PAL.getParamAttrs(0))
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(0, attrs));
>
> // First, determine the new argument list
> @@ -525,7 +525,7 @@
> } else if (!ArgsToPromote.count(I)) {
> // Unchanged argument
> Params.push_back(I->getType());
> - if (ParameterAttributes attrs = PAL.getParamAttrs(ArgIndex))
> + if (Attributes attrs = PAL.getParamAttrs(ArgIndex))
>
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Params.size(),
> attrs));
> } else if (I->use_empty()) {
> // Dead argument (which are always marked as promotable)
> @@ -621,7 +621,7 @@
> const PAListPtr &CallPAL = CS.getParamAttrs();
>
> // Add any return attributes.
> - if (ParameterAttributes attrs = CallPAL.getParamAttrs(0))
> + if (Attributes attrs = CallPAL.getParamAttrs(0))
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(0, attrs));
>
> // Loop over the operands, inserting GEP and loads in the caller
> as
> @@ -633,7 +633,7 @@
> if (!ArgsToPromote.count(I) && !ByValArgsToTransform.count(I)) {
> Args.push_back(*AI); // Unmodified argument
>
> - if (ParameterAttributes Attrs =
> CallPAL.getParamAttrs(ArgIndex))
> + if (Attributes Attrs = CallPAL.getParamAttrs(ArgIndex))
>
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Args.size(), Attrs));
>
> } else if (ByValArgsToTransform.count(I)) {
> @@ -688,7 +688,7 @@
> // Push any varargs arguments on the list
> for (; AI != CS.arg_end(); ++AI, ++ArgIndex) {
> Args.push_back(*AI);
> - if (ParameterAttributes Attrs =
> CallPAL.getParamAttrs(ArgIndex))
> + if (Attributes Attrs = CallPAL.getParamAttrs(ArgIndex))
>
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Args.size(), Attrs));
> }
>
>
> Modified: llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp
> (original)
> +++ llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp Tue
> Sep 23 18:03:40 2008
> @@ -593,7 +593,7 @@
> const PAListPtr &PAL = F->getParamAttrs();
>
> // The existing function return attributes.
> - ParameterAttributes RAttrs = PAL.getParamAttrs(0);
> + Attributes RAttrs = PAL.getParamAttrs(0);
>
>
> // Find out the new return value.
> @@ -678,7 +678,7 @@
>
> // Get the original parameter attributes (skipping the first
> one, that is
> // for the return value.
> - if (ParameterAttributes Attrs = PAL.getParamAttrs(i + 1))
> + if (Attributes Attrs = PAL.getParamAttrs(i + 1))
>
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Params.size(),
> Attrs));
> } else {
> ++NumArgumentsEliminated;
> @@ -730,7 +730,7 @@
> const PAListPtr &CallPAL = CS.getParamAttrs();
>
> // The call return attributes.
> - ParameterAttributes RAttrs = CallPAL.getParamAttrs(0);
> + Attributes RAttrs = CallPAL.getParamAttrs(0);
> // Adjust in case the function was changed to return void.
> RAttrs &= ~ParamAttr::typeIncompatible(NF->getReturnType());
> if (RAttrs)
> @@ -746,7 +746,7 @@
> if (ArgAlive[i]) {
> Args.push_back(*I);
> // Get original parameter attributes, but skip return
> attributes.
> - if (ParameterAttributes Attrs = CallPAL.getParamAttrs(i + 1))
> + if (Attributes Attrs = CallPAL.getParamAttrs(i + 1))
>
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Args.size(), Attrs));
> }
>
> @@ -756,7 +756,7 @@
> // Push any varargs arguments on the list. Don't forget their
> attributes.
> for (CallSite::arg_iterator E = CS.arg_end(); I != E; ++I, ++i) {
> Args.push_back(*I);
> - if (ParameterAttributes Attrs = CallPAL.getParamAttrs(i + 1))
> + if (Attributes Attrs = CallPAL.getParamAttrs(i + 1))
>
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(Args.size(), Attrs));
> }
>
>
> Modified: llvm/trunk/lib/Transforms/IPO/PruneEH.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PruneEH.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/IPO/PruneEH.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/PruneEH.cpp Tue Sep 23 18:03:40 2008
> @@ -125,7 +125,7 @@
> // If the SCC doesn't unwind or doesn't throw, note this fact.
> if (!SCCMightUnwind || !SCCMightReturn)
> for (unsigned i = 0, e = SCC.size(); i != e; ++i) {
> - ParameterAttributes NewAttributes = ParamAttr::None;
> + Attributes NewAttributes = ParamAttr::None;
>
> if (!SCCMightUnwind)
> NewAttributes |= ParamAttr::NoUnwind;
>
> Modified: llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/StructRetPromotion.cpp Tue Sep 23
> 18:03:40 2008
> @@ -210,7 +210,7 @@
> const PAListPtr &PAL = F->getParamAttrs();
>
> // Add any return attributes.
> - if (ParameterAttributes attrs = PAL.getParamAttrs(0))
> + if (Attributes attrs = PAL.getParamAttrs(0))
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(0, attrs));
>
> // Skip first argument.
> @@ -221,7 +221,7 @@
> unsigned ParamIndex = 2;
> while (I != E) {
> Params.push_back(I->getType());
> - if (ParameterAttributes Attrs = PAL.getParamAttrs(ParamIndex))
> + if (Attributes Attrs = PAL.getParamAttrs(ParamIndex))
> ParamAttrsVec.push_back(ParamAttrsWithIndex::get(ParamIndex -
> 1, Attrs));
> ++I;
> ++ParamIndex;
> @@ -264,7 +264,7 @@
>
> const PAListPtr &PAL = F->getParamAttrs();
> // Add any return attributes.
> - if (ParameterAttributes attrs = PAL.getParamAttrs(0))
> + if (Attributes attrs = PAL.getParamAttrs(0))
> ArgAttrsVec.push_back(ParamAttrsWithIndex::get(0, attrs));
>
> // Copy arguments, however skip first one.
> @@ -276,7 +276,7 @@
> unsigned ParamIndex = 2;
> while (AI != AE) {
> Args.push_back(*AI);
> - if (ParameterAttributes Attrs = PAL.getParamAttrs(ParamIndex))
> + if (Attributes Attrs = PAL.getParamAttrs(ParamIndex))
> ArgAttrsVec.push_back(ParamAttrsWithIndex::get(ParamIndex -
> 1, Attrs));
> ++ParamIndex;
> ++AI;
>
> Modified: llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
> (original)
> +++ llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp Tue
> Sep 23 18:03:40 2008
> @@ -9127,7 +9127,7 @@
> return false; // Cannot transform this return value.
>
> if (!CallerPAL.isEmpty() && !Caller->use_empty()) {
> - ParameterAttributes RAttrs = CallerPAL.getParamAttrs(0);
> + Attributes RAttrs = CallerPAL.getParamAttrs(0);
> if (RAttrs & ParamAttr::typeIncompatible(NewRetTy))
> return false; // Attribute not compatible with transformed
> value.
> }
> @@ -9180,7 +9180,7 @@
> for (unsigned i = CallerPAL.getNumSlots(); i; --i) {
> if (CallerPAL.getSlot(i - 1).Index <= FT->getNumParams())
> break;
> - ParameterAttributes PAttrs = CallerPAL.getSlot(i - 1).Attrs;
> + Attributes PAttrs = CallerPAL.getSlot(i - 1).Attrs;
> if (PAttrs & ParamAttr::VarArgsIncompatible)
> return false;
> }
> @@ -9193,7 +9193,7 @@
> attrVec.reserve(NumCommonArgs);
>
> // Get any return attributes.
> - ParameterAttributes RAttrs = CallerPAL.getParamAttrs(0);
> + Attributes RAttrs = CallerPAL.getParamAttrs(0);
>
> // If the return value is not being used, the type may not be
> compatible
> // with the existing attributes. Wipe out any problematic
> attributes.
> @@ -9216,7 +9216,7 @@
> }
>
> // Add any parameter attributes.
> - if (ParameterAttributes PAttrs = CallerPAL.getParamAttrs(i + 1))
> + if (Attributes PAttrs = CallerPAL.getParamAttrs(i + 1))
> attrVec.push_back(ParamAttrsWithIndex::get(i + 1, PAttrs));
> }
>
> @@ -9246,7 +9246,7 @@
> }
>
> // Add any parameter attributes.
> - if (ParameterAttributes PAttrs = CallerPAL.getParamAttrs(i
> + 1))
> + if (Attributes PAttrs = CallerPAL.getParamAttrs(i + 1))
> attrVec.push_back(ParamAttrsWithIndex::get(i + 1, PAttrs));
> }
> }
> @@ -9329,7 +9329,7 @@
> if (!NestAttrs.isEmpty()) {
> unsigned NestIdx = 1;
> const Type *NestTy = 0;
> - ParameterAttributes NestAttr = ParamAttr::None;
> + Attributes NestAttr = ParamAttr::None;
>
> // Look for a parameter marked with the 'nest' attribute.
> for (FunctionType::param_iterator I = NestFTy->param_begin(),
> @@ -9353,7 +9353,7 @@
> // mean appending it. Likewise for attributes.
>
> // Add any function result attributes.
> - if (ParameterAttributes Attr = Attrs.getParamAttrs(0))
> + if (Attributes Attr = Attrs.getParamAttrs(0))
> NewAttrs.push_back(ParamAttrsWithIndex::get(0, Attr));
>
> {
> @@ -9374,7 +9374,7 @@
>
> // Add the original argument and attributes.
> NewArgs.push_back(*I);
> - if (ParameterAttributes Attr = Attrs.getParamAttrs(Idx))
> + if (Attributes Attr = Attrs.getParamAttrs(Idx))
> NewAttrs.push_back
> (ParamAttrsWithIndex::get(Idx + (Idx >= NestIdx),
> Attr));
>
>
> Modified: llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/MemCpyOptimizer.cpp Tue Sep 23
> 18:03:40 2008
> @@ -16,7 +16,6 @@
> #include "llvm/Transforms/Scalar.h"
> #include "llvm/IntrinsicInst.h"
> #include "llvm/Instructions.h"
> -#include "llvm/ParameterAttributes.h"
> #include "llvm/ADT/SmallVector.h"
> #include "llvm/ADT/Statistic.h"
> #include "llvm/Analysis/Dominators.h"
>
> Modified: llvm/trunk/lib/Transforms/Scalar/SimplifyCFGPass.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SimplifyCFGPass.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/Scalar/SimplifyCFGPass.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/SimplifyCFGPass.cpp Tue Sep 23
> 18:03:40 2008
> @@ -27,7 +27,7 @@
> #include "llvm/Constants.h"
> #include "llvm/Instructions.h"
> #include "llvm/Module.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include "llvm/Support/CFG.h"
> #include "llvm/Support/Compiler.h"
> #include "llvm/Pass.h"
>
> Modified: llvm/trunk/lib/Transforms/Utils/InlineFunction.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/InlineFunction.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Transforms/Utils/InlineFunction.cpp (original)
> +++ llvm/trunk/lib/Transforms/Utils/InlineFunction.cpp Tue Sep 23
> 18:03:40 2008
> @@ -18,7 +18,7 @@
> #include "llvm/Module.h"
> #include "llvm/Instructions.h"
> #include "llvm/Intrinsics.h"
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include "llvm/Analysis/CallGraph.h"
> #include "llvm/Target/TargetData.h"
> #include "llvm/ADT/SmallVector.h"
>
> Modified: llvm/trunk/lib/VMCore/AsmWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/AsmWriter.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/VMCore/AsmWriter.cpp (original)
> +++ llvm/trunk/lib/VMCore/AsmWriter.cpp Tue Sep 23 18:03:40 2008
> @@ -1006,7 +1006,7 @@
> void write(const Type *Ty) { printType(Ty); }
>
> void writeOperand(const Value *Op, bool PrintType);
> - void writeParamOperand(const Value *Operand, ParameterAttributes
> Attrs);
> + void writeParamOperand(const Value *Operand, Attributes Attrs);
>
> const Module* getModule() { return TheModule; }
>
> @@ -1016,7 +1016,7 @@
> void printGlobal(const GlobalVariable *GV);
> void printAlias(const GlobalAlias *GV);
> void printFunction(const Function *F);
> - void printArgument(const Argument *FA, ParameterAttributes Attrs);
> + void printArgument(const Argument *FA, Attributes Attrs);
> void printBasicBlock(const BasicBlock *BB);
> void printInstruction(const Instruction &I);
>
> @@ -1126,7 +1126,7 @@
> }
>
> void AssemblyWriter::writeParamOperand(const Value *Operand,
> - ParameterAttributes Attrs) {
> + Attributes Attrs) {
> if (Operand == 0) {
> Out << "<null operand!>";
> } else {
> @@ -1386,7 +1386,7 @@
> // Output type...
> printType(FT->getParamType(i));
>
> - ParameterAttributes ArgAttrs = Attrs.getParamAttrs(i+1);
> + Attributes ArgAttrs = Attrs.getParamAttrs(i+1);
> if (ArgAttrs != ParamAttr::None)
> Out << ' ' << ParamAttr::getAsString(ArgAttrs);
> }
> @@ -1398,7 +1398,7 @@
> Out << "..."; // Output varargs portion of signature!
> }
> Out << ')';
> - ParameterAttributes RetAttrs = Attrs.getParamAttrs(0);
> + Attributes RetAttrs = Attrs.getParamAttrs(0);
> if (RetAttrs != ParamAttr::None)
> Out << ' ' << ParamAttr::getAsString(Attrs.getParamAttrs(0));
> if (F->hasSection())
> @@ -1454,7 +1454,7 @@
> /// the function. Simply print it out
> ///
> void AssemblyWriter::printArgument(const Argument *Arg,
> - ParameterAttributes Attrs) {
> + Attributes Attrs) {
> // Output type...
> printType(Arg->getType());
>
>
> Copied: llvm/trunk/lib/VMCore/Attributes.cpp (from r56511, llvm/
> trunk/lib/VMCore/ParameterAttributes.cpp)
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Attributes.cpp?p2=llvm/trunk/lib/VMCore/Attributes.cpp&p1=llvm/trunk/lib/VMCore/ParameterAttributes.cpp&r1=56511&r2=56513&rev=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/VMCore/ParameterAttributes.cpp (original)
> +++ llvm/trunk/lib/VMCore/Attributes.cpp Tue Sep 23 18:03:40 2008
> @@ -1,4 +1,4 @@
> -//===-- ParameterAttributes.cpp - Implement ParamAttrsList
> ----------------===//
> +//===-- Attributes.cpp - Implement ParamAttrsList ----------------
> ===//
> //
> // The LLVM Compiler Infrastructure
> //
> @@ -11,7 +11,7 @@
> //
> //
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
>
> -#include "llvm/ParameterAttributes.h"
> +#include "llvm/Attributes.h"
> #include "llvm/Type.h"
> #include "llvm/ADT/StringExtras.h"
> #include "llvm/ADT/FoldingSet.h"
> @@ -23,7 +23,7 @@
> // ParamAttr Function Definitions
> //
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
>
> -std::string ParamAttr::getAsString(ParameterAttributes Attrs) {
> +std::string ParamAttr::getAsString(Attributes Attrs) {
> std::string Result;
> if (Attrs & ParamAttr::ZExt)
> Result += "zeroext ";
> @@ -57,8 +57,8 @@
> return Result;
> }
>
> -ParameterAttributes ParamAttr::typeIncompatible(const Type *Ty) {
> - ParameterAttributes Incompatible = None;
> +Attributes ParamAttr::typeIncompatible(const Type *Ty) {
> + Attributes Incompatible = None;
>
> if (!Ty->isInteger())
> // Attributes that only apply to integers.
> @@ -187,7 +187,7 @@
> /// getParamAttrs - The parameter attributes for the specified
> parameter are
> /// returned. Parameters for the result are denoted with Idx = 0.
> /// Function notes are denoted with idx = ~0.
> -ParameterAttributes PAListPtr::getParamAttrs(unsigned Idx) const {
> +Attributes PAListPtr::getParamAttrs(unsigned Idx) const {
> if (PAList == 0) return ParamAttr::None;
>
> const SmallVector<ParamAttrsWithIndex, 4> &Attrs = PAList->Attrs;
> @@ -199,7 +199,7 @@
>
> /// hasAttrSomewhere - Return true if the specified attribute is set
> for at
> /// least one parameter or for the return value.
> -bool PAListPtr::hasAttrSomewhere(ParameterAttributes Attr) const {
> +bool PAListPtr::hasAttrSomewhere(Attributes Attr) const {
> if (PAList == 0) return false;
>
> const SmallVector<ParamAttrsWithIndex, 4> &Attrs = PAList->Attrs;
> @@ -210,18 +210,18 @@
> }
>
>
> -PAListPtr PAListPtr::addAttr(unsigned Idx, ParameterAttributes
> Attrs) const {
> - ParameterAttributes OldAttrs = getParamAttrs(Idx);
> +PAListPtr PAListPtr::addAttr(unsigned Idx, Attributes Attrs) const {
> + Attributes OldAttrs = getParamAttrs(Idx);
> #ifndef NDEBUG
> // FIXME it is not obvious how this should work for alignment.
> // For now, say we can't change a known alignment.
> - ParameterAttributes OldAlign = OldAttrs & ParamAttr::Alignment;
> - ParameterAttributes NewAlign = Attrs & ParamAttr::Alignment;
> + Attributes OldAlign = OldAttrs & ParamAttr::Alignment;
> + Attributes NewAlign = Attrs & ParamAttr::Alignment;
> assert((!OldAlign || !NewAlign || OldAlign == NewAlign) &&
> "Attempt to change alignment!");
> #endif
>
> - ParameterAttributes NewAttrs = OldAttrs | Attrs;
> + Attributes NewAttrs = OldAttrs | Attrs;
> if (NewAttrs == OldAttrs)
> return *this;
>
> @@ -251,7 +251,7 @@
> return get(&NewAttrList[0], NewAttrList.size());
> }
>
> -PAListPtr PAListPtr::removeAttr(unsigned Idx, ParameterAttributes
> Attrs) const {
> +PAListPtr PAListPtr::removeAttr(unsigned Idx, Attributes Attrs)
> const {
> #ifndef NDEBUG
> // FIXME it is not obvious how this should work for alignment.
> // For now, say we can't pass in alignment, which no current use
> does.
> @@ -259,8 +259,8 @@
> #endif
> if (PAList == 0) return PAListPtr();
>
> - ParameterAttributes OldAttrs = getParamAttrs(Idx);
> - ParameterAttributes NewAttrs = OldAttrs & ~Attrs;
> + Attributes OldAttrs = getParamAttrs(Idx);
> + Attributes NewAttrs = OldAttrs & ~Attrs;
> if (NewAttrs == OldAttrs)
> return *this;
>
>
> Modified: llvm/trunk/lib/VMCore/Function.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Function.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/VMCore/Function.cpp (original)
> +++ llvm/trunk/lib/VMCore/Function.cpp Tue Sep 23 18:03:40 2008
> @@ -112,12 +112,12 @@
> }
>
> /// addAttr - Add a ParamAttr to an argument
> -void Argument::addAttr(ParameterAttributes attr) {
> +void Argument::addAttr(Attributes attr) {
> getParent()->addParamAttr(getArgNo() + 1, attr);
> }
>
> /// removeAttr - Remove a ParamAttr from an argument
> -void Argument::removeAttr(ParameterAttributes attr) {
> +void Argument::removeAttr(Attributes attr) {
> getParent()->removeParamAttr(getArgNo() + 1, attr);
> }
>
> @@ -229,13 +229,13 @@
> BasicBlocks.clear(); // Delete all basic blocks...
> }
>
> -void Function::addParamAttr(unsigned i, ParameterAttributes attr) {
> +void Function::addParamAttr(unsigned i, Attributes attr) {
> PAListPtr PAL = getParamAttrs();
> PAL = PAL.addAttr(i, attr);
> setParamAttrs(PAL);
> }
>
> -void Function::removeParamAttr(unsigned i, ParameterAttributes
> attr) {
> +void Function::removeParamAttr(unsigned i, Attributes attr) {
> PAListPtr PAL = getParamAttrs();
> PAL = PAL.removeAttr(i, attr);
> setParamAttrs(PAL);
> @@ -356,7 +356,7 @@
> }
>
> PAListPtr Intrinsic::getParamAttrs(ID id) {
> - ParameterAttributes Attr = ParamAttr::None;
> + Attributes Attr = ParamAttr::None;
>
> #define GET_INTRINSIC_ATTRIBUTES
> #include "llvm/Intrinsics.gen"
>
> Modified: llvm/trunk/lib/VMCore/Instructions.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Instructions.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/VMCore/Instructions.cpp (original)
> +++ llvm/trunk/lib/VMCore/Instructions.cpp Tue Sep 23 18:03:40 2008
> @@ -53,7 +53,7 @@
> else
> cast<InvokeInst>(I)->setParamAttrs(PAL);
> }
> -bool CallSite::paramHasAttr(uint16_t i, ParameterAttributes attr)
> const {
> +bool CallSite::paramHasAttr(uint16_t i, Attributes attr) const {
> if (CallInst *CI = dyn_cast<CallInst>(I))
> return CI->paramHasAttr(i, attr);
> else
> @@ -402,19 +402,19 @@
> OL[i] = InOL[i];
> }
>
> -void CallInst::addParamAttr(unsigned i, ParameterAttributes attr) {
> +void CallInst::addParamAttr(unsigned i, Attributes attr) {
> PAListPtr PAL = getParamAttrs();
> PAL = PAL.addAttr(i, attr);
> setParamAttrs(PAL);
> }
>
> -void CallInst::removeParamAttr(unsigned i, ParameterAttributes
> attr) {
> +void CallInst::removeParamAttr(unsigned i, Attributes attr) {
> PAListPtr PAL = getParamAttrs();
> PAL = PAL.removeAttr(i, attr);
> setParamAttrs(PAL);
> }
>
> -bool CallInst::paramHasAttr(unsigned i, ParameterAttributes attr)
> const {
> +bool CallInst::paramHasAttr(unsigned i, Attributes attr) const {
> if (ParamAttrs.paramHasAttr(i, attr))
> return true;
> if (const Function *F = getCalledFunction())
> @@ -473,7 +473,7 @@
> return setSuccessor(idx, B);
> }
>
> -bool InvokeInst::paramHasAttr(unsigned i, ParameterAttributes attr)
> const {
> +bool InvokeInst::paramHasAttr(unsigned i, Attributes attr) const {
> if (ParamAttrs.paramHasAttr(i, attr))
> return true;
> if (const Function *F = getCalledFunction())
> @@ -481,13 +481,13 @@
> return false;
> }
>
> -void InvokeInst::addParamAttr(unsigned i, ParameterAttributes attr) {
> +void InvokeInst::addParamAttr(unsigned i, Attributes attr) {
> PAListPtr PAL = getParamAttrs();
> PAL = PAL.addAttr(i, attr);
> setParamAttrs(PAL);
> }
>
> -void InvokeInst::removeParamAttr(unsigned i, ParameterAttributes
> attr) {
> +void InvokeInst::removeParamAttr(unsigned i, Attributes attr) {
> PAListPtr PAL = getParamAttrs();
> PAL = PAL.removeAttr(i, attr);
> setParamAttrs(PAL);
>
> Removed: llvm/trunk/lib/VMCore/ParameterAttributes.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/ParameterAttributes.cpp?rev=56512&view=auto
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/VMCore/ParameterAttributes.cpp (original)
> +++ llvm/trunk/lib/VMCore/ParameterAttributes.cpp (removed)
> @@ -1,297 +0,0 @@
> -//===-- ParameterAttributes.cpp - Implement ParamAttrsList
> ----------------===//
> -//
> -// The LLVM Compiler Infrastructure
> -//
> -// This file is distributed under the University of Illinois Open
> Source
> -// License. See LICENSE.TXT for details.
> -//
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -//
> -// This file implements the ParamAttrsList class and ParamAttr
> utilities.
> -//
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -
> -#include "llvm/ParameterAttributes.h"
> -#include "llvm/Type.h"
> -#include "llvm/ADT/StringExtras.h"
> -#include "llvm/ADT/FoldingSet.h"
> -#include "llvm/Support/Streams.h"
> -#include "llvm/Support/ManagedStatic.h"
> -using namespace llvm;
> -
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -// ParamAttr Function Definitions
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -
> -std::string ParamAttr::getAsString(ParameterAttributes Attrs) {
> - std::string Result;
> - if (Attrs & ParamAttr::ZExt)
> - Result += "zeroext ";
> - if (Attrs & ParamAttr::SExt)
> - Result += "signext ";
> - if (Attrs & ParamAttr::NoReturn)
> - Result += "noreturn ";
> - if (Attrs & ParamAttr::NoUnwind)
> - Result += "nounwind ";
> - if (Attrs & ParamAttr::InReg)
> - Result += "inreg ";
> - if (Attrs & ParamAttr::NoAlias)
> - Result += "noalias ";
> - if (Attrs & ParamAttr::StructRet)
> - Result += "sret ";
> - if (Attrs & ParamAttr::ByVal)
> - Result += "byval ";
> - if (Attrs & ParamAttr::Nest)
> - Result += "nest ";
> - if (Attrs & ParamAttr::ReadNone)
> - Result += "readnone ";
> - if (Attrs & ParamAttr::ReadOnly)
> - Result += "readonly ";
> - if (Attrs & ParamAttr::Alignment) {
> - Result += "align ";
> - Result += utostr((Attrs & ParamAttr::Alignment) >> 16);
> - Result += " ";
> - }
> - // Trim the trailing space.
> - Result.erase(Result.end()-1);
> - return Result;
> -}
> -
> -ParameterAttributes ParamAttr::typeIncompatible(const Type *Ty) {
> - ParameterAttributes Incompatible = None;
> -
> - if (!Ty->isInteger())
> - // Attributes that only apply to integers.
> - Incompatible |= SExt | ZExt;
> -
> - if (!isa<PointerType>(Ty))
> - // Attributes that only apply to pointers.
> - Incompatible |= ByVal | Nest | NoAlias | StructRet;
> -
> - return Incompatible;
> -}
> -
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -// ParamAttributeListImpl Definition
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -
> -namespace llvm {
> -class ParamAttributeListImpl : public FoldingSetNode {
> - unsigned RefCount;
> -
> - // ParamAttrsList is uniqued, these should not be publicly
> available.
> - void operator=(const ParamAttributeListImpl &); // Do not implement
> - ParamAttributeListImpl(const ParamAttributeListImpl &); // Do not
> implement
> - ~ParamAttributeListImpl(); // Private
> implementation
> -public:
> - SmallVector<ParamAttrsWithIndex, 4> Attrs;
> -
> - ParamAttributeListImpl(const ParamAttrsWithIndex *Attr, unsigned
> NumAttrs)
> - : Attrs(Attr, Attr+NumAttrs) {
> - RefCount = 0;
> - }
> -
> - void AddRef() { ++RefCount; }
> - void DropRef() { if (--RefCount == 0) delete this; }
> -
> - void Profile(FoldingSetNodeID &ID) const {
> - Profile(ID, &Attrs[0], Attrs.size());
> - }
> - static void Profile(FoldingSetNodeID &ID, const
> ParamAttrsWithIndex *Attr,
> - unsigned NumAttrs) {
> - for (unsigned i = 0; i != NumAttrs; ++i)
> - ID.AddInteger(uint64_t(Attr[i].Attrs) << 32 |
> unsigned(Attr[i].Index));
> - }
> -};
> -}
> -
> -static ManagedStatic<FoldingSet<ParamAttributeListImpl> >
> ParamAttrsLists;
> -
> -ParamAttributeListImpl::~ParamAttributeListImpl() {
> - ParamAttrsLists->RemoveNode(this);
> -}
> -
> -
> -PAListPtr PAListPtr::get(const ParamAttrsWithIndex *Attrs, unsigned
> NumAttrs) {
> - // If there are no attributes then return a null ParamAttrsList
> pointer.
> - if (NumAttrs == 0)
> - return PAListPtr();
> -
> -#ifndef NDEBUG
> - for (unsigned i = 0; i != NumAttrs; ++i) {
> - assert(Attrs[i].Attrs != ParamAttr::None &&
> - "Pointless parameter attribute!");
> - assert((!i || Attrs[i-1].Index < Attrs[i].Index) &&
> - "Misordered ParamAttrsList!");
> - }
> -#endif
> -
> - // Otherwise, build a key to look up the existing attributes.
> - FoldingSetNodeID ID;
> - ParamAttributeListImpl::Profile(ID, Attrs, NumAttrs);
> - void *InsertPos;
> - ParamAttributeListImpl *PAL =
> - ParamAttrsLists->FindNodeOrInsertPos(ID, InsertPos);
> -
> - // If we didn't find any existing attributes of the same shape then
> - // create a new one and insert it.
> - if (!PAL) {
> - PAL = new ParamAttributeListImpl(Attrs, NumAttrs);
> - ParamAttrsLists->InsertNode(PAL, InsertPos);
> - }
> -
> - // Return the ParamAttrsList that we found or created.
> - return PAListPtr(PAL);
> -}
> -
> -
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -// PAListPtr Method Implementations
> -//
> =
> =
> =
> ----------------------------------------------------------------------=
> ==//
> -
> -PAListPtr::PAListPtr(ParamAttributeListImpl *LI) : PAList(LI) {
> - if (LI) LI->AddRef();
> -}
> -
> -PAListPtr::PAListPtr(const PAListPtr &P) : PAList(P.PAList) {
> - if (PAList) PAList->AddRef();
> -}
> -
> -const PAListPtr &PAListPtr::operator=(const PAListPtr &RHS) {
> - if (PAList == RHS.PAList) return *this;
> - if (PAList) PAList->DropRef();
> - PAList = RHS.PAList;
> - if (PAList) PAList->AddRef();
> - return *this;
> -}
> -
> -PAListPtr::~PAListPtr() {
> - if (PAList) PAList->DropRef();
> -}
> -
> -/// getNumSlots - Return the number of slots used in this attribute
> list.
> -/// This is the number of arguments that have an attribute set on
> them
> -/// (including the function itself).
> -unsigned PAListPtr::getNumSlots() const {
> - return PAList ? PAList->Attrs.size() : 0;
> -}
> -
> -/// getSlot - Return the ParamAttrsWithIndex at the specified
> slot. This
> -/// holds a parameter number plus a set of attributes.
> -const ParamAttrsWithIndex &PAListPtr::getSlot(unsigned Slot) const {
> - assert(PAList && Slot < PAList->Attrs.size() && "Slot # out of
> range!");
> - return PAList->Attrs[Slot];
> -}
> -
> -
> -/// getParamAttrs - The parameter attributes for the specified
> parameter are
> -/// returned. Parameters for the result are denoted with Idx = 0.
> -/// Function notes are denoted with idx = ~0.
> -ParameterAttributes PAListPtr::getParamAttrs(unsigned Idx) const {
> - if (PAList == 0) return ParamAttr::None;
> -
> - const SmallVector<ParamAttrsWithIndex, 4> &Attrs = PAList->Attrs;
> - for (unsigned i = 0, e = Attrs.size(); i != e && Attrs[i].Index
> <= Idx; ++i)
> - if (Attrs[i].Index == Idx)
> - return Attrs[i].Attrs;
> - return ParamAttr::None;
> -}
> -
> -/// hasAttrSomewhere - Return true if the specified attribute is
> set for at
> -/// least one parameter or for the return value.
> -bool PAListPtr::hasAttrSomewhere(ParameterAttributes Attr) const {
> - if (PAList == 0) return false;
> -
> - const SmallVector<ParamAttrsWithIndex, 4> &Attrs = PAList->Attrs;
> - for (unsigned i = 0, e = Attrs.size(); i != e; ++i)
> - if (Attrs[i].Attrs & Attr)
> - return true;
> - return false;
> -}
> -
> -
> -PAListPtr PAListPtr::addAttr(unsigned Idx, ParameterAttributes
> Attrs) const {
> - ParameterAttributes OldAttrs = getParamAttrs(Idx);
> -#ifndef NDEBUG
> - // FIXME it is not obvious how this should work for alignment.
> - // For now, say we can't change a known alignment.
> - ParameterAttributes OldAlign = OldAttrs & ParamAttr::Alignment;
> - ParameterAttributes NewAlign = Attrs & ParamAttr::Alignment;
> - assert((!OldAlign || !NewAlign || OldAlign == NewAlign) &&
> - "Attempt to change alignment!");
> -#endif
> -
> - ParameterAttributes NewAttrs = OldAttrs | Attrs;
> - if (NewAttrs == OldAttrs)
> - return *this;
> -
> - SmallVector<ParamAttrsWithIndex, 8> NewAttrList;
> - if (PAList == 0)
> - NewAttrList.push_back(ParamAttrsWithIndex::get(Idx, Attrs));
> - else {
> - const SmallVector<ParamAttrsWithIndex, 4> &OldAttrList = PAList-
> >Attrs;
> - unsigned i = 0, e = OldAttrList.size();
> - // Copy attributes for arguments before this one.
> - for (; i != e && OldAttrList[i].Index < Idx; ++i)
> - NewAttrList.push_back(OldAttrList[i]);
> -
> - // If there are attributes already at this index, merge them in.
> - if (i != e && OldAttrList[i].Index == Idx) {
> - Attrs |= OldAttrList[i].Attrs;
> - ++i;
> - }
> -
> - NewAttrList.push_back(ParamAttrsWithIndex::get(Idx, Attrs));
> -
> - // Copy attributes for arguments after this one.
> - NewAttrList.insert(NewAttrList.end(),
> - OldAttrList.begin()+i, OldAttrList.end());
> - }
> -
> - return get(&NewAttrList[0], NewAttrList.size());
> -}
> -
> -PAListPtr PAListPtr::removeAttr(unsigned Idx, ParameterAttributes
> Attrs) const {
> -#ifndef NDEBUG
> - // FIXME it is not obvious how this should work for alignment.
> - // For now, say we can't pass in alignment, which no current use
> does.
> - assert(!(Attrs & ParamAttr::Alignment) && "Attempt to exclude
> alignment!");
> -#endif
> - if (PAList == 0) return PAListPtr();
> -
> - ParameterAttributes OldAttrs = getParamAttrs(Idx);
> - ParameterAttributes NewAttrs = OldAttrs & ~Attrs;
> - if (NewAttrs == OldAttrs)
> - return *this;
> -
> - SmallVector<ParamAttrsWithIndex, 8> NewAttrList;
> - const SmallVector<ParamAttrsWithIndex, 4> &OldAttrList = PAList-
> >Attrs;
> - unsigned i = 0, e = OldAttrList.size();
> -
> - // Copy attributes for arguments before this one.
> - for (; i != e && OldAttrList[i].Index < Idx; ++i)
> - NewAttrList.push_back(OldAttrList[i]);
> -
> - // If there are attributes already at this index, merge them in.
> - assert(OldAttrList[i].Index == Idx && "Attribute isn't set?");
> - Attrs = OldAttrList[i].Attrs & ~Attrs;
> - ++i;
> - if (Attrs) // If any attributes left for this parameter, add them.
> - NewAttrList.push_back(ParamAttrsWithIndex::get(Idx, Attrs));
> -
> - // Copy attributes for arguments after this one.
> - NewAttrList.insert(NewAttrList.end(),
> - OldAttrList.begin()+i, OldAttrList.end());
> -
> - return get(&NewAttrList[0], NewAttrList.size());
> -}
> -
> -void PAListPtr::dump() const {
> - cerr << "PAL[ ";
> - for (unsigned i = 0; i < getNumSlots(); ++i) {
> - const ParamAttrsWithIndex &PAWI = getSlot(i);
> - cerr << "{" << PAWI.Index << "," << PAWI.Attrs << "} ";
> - }
> -
> - cerr << "]\n";
> -}
>
> Modified: llvm/trunk/lib/VMCore/Verifier.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Verifier.cpp?rev=56513&r1=56512&r2=56513&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/VMCore/Verifier.cpp (original)
> +++ llvm/trunk/lib/VMCore/Verifier.cpp Tue Sep 23 18:03:40 2008
> @@ -268,7 +268,7 @@
> void VerifyCallSite(CallSite CS);
> void VerifyIntrinsicPrototype(Intrinsic::ID ID, Function *F,
> unsigned Count, ...);
> - void VerifyAttrs(ParameterAttributes Attrs, const Type *Ty,
> + void VerifyAttrs(Attributes Attrs, const Type *Ty,
> bool isReturnValue, const Value *V);
> void VerifyFunctionAttrs(const FunctionType *FT, const PAListPtr
> &Attrs,
> const Value *V);
> @@ -406,33 +406,33 @@
>
> // VerifyAttrs - Check the given parameter attributes for an
> argument or return
> // value of the specified type. The value V is printed in error
> messages.
> -void Verifier::VerifyAttrs(ParameterAttributes Attrs, const Type *Ty,
> +void Verifier::VerifyAttrs(Attributes Attrs, const Type *Ty,
> bool isReturnValue, const Value *V) {
> if (Attrs == ParamAttr::None)
> return;
>
> if (isReturnValue) {
> - ParameterAttributes RetI = Attrs & ParamAttr::ParameterOnly;
> + Attributes RetI = Attrs & ParamAttr::ParameterOnly;
> Assert1(!RetI, "Attribute " + ParamAttr::getAsString(RetI) +
> " does not apply to return values!", V);
> } else {
> - ParameterAttributes ParmI = Attrs & ParamAttr::ReturnOnly;
> + Attributes ParmI = Attrs & ParamAttr::ReturnOnly;
> Assert1(!ParmI, "Attribute " + ParamAttr::getAsString(ParmI) +
> " only applies to return values!", V);
> }
>
> for (unsigned i = 0;
> i < array_lengthof(ParamAttr::MutuallyIncompatible); ++i) {
> - ParameterAttributes MutI = Attrs &
> ParamAttr::MutuallyIncompatible[i];
> + Attributes MutI = Attrs & ParamAttr::MutuallyIncompatible[i];
> Assert1(!(MutI & (MutI - 1)), "Attributes " +
> ParamAttr::getAsString(MutI) + " are incompatible!", V);
> }
>
> - ParameterAttributes TypeI = Attrs &
> ParamAttr::typeIncompatible(Ty);
> + Attributes TypeI = Attrs & ParamAttr::typeIncompatible(Ty);
> Assert1(!TypeI, "Wrong type for attribute " +
> ParamAttr::getAsString(TypeI), V);
>
> - ParameterAttributes ByValI = Attrs & ParamAttr::ByVal;
> + Attributes ByValI = Attrs & ParamAttr::ByVal;
> if (const PointerType *PTy = dyn_cast<PointerType>(Ty)) {
> Assert1(!ByValI || PTy->getElementType()->isSized(),
> "Attribute " + ParamAttr::getAsString(ByValI) +
> @@ -976,11 +976,11 @@
> if (FTy->isVarArg())
> // Check attributes on the varargs part.
> for (unsigned Idx = 1 + FTy->getNumParams(); Idx <=
> CS.arg_size(); ++Idx) {
> - ParameterAttributes Attr = Attrs.getParamAttrs(Idx);
> + Attributes Attr = Attrs.getParamAttrs(Idx);
>
> VerifyAttrs(Attr, CS.getArgument(Idx-1)->getType(), false, I);
>
> - ParameterAttributes VArgI = Attr &
> ParamAttr::VarArgsIncompatible;
> + Attributes VArgI = Attr & ParamAttr::VarArgsIncompatible;
> Assert1(!VArgI, "Attribute " + ParamAttr::getAsString(VArgI) +
> " cannot be used for vararg call arguments!", I);
> }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list