[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Jian Cai via Phabricator via cfe-commits
jcai19 marked 4 inline comments as done. jcai19 added inline comments. Comment at: llvm/lib/Target/ARM/ARMFastISel.cpp:2418 + bool PushLR = IntrinsicName && + !memcmp(IntrinsicName, "\01__gnu_mcount_nc", sizeof("\01__gnu_mcount_nc")); + unsigned CallOpc =

[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Jian Cai via Phabricator via cfe-commits
jcai19 updated this revision to Diff 213762. jcai19 added a comment. Update based on comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65019/new/ https://reviews.llvm.org/D65019 Files: clang/lib/Basic/Targets/ARM.cpp

[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/ARM/ARMFastISel.cpp:211 unsigned ARMMoveToIntReg(MVT VT, unsigned SrcReg); -unsigned ARMSelectCallOp(bool UseReg); +unsigned ARMSelectCallOp(bool UseReg, bool PushLR = false); unsigned

[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Jian Cai via Phabricator via cfe-commits
jcai19 marked an inline comment as done. jcai19 added inline comments. Comment at: llvm/lib/Target/ARM/ARMFastISel.cpp:211 unsigned ARMMoveToIntReg(MVT VT, unsigned SrcReg); -unsigned ARMSelectCallOp(bool UseReg); +unsigned ARMSelectCallOp(bool UseReg, bool PushLR =

[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Jian Cai via Phabricator via cfe-commits
jcai19 updated this revision to Diff 213748. jcai19 marked 6 inline comments as done. jcai19 added a comment. Update based on comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65019/new/ https://reviews.llvm.org/D65019 Files:

[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks so much for this patch! I look forward to support for `__gnu_mcount` for the arm32 Linux kernel. > What a horrible function. AAPCS? Who cares about that? haha Comment at: llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp:1944 + + //

[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Jian Cai via Phabricator via cfe-commits
jcai19 added a comment. In D65019#1615898 , @efriedma wrote: > > introduce quite some code to the target-independent part of SelectionDAG, > > specifically SelectionDAGBuilder and SelectionDAG classes > > Not sure why you think this would be necessary.

[PATCH] D65019: [ARM] push LR before __gnu_mcount_nc on ARM

2019-08-06 Thread Jian Cai via Phabricator via cfe-commits
jcai19 updated this revision to Diff 213728. jcai19 added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. Introduce a new ARM intrinsic for __gnu_mcount_nc. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65019/new/