search for: globalpointer

Displaying 7 results from an estimated 7 matches for "globalpointer".

2016 Oct 24
3
RFC: Absolute or "fixed address" symbols as immediate operands
...epresentation: here is an alternative > representation based on a suggestion from Eli. > > Introduce a new type of GlobalValue called GlobalConstant. > GlobalConstant would fit into the GlobalValue hierarchy like this: > > * GlobalValue > o GlobalConstant > o GlobalPointer > + GlobalIndirectSymbol > # GlobalAlias > # GlobalIFunc > + GlobalObject > # Function > # GlobalVariable > > GlobalValue would no longer be assumed to be of pointer type. The > getType() overloa...
2016 Oct 25
4
RFC: Absolute or "fixed address" symbols as immediate operands
...> > Going back to IR-level representation: here is an alternative representation based on a suggestion from Eli. > > Introduce a new type of GlobalValue called GlobalConstant. GlobalConstant would fit into the GlobalValue hierarchy like this: > GlobalValue > GlobalConstant > GlobalPointer > GlobalIndirectSymbol > GlobalAlias > GlobalIFunc > GlobalObject > Function > GlobalVariable > GlobalValue would no longer be assumed to be of pointer type. The getType() overload that takes a PointerType, as well as getValueType() would be moved down to GlobalPointer. (A nice...
2016 Oct 25
3
RFC: Absolute or "fixed address" symbols as immediate operands
...ck to IR-level representation: here is an alternative representation based on a suggestion from Eli. >> >> Introduce a new type of GlobalValue called GlobalConstant. GlobalConstant would fit into the GlobalValue hierarchy like this: >> GlobalValue >> GlobalConstant >> GlobalPointer >> GlobalIndirectSymbol >> GlobalAlias >> GlobalIFunc >> GlobalObject >> Function >> GlobalVariable >> GlobalValue would no longer be assumed to be of pointer type. The getType() overload that takes a PointerType, as well as getValueType() would be moved do...
2016 Oct 11
5
RFC: Absolute or "fixed address" symbols as immediate operands
Hi all, I wanted to summarise some discussion on llvm-commits [0,1] as an RFC, as I felt it demanded wider circulation. Our support for references to absolute symbols is not very good. The symbol will be resolved accurately in non-PIC code, but suboptimally: the symbol reference cannot currently appear as the immediate operand of an instruction, and the code generator cannot make any assumptions
2016 Oct 25
2
RFC: Absolute or "fixed address" symbols as immediate operands
...is an alternative >> representation based on a suggestion from Eli. >> >> Introduce a new type of GlobalValue called GlobalConstant. GlobalConstant >> would fit into the GlobalValue hierarchy like this: >> >> GlobalValue >> >> GlobalConstant >> GlobalPointer >> >> GlobalIndirectSymbol >> >> GlobalAlias >> GlobalIFunc >> >> GlobalObject >> >> Function >> GlobalVariable >> >> GlobalValue would no longer be assumed to be of pointer type. The >> getType() overload that takes a Po...
2016 Oct 26
0
RFC: Absolute or "fixed address" symbols as immediate operands
...minating cases where “is a pointer” appears to be true, > but isn’t actually true in all cases. > We'd still be able to have an "is a pointer" invariant, but on a specific subset of globals. In practice I'd expect that a frontend that chooses to make that assumption can use GlobalPointer in place of GlobalValue. > I’m not an expert on CFI or how widely it will ultimately impact the > compiler hacker consciousness, but I’m pretty sure that the current model > for globals and functions will remain more prominent. If you choose to > break this invariant, you’ll be conti...
2016 Oct 26
7
RFC: Absolute or "fixed address" symbols as immediate operands
Responding to both of your emails in one, sorry for the delay: > On Oct 25, 2016, at 11:20 AM, Peter Collingbourne <peter at pcc.me.uk> wrote: > I think there are a couple of additional considerations we should make here: > What are we trying to model? To me it's clear that GlobalConstant is for modelling integers, not pointers. That alone may not necessarily be enough to