[llvm-commits] [llvm-gcc-4.2] r49253 - /llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
Dale Johannesen
dalej at apple.com
Mon Apr 7 11:37:41 PDT 2008
On Apr 7, 2008, at 12:28 AM, Duncan Sands wrote:
>
> I think we all agree about what the final effect of -funwind-tables
> should
> be. For me the only question is whether -funwind-tables should be
> represented
> in the IR or not, and if so how. My preference goes to an llc
> option. This
> has the disadvantage that you can't control the -funwind-tables
> effect on a
> per-function basis, but based on the Darwin use case you describe
> that isn't
> needed anyway (nor for Ada).
>
>> Now, how do we reconcile this with what Ada does, and what info do we
>> put in the IR to make it happen?
>
> Ada is getting -funwind-tables because it uses -fnon-call-exceptions
> (which
> we don't currently support). I actually don't see why -fnon-call-
> exceptions
> would need -funwind-tables; it will I guess become clear one way or
> another
> when support is added for -fnon-call-exceptions. However Ada also
> has a stack
> traceback facility which uses the dwarf unwinder, and for that to
> work it
> presumably needs -funwind-tables. In short: Ada doesn't seem to
> need anything
> particularly special here, it's basically the same as Darwin.
Ok, good.
It's certainly possible to compile some files with -funwind-tables and
others without.
Unlike exceptions, however, I can't think of a case where this happens
or is useful.
Perhaps an llc flag is good enough; the default should be not to prune
unwinding
info, however, which is conservatively correct. I'll look at that.
More information about the llvm-commits
mailing list