[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Erich Keane via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL291041: Correct Vectorcall Register passing and HVA Behavior (authored by erichkeane). Changed prior to commit: https://reviews.llvm.org/D27529?vs=83116&id=83164#toc Repository: rL LLVM https://revi

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Reid Kleckner via Phabricator via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm, thanks! https://reviews.llvm.org/D27529 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cf

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 83116. erichkeane added a comment. Refactor per @rnk s suggestion. https://reviews.llvm.org/D27529 Files: lib/CodeGen/TargetInfo.cpp test/CodeGen/vectorcall.c test/CodeGenCXX/homogeneous-aggregates.cpp Index: lib/CodeGen/TargetInfo.cpp ===

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked 2 inline comments as done. erichkeane added a comment. Good idea, building now! https://reviews.llvm.org/D27529 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. Last thing, I promise. Comment at: lib/CodeGen/TargetInfo.cpp:1678 bool UsedInAlloca = false; - for (auto &I : FI.arguments()) { -I.info = classifyArgumentType(I.type, State); -UsedInAlloca |= (I.info.getKind() == ABIArgInfo::InAlloca); + if (S

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 83092. erichkeane marked an inline comment as done. erichkeane added a comment. Reid's comments https://reviews.llvm.org/D27529 Files: lib/CodeGen/TargetInfo.cpp test/CodeGen/vectorcall.c test/CodeGenCXX/homogeneous-aggregates.cpp Index: lib/CodeG

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked 3 inline comments as done. erichkeane added a comment. patch incoming Comment at: include/clang/CodeGen/CGFunctionInfo.h:139 +AI.setInReg(true); +AI.setCanBeFlattened(false); +return AI; rnk wrote: > In the long run, I think ABIArg

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-04 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added inline comments. Comment at: include/clang/CodeGen/CGFunctionInfo.h:136 } + static ABIArgInfo getDirectHva(llvm::Type *T = nullptr) { +auto AI = getDirect(T); Marking HVAs with inreg is an x86-specific convention. Let's move this down to Target

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2017-01-03 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 82887. erichkeane added a comment. Sorry about that, I have no idea how I messed up the process, I must have thought this was a different window. I've updated it with the latest version of this diff that I have which seems to be the one I intended initia

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-27 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. I think you uploaded the wrong patch on the last upload, the code looks like it's related to __attribute__((deprecated)) now? https://reviews.llvm.org/D27529 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-11 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. FWIW, the LLVM side of this patch seems to have been committed: https://reviews.llvm.org/D27148 https://reviews.llvm.org/D27529 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailma

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-09 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 80913. erichkeane marked an inline comment as done. erichkeane added a comment. Based on the tests, I was able to track down the 2 locations that stopped working. I've updated them appropriately. It seems though that this Template Decl Instantiation is t

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked 9 inline comments as done. erichkeane added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:3871 +for (auto &I : FI.arguments()) { + if (Count < 6) +I.info = classify(I.type, FreeSSERegs, false, IsVectorCall, IsRegCall);

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread Erich Keane via Phabricator via cfe-commits
erichkeane updated this revision to Diff 80641. erichkeane added a comment. Fixing issues brought up by David. https://reviews.llvm.org/D27529 Files: include/clang/CodeGen/CGFunctionInfo.h lib/CodeGen/TargetInfo.cpp test/CodeGen/vectorcall.c test/CodeGenCXX/homogeneous-aggregates.cpp I

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:3871 +for (auto &I : FI.arguments()) { + if (Count < 6) +I.info = classify(I.type, FreeSSERegs, false, IsVectorCall, IsRegCall); majnemer wrote: > erichkeane wrote: > > majnemer wr

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread David Majnemer via Phabricator via cfe-commits
majnemer added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:3871 +for (auto &I : FI.arguments()) { + if (Count < 6) +I.info = classify(I.type, FreeSSERegs, false, IsVectorCall, IsRegCall); erichkeane wrote: > majnemer wrote: > > majnem

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:1688 +for (auto &I : FI.arguments()) { + if(Count < 6) +I.info = reclassifyHvaArgType(I.type, State, I.info); majnemer wrote: > erichkeane wrote: > > majnemer wrote: > > > F

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread David Majnemer via Phabricator via cfe-commits
majnemer added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:1688 +for (auto &I : FI.arguments()) { + if(Count < 6) +I.info = reclassifyHvaArgType(I.type, State, I.info); erichkeane wrote: > majnemer wrote: > > Formatting. > I don't see

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread Erich Keane via Phabricator via cfe-commits
erichkeane marked an inline comment as done. erichkeane added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:1688 +for (auto &I : FI.arguments()) { + if(Count < 6) +I.info = reclassifyHvaArgType(I.type, State, I.info); majnemer wrote: >

[PATCH] D27529: Correct Vectorcall Register passing and HVA Behavior

2016-12-07 Thread David Majnemer via Phabricator via cfe-commits
majnemer added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:1688 +for (auto &I : FI.arguments()) { + if(Count < 6) +I.info = reclassifyHvaArgType(I.type, State, I.info); Formatting. Comment at: lib/CodeGen/TargetInfo