diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-04-09 15:01:12 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-04-09 15:01:12 +0000 |
commit | 4746ecf16eeb5ff920672fdff1c0dd85594437ed (patch) | |
tree | 3325b29641ff0704e69a93a2994446de651e4ea4 /lib/VMCore/Type.cpp | |
parent | efc366263659db05ddc5e14532946cb9213bcdd6 (diff) | |
download | external_llvm-4746ecf16eeb5ff920672fdff1c0dd85594437ed.zip external_llvm-4746ecf16eeb5ff920672fdff1c0dd85594437ed.tar.gz external_llvm-4746ecf16eeb5ff920672fdff1c0dd85594437ed.tar.bz2 |
For PR1146:
* Add ParamAttrList pointers to Function and CallInst.
* Move the implementation of ParamAttrList from Type.cpp to Function.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35818 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Type.cpp')
-rw-r--r-- | lib/VMCore/Type.cpp | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp index 40bcdb2..0e74f2e 100644 --- a/lib/VMCore/Type.cpp +++ b/lib/VMCore/Type.cpp @@ -1121,65 +1121,6 @@ bool FunctionType::isStructReturn() const { return false; } -uint16_t -ParamAttrsList::getParamAttrs(uint16_t Index) const { - unsigned limit = attrs.size(); - for (unsigned i = 0; i < limit; ++i) - if (attrs[i].index == Index) - return attrs[i].attrs; - return NoAttributeSet; -} - - -std::string -ParamAttrsList::getParamAttrsText(uint16_t Attrs) { - std::string Result; - if (Attrs & ZExtAttribute) - Result += "zext "; - if (Attrs & SExtAttribute) - Result += "sext "; - if (Attrs & NoReturnAttribute) - Result += "noreturn "; - if (Attrs & NoUnwindAttribute) - Result += "nounwind "; - if (Attrs & InRegAttribute) - Result += "inreg "; - if (Attrs & StructRetAttribute) - Result += "sret "; - return Result; -} - -void -ParamAttrsList::addAttributes(uint16_t Index, uint16_t Attrs) { - // First, try to replace an existing one - for (unsigned i = 0; i < attrs.size(); ++i) - if (attrs[i].index == Index) { - attrs[i].attrs |= Attrs; - return; - } - - // If not found, add a new one - ParamAttrsWithIndex Val; - Val.attrs = Attrs; - Val.index = Index; - attrs.push_back(Val); -} - -void -ParamAttrsList::removeAttributes(uint16_t Index, uint16_t Attrs) { - // Find the index from which to remove the attributes - for (unsigned i = 0; i < attrs.size(); ++i) - if (attrs[i].index == Index) { - attrs[i].attrs &= ~Attrs; - if (attrs[i].attrs == NoAttributeSet) - attrs.erase(&attrs[i]); - return; - } - - // The index wasn't found above - assert(0 && "Index not found for removeAttributes"); -} - //===----------------------------------------------------------------------===// // Array Type Factory... // |