[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2022-01-12 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa added a comment. Sorry for the delay. > This change seems like it's done in the wrong layer -- why do we add a > special-case in Clang to emit "={r11},{r11}", instead of fixing LLVM to not > break when given the previously-output "={r11},0"? We were starting out with a test case that

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2021-12-09 Thread James Y Knight via Phabricator via cfe-commits
jyknight added a comment. This change seems like it's done in the wrong layer -- why do we add a special-case in Clang to emit "={r11},{r11}", instead of fixing LLVM to not break when given the previously-output "={r11},0"? Furthermore, since earlyclobber was exempted from this change, doesn't

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2021-11-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a subscriber: nathanchance. nickdesaulniers added a comment. Herald added a subscriber: mstorsjo. @nathanchance reports in https://github.com/ClangBuiltLinux/linux/issues/1512 that // clang x.c register long current_stack_pointer asm("rsp"); void vmcs_set_bits() {

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-21 Thread Jonas Paulsson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG42a82862b625: Reapply [clang] Improve handling of physical registers in inline (authored by jonpa). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-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. Looks great, thanks! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 ___

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-17 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa updated this revision to Diff 298819. jonpa added a comment. Sorry, here's the test case included as well... CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 Files: clang/lib/CodeGen/CGStmt.cpp clang/test/CodeGen/aarch64-inline-asm.c

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added a comment. This revision now requires changes to proceed. Thanks for updating the patch. Please add a test case for the earlyclobber case. In particular, if none of the in-tree tests failed for the initial version of this

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-16 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa updated this revision to Diff 298624. jonpa added a comment. That makes sense... Patch updated to keep the tying of operands for this case of earlyclobber. @nickdesaulniers : Can you see if this patch now passes your builds? CHANGES SINCE LAST ACTION

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-16 Thread Ulrich Weigand via Phabricator via cfe-commits
uweigand added a comment. In D87279#2334510 , @jonpa wrote: > The problem seems to be with a tied earlyclobber operand: > > asm("" : "+"(a)); > > Per the comment in InlineAsm::ConstraintInfo::Parse(), only output can be > earlyclobber. > > I am not

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-16 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa added a comment. The problem seems to be with a tied earlyclobber operand: asm("" : "+"(a)); Per the comment in InlineAsm::ConstraintInfo::Parse(), only output can be earlyclobber. I am not sure if the earlyclobber ('&') should with this patch be removed from the added use of the

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-14 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa reopened this revision. jonpa added a comment. This revision is now accepted and ready to land. Patch temporarily reverted. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. https://bugs.llvm.org/show_bug.cgi?id=47837 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 ___ cfe-commits mailing list

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-13 Thread Jonas Paulsson via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc78da037783b: [clang] Improve handling of physical registers in inline assembly operands. (authored by jonpa). Herald added a project: clang. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-09 Thread Jennifer Yu via Phabricator via cfe-commits
jyu2 accepted this revision. jyu2 added a comment. LGTM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-09 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. This LGTM, but I'm not super well-versed with asm statements to begin with. You should wait a bit for other reviewers to weigh in before landing. CHANGES SINCE LAST ACTION

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-09 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa updated this revision to Diff 297136. jonpa marked an inline comment as done. jonpa added a comment. Updated message string per review. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 Files: clang/lib/CodeGen/CGStmt.cpp

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-08 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2095 +if (!GCCReg.empty() && !PhysRegOutputs.insert(GCCReg).second) + CGM.Error(S.getAsmLoc(), "Multiple outputs to hard register: " + GCCReg); + Diagnostics in Clang are

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-08 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa updated this revision to Diff 296901. jonpa marked an inline comment as done. jonpa added a comment. Updated per review to use SmallSet. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 Files: clang/lib/CodeGen/CGStmt.cpp

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-07 Thread Jennifer Yu via Phabricator via cfe-commits
jyu2 added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2066 + // Keep track of defined physregs. + std::set PhysRegOutputs; + Use llvm::SmallSet? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-07 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2090 +CGM.Error(S.getAsmLoc(), "Multiple outputs to hard register: " + GCCReg); + PhysRegOutputs.insert(GCCReg); +} craig.topper wrote: > Can we get rid of the count call

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-07 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa updated this revision to Diff 296618. jonpa marked an inline comment as done. jonpa added a comment. Updated per review by eliminating the call to 'count'. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 Files:

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-07 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2090 +CGM.Error(S.getAsmLoc(), "Multiple outputs to hard register: " + GCCReg); + PhysRegOutputs.insert(GCCReg); +} Can we get rid of the count call above and just use

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-10-06 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa added reviewers: RKSimon, jyu2, t.p.northover, echristo, dylanmckay, aaron.ballman. jonpa added a comment. Herald added a subscriber: pengfei. Ping! Last chance for anyone to speak up about any objections to committing this... CHANGES SINCE LAST ACTION

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-09-28 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa added a comment. ping! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D87279: [clang] Fix handling of physical registers in inline assembly operands.

2020-09-22 Thread Jonas Paulsson via Phabricator via cfe-commits
jonpa added a comment. ping! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87279/new/ https://reviews.llvm.org/D87279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits