Dan
2013-Jul-25 06:16 UTC
[LLVMdev] Clang/LLVM 3.3 unwanted attributes being added: NoFramePointerElim
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?
Reed Kotler
2013-Jul-25 06:35 UTC
[LLVMdev] Clang/LLVM 3.3 unwanted attributes being added: NoFramePointerElim
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? >
Reed Kotler
2013-Jul-25 06:38 UTC
[LLVMdev] Clang/LLVM 3.3 unwanted attributes being added: NoFramePointerElim
Maybe this would be interesting to you: http://llvm.org/viewvc/llvm-project?view=revision&revision=187093 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? >