[LLVMdev] about pointer type
John Criswell
criswell at uiuc.edu
Thu Jan 28 07:08:59 PST 2010
winkzhang wrote:
> Dear all,
>
> In the early llvm version, we could use PointerType::get(Type::Int32Ty)) to
> get the pointer type. But in the latest llvm (version 2.6), it doesn't work.
> Compiler says "‘Int32Ty’ is not a member of ‘llvm::Type’".
>
> I've looked the doxygen document, however, I can't find an answer, would you
> please help me? Thanks!
>
To get an int32 pointer type, do the following:
const Type * Int32Type = IntegerType::getInt32Ty(getGlobalContext());
To get a pointer type to it within the default address space, do the
following:
PointerType::getUnqual(Int32Type);
FWIW, types now take a context. getGlobalContext() is a global context
that was added to aid backwards compatibility. It may be better to get
the context from somewhere else (the Module that you're modifying, for
example) so that your code needs less updating when LLVM goes
multi-threaded.
The getUnqual method gets an unqualified pointer type, which places the
pointer within the default address space.
-- John T.
>
> -Wink
>
More information about the llvm-dev
mailing list