Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

bbn (Luofan Chen)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 3 2020, 7:03 PM (186 w, 3 d)

Recent Activity

Aug 28 2020

bbn added inline comments to D86696: [Attributor][WIP] Introduce Loop AA.
Aug 28 2020, 9:01 AM · Restricted Project
bbn added inline comments to D86696: [Attributor][WIP] Introduce Loop AA.
Aug 28 2020, 8:19 AM · Restricted Project

Aug 27 2020

bbn added a comment to D86696: [Attributor][WIP] Introduce Loop AA.

I am still working on this, tests will be added later.

Aug 27 2020, 4:35 AM · Restricted Project
bbn requested review of D86696: [Attributor][WIP] Introduce Loop AA.
Aug 27 2020, 4:35 AM · Restricted Project

Aug 15 2020

bbn committed rG266949b2bc0c: [Attributor][NFC] Format code (authored by bbn).
[Attributor][NFC] Format code
Aug 15 2020, 9:03 AM
bbn committed rGb7448a348bb8: [Attributor][NFC] Use indexes instead of iterator (authored by bbn).
[Attributor][NFC] Use indexes instead of iterator
Aug 15 2020, 8:12 AM
bbn committed rG87a85f3d57f5: [Attributor] Use internalized version of non-exact functions (authored by bbn).
[Attributor] Use internalized version of non-exact functions
Aug 15 2020, 5:24 AM
bbn closed D84167: [Attributor] Use internalized version of non-exact functions.
Aug 15 2020, 5:24 AM · Restricted Project

Aug 13 2020

bbn updated the diff for D84167: [Attributor] Use internalized version of non-exact functions.
Aug 13 2020, 8:34 PM · Restricted Project

Aug 1 2020

bbn committed rGfa30adecc766: [Attributor][NFC] Update description for the dependency graph (authored by bbn).
[Attributor][NFC] Update description for the dependency graph
Aug 1 2020, 6:27 AM
bbn closed D85065: [Attributor][NFC] Update description for the dependency graph.
Aug 1 2020, 6:27 AM · Restricted Project

Jul 31 2020

bbn requested review of D85065: [Attributor][NFC] Update description for the dependency graph.
Jul 31 2020, 7:21 PM · Restricted Project

Jul 28 2020

bbn committed rG0f62a53db64a: [Attributor] Add override keyword to the print function of AA (authored by bbn).
[Attributor] Add override keyword to the print function of AA
Jul 28 2020, 4:28 AM
bbn committed rG5ee07dc53fca: [Attributor] Track AA dependency using dependency graph (authored by bbn).
[Attributor] Track AA dependency using dependency graph
Jul 28 2020, 3:07 AM
bbn closed D78861: [Attributor] Track AA dependency using dependency graph.
Jul 28 2020, 3:07 AM · Restricted Project

Jul 27 2020

bbn committed rGa7044edde71b: [Attributor] Fix qualifier warning of the unittest (authored by bbn).
[Attributor] Fix qualifier warning of the unittest
Jul 27 2020, 7:29 AM
bbn closed D84532: [Attributor] Fix qualifier warning of the unittest.
Jul 27 2020, 7:29 AM · Restricted Project
bbn updated the diff for D84614: [Attributor][WIP] Cost interface for function internalization.

Changed some function names.

Jul 27 2020, 7:26 AM · Restricted Project
bbn added inline comments to D84614: [Attributor][WIP] Cost interface for function internalization.
Jul 27 2020, 7:22 AM · Restricted Project
bbn updated the diff for D84614: [Attributor][WIP] Cost interface for function internalization.
  • Cache the InternalizeCost for every function
Jul 27 2020, 7:18 AM · Restricted Project

Jul 26 2020

bbn added a comment to D84614: [Attributor][WIP] Cost interface for function internalization.

For now the patch only contains the interface and is still WIP. I will update it with more detailed algorithm later.

Jul 26 2020, 8:49 PM · Restricted Project
Herald added a project to D84614: [Attributor][WIP] Cost interface for function internalization: Restricted Project.
Jul 26 2020, 8:48 PM · Restricted Project
bbn updated the diff for D84532: [Attributor] Fix qualifier warning of the unittest.

remove the cast.

Jul 26 2020, 6:57 PM · Restricted Project
bbn added a comment to D83754: [Attributor] Unittest for Attributor.

I uploaded this patch D84532 to fix it.

Jul 26 2020, 9:52 AM · Restricted Project

Jul 24 2020

bbn updated the diff for D84532: [Attributor] Fix qualifier warning of the unittest.

use C++ cast

Jul 24 2020, 8:41 PM · Restricted Project
bbn updated the diff for D84167: [Attributor] Use internalized version of non-exact functions.
  • Changes as others suggests:
    • Updated description for the command line option
    • Fixed typos
    • Changed the copied function's name from "_copied" to ".internalized"
    • Remove the const qulifier
    • Added 4 run lines of tests
    • Removed the llvm:: for the clone function
Jul 24 2020, 9:18 AM · Restricted Project
Herald added a project to D84532: [Attributor] Fix qualifier warning of the unittest: Restricted Project.
Jul 24 2020, 7:15 AM · Restricted Project

Jul 23 2020

bbn added a comment to D83754: [Attributor] Unittest for Attributor.

Sorry, I will look into it and update soon.

Jul 23 2020, 10:04 PM · Restricted Project

Jul 20 2020

bbn updated the diff for D84167: [Attributor] Use internalized version of non-exact functions.

Minor update to test

Jul 20 2020, 6:01 AM · Restricted Project
Herald added a project to D84167: [Attributor] Use internalized version of non-exact functions: Restricted Project.
Jul 20 2020, 5:55 AM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
Jul 20 2020, 1:56 AM · Restricted Project
bbn reopened D78861: [Attributor] Track AA dependency using dependency graph.
Jul 20 2020, 1:55 AM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.

In previous diff, we use the address of the ID to sort the list of the AAs so that we can print them nicer.
But it seems that in different architectures, the address can be different, which can cause the sequence of
AAs are not deterministic and the test to fail.
So deleted the sorting part and I think now the sequence of AAs printed out should be deterministic, but I
am not sure.

Jul 20 2020, 1:54 AM · Restricted Project

Jul 14 2020

bbn committed rG6db99d18b6bd: Revert "[Attributor] Track AA dependency using dependency graph" (authored by bbn).
Revert "[Attributor] Track AA dependency using dependency graph"
Jul 14 2020, 8:48 PM
bbn added a reverting change for rG8df7af560aeb: [Attributor] Track AA dependency using dependency graph: rG6db99d18b6bd: Revert "[Attributor] Track AA dependency using dependency graph".
Jul 14 2020, 8:48 PM
bbn committed rG8df7af560aeb: [Attributor] Track AA dependency using dependency graph (authored by bbn).
[Attributor] Track AA dependency using dependency graph
Jul 14 2020, 7:40 PM
bbn committed rGe21323a1e9d5: Revert "[Attributor] [WIP] Track AA dependency using dependency graph" (authored by bbn).
Revert "[Attributor] [WIP] Track AA dependency using dependency graph"
Jul 14 2020, 7:37 PM
bbn added a reverting change for rG6b78ed60708b: [Attributor] [WIP] Track AA dependency using dependency graph: rGe21323a1e9d5: Revert "[Attributor] [WIP] Track AA dependency using dependency graph".
Jul 14 2020, 7:37 PM
bbn retitled D78861: [Attributor] Track AA dependency using dependency graph from [Attributor] [WIP] Track AA dependency using dependency graph to [Attributor] Track AA dependency using dependency graph.
Jul 14 2020, 7:33 PM · Restricted Project
bbn committed rG6b78ed60708b: [Attributor] [WIP] Track AA dependency using dependency graph (authored by bbn).
[Attributor] [WIP] Track AA dependency using dependency graph
Jul 14 2020, 7:22 PM
bbn closed D78861: [Attributor] Track AA dependency using dependency graph.
Jul 14 2020, 7:22 PM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
Jul 14 2020, 7:19 PM · Restricted Project
bbn committed rG0750757e80c2: [Attributor] Unittest for Attributor (authored by bbn).
[Attributor] Unittest for Attributor
Jul 14 2020, 7:13 PM
bbn closed D83754: [Attributor] Unittest for Attributor.
Jul 14 2020, 7:13 PM · Restricted Project
bbn committed rG233af8958e0c: [Attributor] Create getter function for the ID of the abstract attribute (authored by bbn).
[Attributor] Create getter function for the ID of the abstract attribute
Jul 14 2020, 6:56 PM
bbn closed D83172: [Attributor] Create getter function for the ID of the abstract attribute.
Jul 14 2020, 6:56 PM · Restricted Project
Herald added a project to D83754: [Attributor] Unittest for Attributor: Restricted Project.
Jul 14 2020, 1:56 AM · Restricted Project
bbn updated the diff for D83172: [Attributor] Create getter function for the ID of the abstract attribute.

Added classof function to allow cast from AbstractAttribute to specific AA

Jul 14 2020, 1:49 AM · Restricted Project

Jul 12 2020

bbn added a comment to D82861: [Attributor] Add AAValueSimplifyCallSiteArgument::manifest.

Take a look at this page: https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access , you need to send an email to Chris to ask for commit access.

Jul 12 2020, 5:00 AM · Restricted Project

Jul 9 2020

bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
Jul 9 2020, 1:26 AM · Restricted Project

Jul 8 2020

bbn added inline comments to D83297: [Attributor][WIP] Attribute scheduling visualization..
Jul 8 2020, 10:03 AM · Restricted Project
bbn added a comment to D83297: [Attributor][WIP] Attribute scheduling visualization..

Can we just merge the dependency graph and the "SchedulingGraph" because I think they are quite similar.

Jul 8 2020, 5:24 AM · Restricted Project

Jul 6 2020

bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
  • Added tests for the dot file
  • other style fixes
Jul 6 2020, 7:39 PM · Restricted Project
bbn added a comment to D78861: [Attributor] Track AA dependency using dependency graph.

This looks pretty good :). Nice active review :)

I have some minor comments below. We also should add a test for the print and dot output.

I need some help here:
Is there a way to test the dot output? I checked the .dot file and found it hard to write CHECK lines (see below) because we are interested in the link between different graph nodes (line 3 and line 4)

Jul 6 2020, 10:09 AM · Restricted Project
bbn updated the diff for D83172: [Attributor] Create getter function for the ID of the abstract attribute.

I think we can create a separate patch for the macro stuff.

Jul 6 2020, 1:31 AM · Restricted Project

Jul 5 2020

bbn added a comment to D83172: [Attributor] Create getter function for the ID of the abstract attribute.

Attributes are going to be decleared outside of the Attributor soon.

Jul 5 2020, 4:47 AM · Restricted Project
bbn added a comment to D83172: [Attributor] Create getter function for the ID of the abstract attribute.

This seems like too much code duplication.
I think we can have a macro to declare getIdAddr and the getName function.
I am curious what other people think about this.

Jul 5 2020, 2:40 AM · Restricted Project
Herald added a reviewer for D83172: [Attributor] Create getter function for the ID of the abstract attribute: sstefan1.
Jul 5 2020, 12:29 AM · Restricted Project

Jul 3 2020

bbn added inline comments to D78861: [Attributor] Track AA dependency using dependency graph.
Jul 3 2020, 2:39 AM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.

Directly declare the dependency graph inside the Attributor struct, instead of a pointer or reference

Jul 3 2020, 1:03 AM · Restricted Project
bbn committed rG01c4574a129e: [Attributor] Create getName() method for abstract attribute (authored by bbn).
[Attributor] Create getName() method for abstract attribute
Jul 3 2020, 12:30 AM
bbn closed D83109: [Attributor] Create getName() method for abstract attribute.
Jul 3 2020, 12:30 AM · Restricted Project

Jul 2 2020

bbn added inline comments to D78861: [Attributor] Track AA dependency using dependency graph.
Jul 2 2020, 11:57 PM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.

Move the synthetic node in to the dependency graph

Jul 2 2020, 10:39 PM · Restricted Project
bbn added inline comments to D78861: [Attributor] Track AA dependency using dependency graph.
Jul 2 2020, 10:39 PM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
  • Use references instead of pointer for the synthetic node
Jul 2 2020, 9:01 PM · Restricted Project
Herald added a reviewer for D83109: [Attributor] Create getName() method for abstract attribute: sstefan1.
Jul 2 2020, 7:57 PM · Restricted Project

Jun 30 2020

bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
  • Added other 4 lines of test
Jun 30 2020, 3:14 AM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
  1. Rebased patch
  2. Replaced the AllAbstractAttributes with the syn node of the dependency graph
  3. Moved getName() function to header file
  4. The classof() function of the AbstractAttribute class simply returns true, because all nodes except for the syn node are of type AbstractAttribute (about classof function)
Jun 30 2020, 2:08 AM · Restricted Project

Jun 22 2020

bbn abandoned D82305: [Attr] Introduce the `nopoison` attribute.

This overlaps with D82316. I believe the attribute defined there is more useful, because we generally need values to be non-poison *and* non-undef to make meaningful optimizations.

Jun 22 2020, 7:52 PM · Restricted Project
bbn created D82305: [Attr] Introduce the `nopoison` attribute.
Jun 22 2020, 8:35 AM · Restricted Project

Jun 21 2020

bbn committed rG10b0539772d5: [Attributor][NFC] Fix indentation (authored by bbn).
[Attributor][NFC] Fix indentation
Jun 21 2020, 1:02 AM
bbn closed D82260: [Attributor][NFC] Fix indentation.
Jun 21 2020, 1:01 AM · Restricted Project

Jun 20 2020

bbn created D82260: [Attributor][NFC] Fix indentation.
Jun 20 2020, 8:58 AM · Restricted Project

Jun 16 2020

bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.

Added missing comments

Jun 16 2020, 3:17 AM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
  • Use AADepGraphNode for dependence tracking and make AbstractAttribute inherent from it (thanks kuter for the advice)
  • Updated testcase
Jun 16 2020, 2:43 AM · Restricted Project

Jun 11 2020

bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
  • Added new printer function for abstract attribute
  • Added getName() function to each abstract attribute which simply gets the name of the AA.
  • Added print() function for dependency graph.
Jun 11 2020, 1:50 AM · Restricted Project

Jun 8 2020

bbn added a comment to D78861: [Attributor] Track AA dependency using dependency graph.

Hi I found out why. Your are dumping attributes after IR cleanup. IR Cleanup deletes the IR values that are no longer needed.
But they are still referenced by the Attributes.

if you look at D81022, which will be merged soon.
The dump should happen after `::runTillFixpoint().

Jun 8 2020, 6:50 PM · Restricted Project
bbn added a comment to D78861: [Attributor] Track AA dependency using dependency graph.

This does not compile for me. The compiler error that I get is about creating a GraphTraits specialization outside of the llvm namespace.
When i put the GraphTraits in llvm namespace it does compile.

Jun 8 2020, 6:50 PM · Restricted Project

Jun 6 2020

bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
  • Use AbstractAttribute directly as the dependency graph node
  • Added opt options to dump and print the dependency graph
Jun 6 2020, 1:02 AM · Restricted Project

Jun 1 2020

bbn added a comment to D78861: [Attributor] Track AA dependency using dependency graph.

Hi, what is the state of this ?

Hi, I have just started my work on this.

Jun 1 2020, 8:33 AM · Restricted Project

Apr 30 2020

bbn added a comment to D78861: [Attributor] Track AA dependency using dependency graph.

Is there a plan to actually use the graph? If not, then the graph shouldn't be built unless there was a request to output it, i think.

Apr 30 2020, 7:00 PM · Restricted Project

Apr 25 2020

bbn created D78861: [Attributor] Track AA dependency using dependency graph.
Apr 25 2020, 5:48 AM · Restricted Project

Apr 1 2020

bbn added a comment to D76404: [Attributor] Deduce attributes for non-exact functions.

Apologies for the delay, can you rebase this and provide me with "Firstname Lastname <email>" from you so I can attribute it to you?

Apr 1 2020, 7:37 PM · Restricted Project
bbn updated the diff for D76404: [Attributor] Deduce attributes for non-exact functions.

Rebased patch.

Apr 1 2020, 7:37 PM · Restricted Project

Mar 20 2020

bbn updated the diff for D76404: [Attributor] Deduce attributes for non-exact functions.
  • added some CHECK-NOT to tests
  • deleted unused statistic
Mar 20 2020, 5:55 PM · Restricted Project
bbn updated the diff for D76404: [Attributor] Deduce attributes for non-exact functions.
  • update tests
Mar 20 2020, 12:30 AM · Restricted Project

Mar 19 2020

bbn added inline comments to D76404: [Attributor] Deduce attributes for non-exact functions.
Mar 19 2020, 9:22 PM · Restricted Project
bbn updated the diff for D76404: [Attributor] Deduce attributes for non-exact functions.
  • Added tests
  • Added noinline attribute to call site to prevent the internal function being inlined
Mar 19 2020, 6:26 AM · Restricted Project

Mar 18 2020

bbn updated the diff for D76404: [Attributor] Deduce attributes for non-exact functions.

Updated createShallowWrapper() function

Mar 18 2020, 8:36 PM · Restricted Project
bbn set the repository for D76404: [Attributor] Deduce attributes for non-exact functions to rG LLVM Github Monorepo.
Mar 18 2020, 8:04 PM · Restricted Project
bbn created D76404: [Attributor] Deduce attributes for non-exact functions.
Mar 18 2020, 8:04 PM · Restricted Project

Mar 6 2020

bbn updated the diff for D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.
  • Added const for InlineableFunctions
  • updated isFunctionIPOAmendable()
Mar 6 2020, 11:29 PM · Restricted Project, Restricted Project
bbn updated the diff for D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.

Created a helper function in Attributor which determines whether the function is IPO amendable and replaced hasExactDefinition with this helper function.

Mar 6 2020, 8:54 PM · Restricted Project, Restricted Project
bbn updated the diff for D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.

Move InlineableFunctions set to InfoCache

Mar 6 2020, 5:31 AM · Restricted Project, Restricted Project

Mar 5 2020

bbn added inline comments to D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.
Mar 5 2020, 7:39 PM · Restricted Project, Restricted Project
bbn updated the diff for D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.
  1. Use InlineableFunctions ptr set to track functions that can be inlined
  2. As the ptr set is a private variable for Attributor, so in AA.initialize(), we cannot determine if the inexactly defined function can be inlined or not, so all inexactly defined functions that have alwayinline attribute will keep its state unchanged (just return from the function)
  3. In CreateAAFor function, search the ptr set for the function, if the function has alwayinline attribute but cannot be inlined, we cannot analyze it (indicatePessimisticFixpoint)
Mar 5 2020, 7:39 PM · Restricted Project, Restricted Project

Mar 4 2020

bbn updated the diff for D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.

I have fixed the problem that FnScope may be null and cached the result of isInlineViable. I have also updated my test file to check the attributes.

Mar 4 2020, 7:35 PM · Restricted Project, Restricted Project
bbn added inline comments to D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.
Mar 4 2020, 5:39 AM · Restricted Project, Restricted Project

Mar 3 2020

bbn created D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.
Mar 3 2020, 7:37 PM · Restricted Project, Restricted Project