Attributes Rewrite

Convert the internal representation of the Attributes class into a pointer to an
opaque object that's uniqued by and stored in the LLVMContext object. The
Attributes class then becomes a thin wrapper around this opaque
object. Eventually, the internal representation will be expanded to include
attributes that represent code generation options, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165917 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2012-10-15 04:46:55 +00:00
parent a239c2e6a7
commit cb3de0bc80
21 changed files with 165 additions and 125 deletions

View File

@ -350,7 +350,7 @@ struct StrToOpt : public LibCallOptimization {
// It would be readonly too, except that it still may write to errno.
Attributes::Builder B;
B.addAttribute(Attributes::NoCapture);
CI->addAttribute(1, Attributes::get(B));
CI->addAttribute(1, Attributes::get(Callee->getContext(), B));
}
return 0;