Initial cleanups of the param-attribute code in the bitcode reader/writer.

Rename the PARAMATTR_CODE_ENTRY to PARAMATTR_CODE_ENTRY_OLD. It will be replaced
by another encoding. Keep around the current LLVM attribute encoder/decoder
code, but move it to the bitcode directories so that no one's tempted to use
them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174335 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2013-02-04 23:32:23 +00:00
parent 638c63ccf7
commit f9271ea159
5 changed files with 59 additions and 66 deletions

View File

@@ -345,8 +345,8 @@ class AttrBuilder {
uint64_t StackAlignment;
public:
AttrBuilder() : Alignment(0), StackAlignment(0) {}
explicit AttrBuilder(uint64_t B) : Alignment(0), StackAlignment(0) {
addRawValue(B);
explicit AttrBuilder(uint64_t Val) : Alignment(0), StackAlignment(0) {
addRawValue(Val);
}
AttrBuilder(const Attribute &A) : Alignment(0), StackAlignment(0) {
addAttribute(A);
@@ -433,11 +433,9 @@ public:
return !(*this == B);
}
// FIXME: Remove these.
// FIXME: Remove this in 4.0.
/// \brief Add the raw value to the internal representation.
///
/// N.B. This should be used ONLY for decoding LLVM bitcode!
AttrBuilder &addRawValue(uint64_t Val);
};
@@ -446,18 +444,6 @@ namespace AttributeFuncs {
/// \brief Which attributes cannot be applied to a type.
AttributeSet typeIncompatible(Type *Ty, uint64_t Index);
/// \brief This returns an integer containing an encoding of all the LLVM
/// attributes found in the given attribute bitset. Any change to this encoding
/// is a breaking change to bitcode compatibility.
uint64_t encodeLLVMAttributesForBitcode(AttributeSet Attrs, unsigned Index);
/// \brief This fills an AttrBuilder object with the LLVM attributes that have
/// been decoded from the given integer. This function must stay in sync with
/// 'encodeLLVMAttributesForBitcode'.
/// N.B. This should be used only by the bitcode reader!
void decodeLLVMAttributesForBitcode(LLVMContext &C, AttrBuilder &B,
uint64_t EncodedAttrs);
} // end AttributeFuncs namespace
} // end llvm namespace