On Sat, Jul 23, 2011 at 2:36 AM, Garrison Venn <gvenn.cfe.dev at gmail.com> wrote:> Hi Bill, > > Thanks for working on this. > > Is there a reference for the function attribute uwtable, or is it to be defined as > part of this effort?It already exists; there's some limited documentation in the LLVM source, but Rafael apparently forgot to add it to LangRef... -Eli
Hi Eli So I found this in Attributes.h: const Attributes UWTable = 1<<30; ///< Function must be in a unwind ///table What does this mean? In particular what does it mean not to add this as a function attribute to a function? I'm obviously going down the wrong road in my interpretation, as I currently have functions that unwind from, through, and to without using this attribute. Does this have meaning for certain platforms and thus must always be used "just in case"? Thanks in advance Garrison On Jul 23, 2011, at 12:47, Eli Friedman wrote:> On Sat, Jul 23, 2011 at 2:36 AM, Garrison Venn <gvenn.cfe.dev at gmail.com> wrote: >> Hi Bill, >> >> Thanks for working on this. >> >> Is there a reference for the function attribute uwtable, or is it to be defined as >> part of this effort? > > It already exists; there's some limited documentation in the LLVM > source, but Rafael apparently forgot to add it to LangRef... > > -Eli
It seems to be used by the back-ends to generate the correct prolog information (on X86) and to make sure that the exception tables are generated (on ARM). Possibly for others. If you're not using it, you may want to verify that you have the correct EH frame information. You can do this on Darwin with the "dwarfdump --eh-frame ./a.out" command. -bw On Jul 23, 2011, at 11:55 AM, Garrison Venn wrote:> Hi Eli > > So I found this in Attributes.h: > > const Attributes UWTable = 1<<30; ///< Function must be in a unwind > ///table > > What does this mean? In particular what does it mean not to add this as > a function attribute to a function? I'm obviously going down the wrong road in > my interpretation, as I currently have functions that unwind from, through, and to > without using this attribute. Does this have meaning for certain platforms and > thus must always be used "just in case"? > > Thanks in advance > > Garrison > > On Jul 23, 2011, at 12:47, Eli Friedman wrote: > >> On Sat, Jul 23, 2011 at 2:36 AM, Garrison Venn <gvenn.cfe.dev at gmail.com> wrote: >>> Hi Bill, >>> >>> Thanks for working on this. >>> >>> Is there a reference for the function attribute uwtable, or is it to be defined as >>> part of this effort? >> >> It already exists; there's some limited documentation in the LLVM >> source, but Rafael apparently forgot to add it to LangRef... >> >> -Eli >
> It already exists; there's some limited documentation in the LLVM > source, but Rafael apparently forgot to add it to LangRef...Sorry about that. I will patch it.> -EliCheers, Rafael
Thanks Rafael Garrison On Jul 25, 2011, at 11:18, Rafael Ávila de Espíndola wrote:>> It already exists; there's some limited documentation in the LLVM >> source, but Rafael apparently forgot to add it to LangRef... > > Sorry about that. I will patch it. > >> -Eli > > Cheers, > Rafael