[LLVMdev] Clang/LLVM 3.3 unwanted attributes being added: NoFramePointerElim

Reed Kotler rkotler at mips.com
Wed Jul 24 23:35:25 PDT 2013

With the new attribute system, there are some subtle differences in 
certain cases.

Some things are now are determined by clang and passed to llc whereas 
previously this only could happen if clang/llvm where run as one executable.

But now that same information can be added to attributes and passed to 
llc without you having to add command line parameters for those to llc.

Which compiler are you running?

You are running clang and llc separately?

On 07/24/2013 11:16 PM, Dan wrote:
> Since updating to LLVM 3.3, the system is generating attributes such as:
> attributes #0 = { nounwind "less-precise-fpmad"="false"
> "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true"
> "no-infs-fp-math"="false" "no-nans-fp-math"="false"
> "unsafe-fp-math"="false" "use-soft-float"="false" }
> I've tried to add options.
> I've tracked the code to:
> NoFramePointerElim
> I've seen the description of:
> ./lib/Target/TargetMachine.cpp
>   RESET_OPTION(NoFramePointerElim, "no-frame-pointer-elim");
>    RESET_OPTION(NoFramePointerElimNonLeaf, "no-frame-pointer-elim-non-leaf");
>    RESET_OPTION(LessPreciseFPMADOption, "less-precise-fpmad");
>    RESET_OPTION(UnsafeFPMath, "unsafe-fp-math");
>    RESET_OPTION(NoInfsFPMath, "no-infs-fp-math");
>    RESET_OPTION(NoNaNsFPMath, "no-nans-fp-math");
>    RESET_OPTION(UseSoftFloat, "use-soft-float");
>    RESET_OPTION(DisableTailCalls, "disable-tail-calls");
> I cannot find the code or mechanism to turn off: NoFramePointerElim
> No code generator has these specialized, so this is happening for all targets.
> Any help?

More information about the llvm-dev mailing list