Page MenuHomePhabricator

haberman (Josh Haberman)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 18 2021, 10:53 AM (4 w, 3 d)

Recent Activity

Wed, Apr 14

haberman added a comment to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..

Ok I think this is ready to land.

Wed, Apr 14, 6:20 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Fixed typo in comment.
Wed, Apr 14, 6:15 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Fixed several cases in CodeGen test.
Wed, Apr 14, 5:57 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Fixed release note escaping.
Wed, Apr 14, 5:35 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Added release note for [[clang::musttail]].
Wed, Apr 14, 5:33 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • More diagnostic wordsmithing.
Wed, Apr 14, 4:59 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Word-smithed diagnostics and addressed other review comments.
Wed, Apr 14, 3:59 PM · Restricted Project

Tue, Apr 13

haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Tue, Apr 13, 4:20 PM · Restricted Project
haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Tue, Apr 13, 1:47 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Addressed more review comments.
Tue, Apr 13, 1:46 PM · Restricted Project

Mon, Apr 12

haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Mon, Apr 12, 10:42 AM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Switch to isa<> for type check.
  • Merge branch 'main' into musttail
Mon, Apr 12, 10:41 AM · Restricted Project

Fri, Apr 9

haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Fri, Apr 9, 10:27 AM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Simplified some casts and type declarations.
Fri, Apr 9, 10:27 AM · Restricted Project

Thu, Apr 8

haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Rename and refine IgnoreElidableImplicitConstructorSingleStep().
Thu, Apr 8, 10:32 PM · Restricted Project
haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Thu, Apr 8, 9:26 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Refined the implicit constructor skipping code.
Thu, Apr 8, 9:26 PM · Restricted Project
haberman updated the diff for D100138: Debug Go attribute test.
  • Added import of fmt.
Thu, Apr 8, 2:04 PM · Restricted Project
haberman requested review of D100138: Debug Go attribute test.
Thu, Apr 8, 2:03 PM · Restricted Project
haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Thu, Apr 8, 1:23 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Formatted files with clang-format.
Thu, Apr 8, 1:12 PM · Restricted Project
haberman added a comment to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..

You should structure this code so it's easy to add exceptions for certain calling conventions that can support tail calls with weaker restrictions (principally, callee-pop conventions). Mostly that probably means checking the calling convention first, or extracting the type restriction checks into a different function that you can skip. For example, I believe x86's fastcall convention can logically support any combination of prototypes as musttail as long as the return types are vaguely compatible.

Thu, Apr 8, 9:47 AM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Moved calling convention check to happen as early as possible.
Thu, Apr 8, 9:44 AM · Restricted Project
haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Thu, Apr 8, 9:15 AM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Factored duplicated code into a method on MustTailAttr.
Thu, Apr 8, 9:08 AM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Added FIXME for attribute refactoring.
Thu, Apr 8, 8:39 AM · Restricted Project

Wed, Apr 7

haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Wed, Apr 7, 10:45 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Returned validation to ActOnAttributedStmt() so it works with templates.
  • Merge branch 'main' into musttail
  • Address more review comments.
Wed, Apr 7, 10:42 PM · Restricted Project

Mon, Apr 5

haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Mon, Apr 5, 3:30 PM · Restricted Project
haberman added inline comments to D99896: Rework the way statement attributes are processed; NFC.
Mon, Apr 5, 3:02 PM · Restricted Project
haberman added inline comments to D99896: Rework the way statement attributes are processed; NFC.
Mon, Apr 5, 1:41 PM · Restricted Project

Sun, Apr 4

haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Sun, Apr 4, 10:31 AM · Restricted Project

Sat, Apr 3

haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Sat, Apr 3, 1:41 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Added missing S.setFunctionHasMustTail().
Sat, Apr 3, 1:39 PM · Restricted Project
haberman added inline comments to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Sat, Apr 3, 1:15 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Addressed comments and tried moving check to SemaStmtAttr.cpp.
Sat, Apr 3, 1:14 PM · Restricted Project

Fri, Apr 2

haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Fixed unit test by running opt in a separate invocation.
  • Formatting fixes.
Fri, Apr 2, 10:28 AM · Restricted Project

Thu, Apr 1

haberman added a comment to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..

I added tests for all the cases you mentioned. PTAL.

Thu, Apr 1, 9:14 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Addressed more comments for musttail.
  • Reject constructors and destructors from musttail.
  • Fixed a few bugs and fixed the tests.
  • Added Obj-C test.
Thu, Apr 1, 9:14 PM · Restricted Project

Wed, Mar 31

haberman added a comment to D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..

I addressed nearly all of the comments. I have just a few more test cases to add: Obj-C blocks and ARC.

Wed, Mar 31, 3:58 PM · Restricted Project
haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Expanded and refined the semantic checks for musttail, per CR feedback.
Wed, Mar 31, 3:56 PM · Restricted Project

Mon, Mar 29

haberman updated the diff for D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
  • Updated formatting.
Mon, Mar 29, 9:47 AM · Restricted Project
haberman requested review of D99517: Implemented [[clang::musttail]] attribute for guaranteed tail calls..
Mon, Mar 29, 9:46 AM · Restricted Project

Mon, Mar 22

haberman updated the diff for D98889: [clang] Replaced some manual pointer tagging with llvm::PointerIntPair..

Updated change to reflect all diffs since main.

Mon, Mar 22, 12:59 PM · Restricted Project

Mar 18 2021

haberman added a comment to D98889: [clang] Replaced some manual pointer tagging with llvm::PointerIntPair..

Thanks! Do we need InitializedEntity::getDecl to return a pointer to non-const?

Mar 18 2021, 1:41 PM · Restricted Project
haberman updated the diff for D98889: [clang] Replaced some manual pointer tagging with llvm::PointerIntPair..

Updated comment "the low bit" -> "the integer".

Mar 18 2021, 1:40 PM · Restricted Project
haberman abandoned D98893: Updated comment "the low bit" -> "the integer"..

This was meant to be an update on https://reviews.llvm.org/D98889

Mar 18 2021, 1:39 PM · Restricted Project
haberman requested review of D98893: Updated comment "the low bit" -> "the integer"..
Mar 18 2021, 1:38 PM · Restricted Project
haberman requested review of D98889: [clang] Replaced some manual pointer tagging with llvm::PointerIntPair..
Mar 18 2021, 12:41 PM · Restricted Project