Displaying 3 results from an estimated 3 matches for "ofastdebug".
Did you mean:
fastdebug
2013 Nov 27
0
[LLVMdev] Disabling certain optimizations at -O1?
...t; that can guide
> pass internal behavior seems like a good plan. I had this in a previous
> compiler I worked on, and it was extremely helpful in producing code
> that was easy to debug.
That's the plan.
If the optimization levels (at least in LLVM) have names, we can
easily make -OFastDebug and -ODebug have the same "debug" flag set,
and so on.
enum OptLevel {
Debug = 1, // Debug Illusion
Speed = 2, // Performance
Space = 4, // Size
Aggressive = 8,
}
-O0 = Debug
-O1 = Debug+Aggressive
-O2 = Speed
-O3 = Speed+Aggressive
-Os = Space
-Oz = Space+Aggressive
Then passe...
2013 Nov 27
2
[LLVMdev] Disabling certain optimizations at -O1?
> AFAIU, it's not OK for -g to affect code generation. I agree with the
> rest of your plan.
That's correct, -g must not affect code generation. This is a
fundamental mantra among debug-info people.
>
>
> On Wed, Nov 27, 2013 at 2:16 PM, Renato Golin <renato.golin at linaro.org>
> wrote:
> > On 27 November 2013 08:43, Evgeniy Stepanov
>
2013 Nov 28
2
[LLVMdev] Disabling certain optimizations at -O1?
...avior seems like a good plan. I had this in a
> previous
> > compiler I worked on, and it was extremely helpful in producing code
> > that was easy to debug.
>
> That's the plan.
>
> If the optimization levels (at least in LLVM) have names, we can
> easily make -OFastDebug and -ODebug have the same "debug" flag set,
> and so on.
>
> enum OptLevel {
> Debug = 1, // Debug Illusion
> Speed = 2, // Performance
> Space = 4, // Size
> Aggressive = 8,
> }
>
> -O0 = Debug
> -O1 = Debug+Aggressive
> -O2 = Speed
> -O3...