[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-04 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC343824: [COFF, ARM64] Add __getReg intrinsic (authored by mgrang, committed by ). Repository: rC Clang https://reviews.llvm.org/D52838 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CG

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-04 Thread Eli Friedman via Phabricator via cfe-commits
efriedma accepted this revision. efriedma added a comment. This revision is now accepted and ready to land. LGTM https://reviews.llvm.org/D52838 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/c

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-04 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 168371. https://reviews.llvm.org/D52838 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h lib/Sema/SemaChecking.cpp test/CodeGen/arm64-microsoft-intrinsics.c test/Sema/builtins-microsoft-arm64.c Index: t

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-04 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 168368. https://reviews.llvm.org/D52838 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h lib/Sema/SemaChecking.cpp test/CodeGen/arm64-microsoft-intrinsics.c test/Sema/builtins-microsoft-arm64.c Index: t

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-04 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. Needs a testcase for the error message like we have for other intrinsics in test/Sema/builtins-arm64.c . Otherwise LGTM. https://reviews.llvm.org/D52838 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-04 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 168353. https://reviews.llvm.org/D52838 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h lib/Sema/SemaChecking.cpp test/CodeGen/arm64-microsoft-intrinsics.c Index: test/CodeGen/arm64-microsoft-intrinsics

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-04 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added inline comments. Comment at: lib/CodeGen/CGBuiltin.cpp:6589 +std::string Reg = StrVal == "31" ? "sp" : + "x" + std::string(StrVal.c_str()); + Could you just write this as `std::string Reg = Value == 31 ? "sp" : "x" + Value

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-03 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 168192. https://reviews.llvm.org/D52838 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h lib/Sema/SemaChecking.cpp test/CodeGen/arm64-microsoft-intrinsics.c Index: test/CodeGen/arm64-microsoft-intrinsics

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-03 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. read_register only allows reading reserved registers because reading an allocatable register is meaningless (the compiler can store arbitrary data in allocatable registers). The same applies to __getReg; given that, I would assume real code doesn't use anything other

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-03 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added subscribers: efriedma, peter.smith. mstorsjo added a comment. In https://reviews.llvm.org/D52838#1253998, @mgrang wrote: > I have some questions about the behavior of getReg: > > __getReg ultimately invokes getRegisterByName in > http://llvm.org/doxygen/AArch64ISelLowering_8cpp_so

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-03 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. I have some questions about the behavior of getReg: __getReg ultimately invokes AArch64TargetLowering::getRegisterByName in llvm/lib/Target/AArch64/AArch64ISelLowering.cpp. You can __getReg only those registers which appear in the switch-case inside that function. Even t

[PATCH] D52838: [COFF, ARM64] Add __getReg intrinsic

2018-10-03 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, mstorsjo, compnerd, TomTan, haripul. Herald added a reviewer: javed.absar. Herald added subscribers: chrib, kristof.beyls. Repository: rC Clang https://reviews.llvm.org/D52838 Files: include/clang/Basic/BuiltinsAArch64.def lib/Code