[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-21 Thread Amir Ayupov via Phabricator via cfe-commits
Amir added a comment. Hi @void, The msvc build is still broken. https://lab.llvm.org/buildbot/#/builders/222/builds/532 In D124836#3528529 , @void wrote: > In D124836#3528521 , @vvereschaka > wrote: > >> got i

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-20 Thread Bill Wendling via Phabricator via cfe-commits
void added a comment. In D124836#3528521 , @vvereschaka wrote: > got it. Yes, looks like it fixed. The test got passed during the last build: > https://lab.llvm.org/buildbot/#/builders/104/builds/7812 > Thank you. I'm sorry for the failure. I thought I

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-20 Thread Vlad Vereschaka via Phabricator via cfe-commits
vvereschaka added a comment. got it. Yes, looks like it fixed. The test got passed during the last build: https://lab.llvm.org/buildbot/#/builders/104/builds/7812 Thank you. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new/ https://reviews

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-20 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In D124836#3528109 , @vvereschaka wrote: > Hi @void , > > the `zero-call-used-regs.ll` test gets failed on > `llvm-clang-x86_64-expensive-checks-ubuntu` builder with the following errors: > > ... > *** Bad machine code: Illega

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-20 Thread Vlad Vereschaka via Phabricator via cfe-commits
vvereschaka added a comment. Hi @void , the `zero-call-used-regs.ll` test gets failed on `llvm-clang-x86_64-expensive-checks-ubuntu` builder with the following errors: ... *** Bad machine code: Illegal physical register for instruction *** - function:all_arg - basic block: %bb.0 ent

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-19 Thread Amir Ayupov via Phabricator via cfe-commits
Amir added a comment. Looks like this commit breaks msvc build: https://lab.llvm.org/buildbot/#/builders/222/builds/532 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new/ https://reviews.llvm.org/D124836 ___

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-19 Thread Bill Wendling via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG6e00a34cdb49: [AArch64] Add support for -fzero-call-used-regs (authored by void). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-19 Thread Bill Wendling via Phabricator via cfe-commits
void updated this revision to Diff 430858. void added a comment. Last update. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new/ https://reviews.llvm.org/D124836 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/C

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Don't forget to rebase this on top of https://reviews.llvm.org/D125421. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/ne

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-19 Thread Bill Wendling via Phabricator via cfe-commits
void added a comment. Friendly ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new/ https://reviews.llvm.org/D124836 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-11 Thread Bill Wendling via Phabricator via cfe-commits
void added a comment. In D124836#3507354 , @nickdesaulniers wrote: > In D124836#3507268 , @void wrote: > >> I'll split off the TableGen changes into a separate patch. It will supersede >> those changes here, so

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D124836#3507268 , @void wrote: > I'll split off the TableGen changes into a separate patch. It will supersede > those changes here, so it shouldn't delay other reviews here. :-) I'm referring to the changes to llvm/ut

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-11 Thread Bill Wendling via Phabricator via cfe-commits
void added a comment. I'll split off the TableGen changes into a separate patch. It will supersede those changes here, so it shouldn't delay other reviews here. :-) Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:798 + + if (STI.hasSVE()) { +for (MCRegister P

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-11 Thread Bill Wendling via Phabricator via cfe-commits
void updated this revision to Diff 428764. void marked 4 inline comments as done. void added a comment. Fix think-o use of HasSVE. Use `--check-prefixes` in the testcase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new/ https://reviews.llv

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-11 Thread Peter Waller via Phabricator via cfe-commits
peterwaller-arm added inline comments. Comment at: llvm/test/CodeGen/AArch64/zero-call-used-regs.ll:259-262 +; SVE-NEXT:pfalse p0.b +; SVE-NEXT:pfalse p1.b +; SVE-NEXT:pfalse p2.b +; SVE-NEXT:pfalse p3.b nickdesaulniers wrote: > N00b question abou

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I still think this would be easier to review if the `isArgumentRegister` tablegen changes were separated out into a distinct parent patch and then the existing x86 implementation updated to use, then this would rebased on top of as a child patch.

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-09 Thread Bill Wendling via Phabricator via cfe-commits
void updated this revision to Diff 428218. void added a comment. - Used lists of argument registers generated from AArch64CallingConv.td. - Add more tests for floating point and SVE. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new/ https:/

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-09 Thread Bill Wendling via Phabricator via cfe-commits
void added a comment. @peterwaller-arm @sdesmalen Could you comment on what is considered the canonical way to zero Arm registers? Is `mov x1, #0` the way or `mov x1, xzr` or some other way? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-09 Thread Bill Wendling via Phabricator via cfe-commits
void added inline comments. Comment at: llvm/test/CodeGen/AArch64/zero-call-used-regs.ll:233 + +attributes #0 = { mustprogress nofree norecurse nosync nounwind readnone willreturn uwtable "frame-pointer"="non-leaf" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-p

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-09 Thread Peter Waller via Phabricator via cfe-commits
peterwaller-arm added inline comments. Comment at: llvm/test/CodeGen/AArch64/zero-call-used-regs.ll:233 + +attributes #0 = { mustprogress nofree norecurse nosync nounwind readnone willreturn uwtable "frame-pointer"="non-leaf" "min-legal-vector-width"="0" "no-trapping-math"="tru

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-08 Thread Bill Wendling via Phabricator via cfe-commits
void updated this revision to Diff 427909. void added a comment. - Support SVE registers. - Initial feature to gather argument registers from the *CallingConv.td files. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124836/new/ https://reviews.llvm.

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-07 Thread Bill Wendling via Phabricator via cfe-commits
void added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:682 +// The called routine is expected to preserve r19-r28 +// r29 and r30 are used as frame pointer and link register resp. +return 0; nickdesaulniers wrote: > W

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-04 Thread Bill Wendling via Phabricator via cfe-commits
void added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64RegisterInfo.td:1398 + (sequence "W%u", 0, 7))>; +def FPR8_ARG : RegisterClass<"AArch64", [untyped], 8, (trunc FPR8, 7)> { + let Size = 8; sdesmalen wrote: > S

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-04 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64RegisterInfo.td:1398 + (sequence "W%u", 0, 7))>; +def FPR8_ARG : RegisterClass<"AArch64", [untyped], 8, (trunc FPR8, 7)> { + let Size = 8; Should this fea

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-04 Thread Peter Waller via Phabricator via cfe-commits
peterwaller-arm added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:752 +#undef CASE + } +} void wrote: > kristof.beyls wrote: > > Just a drive-by comment: I'm wondering if SVE registers should also be > > listed here? > I'm not

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-03 Thread Bill Wendling via Phabricator via cfe-commits
void added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:752 +#undef CASE + } +} kristof.beyls wrote: > Just a drive-by comment: I'm wondering if SVE registers should also be listed > here? I'm not familiar with the SVE registers

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-03 Thread Bill Wendling via Phabricator via cfe-commits
void added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:776-778 + // For GPRs, we only care to clear out the 64-bit register. + if (MCRegister XReg = getRegisterOrZero(Reg)) +GPRsToZero.set(XReg); nickdesaulniers

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:776-778 + // For GPRs, we only care to clear out the 64-bit register. + if (MCRegister XReg = getRegisterOrZero(Reg)) +GPRsToZero.set(XReg); nick

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:682 +// The called routine is expected to preserve r19-r28 +// r29 and r30 are used as frame pointer and link register resp. +return 0; What happens if

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-03 Thread Kristof Beyls via Phabricator via cfe-commits
kristof.beyls added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:752 +#undef CASE + } +} Just a drive-by comment: I'm wondering if SVE registers should also be listed here? Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D124836: [AArch64] Add support for -fzero-call-used-regs

2022-05-03 Thread Bill Wendling via Phabricator via cfe-commits
void created this revision. void added reviewers: nickdesaulniers, danielkiss, MaskRay. Herald added subscribers: StephenFan, pengfei, hiraditya, kristof.beyls. Herald added a project: All. void requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-co