[llvm] r240113 - IRBuilder: Allow globals to be constructed in a specific address space
Eric Christopher
echristo at gmail.com
Fri Jun 19 07:08:10 PDT 2015
Thanks!
On Fri, Jun 19, 2015, 12:24 AM Tobias Grosser <tobias at grosser.es> wrote:
> On 06/19/2015 04:59 AM, Eric Christopher wrote:
> > Unittest? :)
>
> r240124.
>
> Thanks for paying attention.
>
> Tobias
>
>
> > -eric
> >
> > On Thu, Jun 18, 2015 at 7:19 PM Tobias Grosser <tobias at grosser.es
> > <mailto:tobias at grosser.es>> wrote:
> >
> > Author: grosser
> > Date: Thu Jun 18 21:12:07 2015
> > New Revision: 240113
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=240113&view=rev
> > Log:
> > IRBuilder: Allow globals to be constructed in a specific address
> space
> >
> > Modified:
> > llvm/trunk/include/llvm/IR/IRBuilder.h
> > llvm/trunk/lib/IR/IRBuilder.cpp
> >
> > Modified: llvm/trunk/include/llvm/IR/IRBuilder.h
> > URL:
> >
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/IRBuilder.h?rev=240113&r1=240112&r2=240113&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/include/llvm/IR/IRBuilder.h (original)
> > +++ llvm/trunk/include/llvm/IR/IRBuilder.h Thu Jun 18 21:12:07 2015
> > @@ -245,7 +245,8 @@ public:
> > /// filled in with the null terminated string value specified.
> > The new global
> > /// variable will be marked mergable with any others of the same
> > contents. If
> > /// Name is specified, it is the name of the global variable
> > created.
> > - GlobalVariable *CreateGlobalString(StringRef Str, const Twine
> > &Name = "");
> > + GlobalVariable *CreateGlobalString(StringRef Str, const Twine
> > &Name = "",
> > + unsigned AddressSpace = 0);
> >
> > /// \brief Get a constant value representing either true or
> false.
> > ConstantInt *getInt1(bool V) {
> > @@ -1191,8 +1192,9 @@ public:
> >
> > /// \brief Same as CreateGlobalString, but return a pointer with
> > "i8*" type
> > /// instead of a pointer to array of i8.
> > - Value *CreateGlobalStringPtr(StringRef Str, const Twine &Name =
> "") {
> > - GlobalVariable *gv = CreateGlobalString(Str, Name);
> > + Value *CreateGlobalStringPtr(StringRef Str, const Twine &Name =
> "",
> > + unsigned AddressSpace = 0) {
> > + GlobalVariable *gv = CreateGlobalString(Str, Name,
> AddressSpace);
> > Value *zero = ConstantInt::get(Type::getInt32Ty(Context), 0);
> > Value *Args[] = { zero, zero };
> > return CreateInBoundsGEP(gv->getValueType(), gv, Args, Name);
> >
> > Modified: llvm/trunk/lib/IR/IRBuilder.cpp
> > URL:
> >
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/IRBuilder.cpp?rev=240113&r1=240112&r2=240113&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/lib/IR/IRBuilder.cpp (original)
> > +++ llvm/trunk/lib/IR/IRBuilder.cpp Thu Jun 18 21:12:07 2015
> > @@ -25,13 +25,15 @@ using namespace llvm;
> > /// specified. If Name is specified, it is the name of the global
> > variable
> > /// created.
> > GlobalVariable *IRBuilderBase::CreateGlobalString(StringRef Str,
> > - const Twine
> &Name) {
> > + const Twine &Name,
> > + unsigned
> > AddressSpace) {
> > Constant *StrConstant = ConstantDataArray::getString(Context,
> Str);
> > Module &M = *BB->getParent()->getParent();
> > GlobalVariable *GV = new GlobalVariable(M,
> StrConstant->getType(),
> > true,
> > GlobalValue::PrivateLinkage,
> > - StrConstant);
> > - GV->setName(Name);
> > + StrConstant, Name,
> nullptr,
> > +
> > GlobalVariable::NotThreadLocal,
> > + AddressSpace);
> > GV->setUnnamedAddr(true);
> > return GV;
> > }
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150619/6ac5d226/attachment.html>
More information about the llvm-commits
mailing list