Displaying 3 results from an estimated 3 matches for "addunwindtableattr".
2012 Sep 19
0
[LLVMdev] [RFC] Overhauling Attributes
...mment as that seems more immediate:
On Wed, Sep 19, 2012 at 3:25 PM, Bill Wendling <wendling at apple.com> wrote:
> An example syntax could be:
>
> // Building an Attribute
>
> Attributes A;
> A.addAlignAttr(4)
> .addNoUnwindAttr()
> .addStackProtectorAttr()
> .addUnwindTableAttr()
> .addReadNoneAttr();
>
Personally, I would prefer to make the Attributes class be immutable, and
the building happen in a helper. One possible interface would end up
looking like:
Attributes Base = ...;
Attributes A = Attributes::Builder(Base).addNoUnwind()...
2012 Sep 19
8
[LLVMdev] [RFC] Overhauling Attributes
...the clients
changing. It would then expose a very simple predicate interface. Building
attributes for LLVM objects will be done with simple 'add*' methods:
An example syntax could be:
// Building an Attribute
Attributes A;
A.addAlignAttr(4)
.addNoUnwindAttr()
.addStackProtectorAttr()
.addUnwindTableAttr()
.addReadNoneAttr();
// Querying an Attribute
if (!A.hasStackProtector() || A.hasAlign(4))
...
The Attributes class will be expanded in the future to support code generation
and target-specific options. But it won't require a massive rewrite of the
compiler to do so.
The bit-wise opera...
2012 Sep 20
0
[LLVMdev] [RFC] Overhauling Attributes
...e predicate interface. Building
> attributes for LLVM objects will be done with simple 'add*' methods:
>
> An example syntax could be:
>
> // Building an Attribute
>
> Attributes A;
> A.addAlignAttr(4)
> .addNoUnwindAttr()
> .addStackProtectorAttr()
> .addUnwindTableAttr()
> .addReadNoneAttr();
>
> // Querying an Attribute
>
> if (!A.hasStackProtector() || A.hasAlign(4))
> ...
>
> The Attributes class will be expanded in the future to support code generation
> and target-specific options. But it won't require a massive rewrite o...