[LLVMdev] Arbitrary bit width integers
Reid Spencer
rspencer at reidspencer.com
Mon Jun 18 11:00:35 PDT 2007
Sandro Magi wrote:
>Where does the storage for large bit width integers come from? Are
>very large numbers heap allocated?
>
>
The ConstantInt class stores integer values. Large or not they are
stored using an APInt object. APInt (lib/Support/APInt.cpp) uses an
array of uint64_t if more than two are needed or an inline uint64_t in
the APInt object. So, yes, they are heap allocated. This is for
compile time constants. At run time, the back ends don't support
anything over 128bits (currently), except lli in interpreter mode. The
interpreter uses APInt instances to compute all integer operations
(including very large numbers).
Reid
>Sandro
>_______________________________________________
>LLVM Developers mailing list
>LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
More information about the llvm-dev
mailing list