diff options
author | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2019-01-14 10:55:55 +0000 |
---|---|---|
committer | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2019-01-14 10:55:55 +0000 |
commit | b7cef81fd36c85e52b115b9ed6d1fb92d63781d6 (patch) | |
tree | a5434c1d3839d8a5176c53631c6110b41cc8b55c /llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp | |
parent | d37be4b7797fa5766df77a40d883afcdbc18fc45 (diff) | |
download | llvm-b7cef81fd36c85e52b115b9ed6d1fb92d63781d6.zip llvm-b7cef81fd36c85e52b115b9ed6d1fb92d63781d6.tar.gz llvm-b7cef81fd36c85e52b115b9ed6d1fb92d63781d6.tar.bz2 |
Replace "no-frame-pointer-*" function attributes with "frame-pointer"
Part of the effort to refactoring frame pointer code generation. We used
to use two function attributes "no-frame-pointer-elim" and
"no-frame-pointer-elim-non-leaf" to represent three kinds of frame
pointer usage: (all) frames use frame pointer, (non-leaf) frames use
frame pointer, (none) frame use frame pointer. This CL makes the idea
explicit by using only one enum function attribute "frame-pointer"
Option "-frame-pointer=" replaces "-disable-fp-elim" for tools such as
llc.
"no-frame-pointer-elim" and "no-frame-pointer-elim-non-leaf" are still
supported for easy migration to "frame-pointer".
tests are mostly updated with
// replace command line args ‘-disable-fp-elim=false’ with ‘-frame-pointer=none’
grep -iIrnl '\-disable-fp-elim=false' * | xargs sed -i '' -e "s/-disable-fp-elim=false/-frame-pointer=none/g"
// replace command line args ‘-disable-fp-elim’ with ‘-frame-pointer=all’
grep -iIrnl '\-disable-fp-elim' * | xargs sed -i '' -e "s/-disable-fp-elim/-frame-pointer=all/g"
Patch by Yuanfang Chen (tabloid.adroit)!
Differential Revision: https://reviews.llvm.org/D56351
llvm-svn: 351049
Diffstat (limited to 'llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp b/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp index f0cfa2f..cf78fb5 100644 --- a/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp +++ b/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp @@ -30,12 +30,6 @@ using namespace llvm; TargetFrameLowering::~TargetFrameLowering() = default; -/// The default implementation just looks at attribute "no-frame-pointer-elim". -bool TargetFrameLowering::noFramePointerElim(const MachineFunction &MF) const { - auto Attr = MF.getFunction().getFnAttribute("no-frame-pointer-elim"); - return Attr.getValueAsString() == "true"; -} - bool TargetFrameLowering::enableCalleeSaveSkip(const MachineFunction &MF) const { assert(MF.getFunction().hasFnAttribute(Attribute::NoReturn) && MF.getFunction().hasFnAttribute(Attribute::NoUnwind) && |