Page MenuHomePhabricator
Feed Advanced Search

Sat, Aug 1

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

Fri, Jul 31

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

Tue, Jul 28

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
Tue, Jul 28, 4:28 AM
bbn committed rG5ee07dc53fca: [Attributor] Track AA dependency using dependency graph (authored by bbn).
[Attributor] Track AA dependency using dependency graph
Tue, Jul 28, 3:07 AM
bbn closed D78861: [Attributor] Track AA dependency using dependency graph.
Tue, Jul 28, 3:07 AM · Restricted Project

Mon, Jul 27

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

Changed some function names.

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

Sun, Jul 26

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.

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

remove the cast.

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

I uploaded this patch D84532 to fix it.

Sun, Jul 26, 9:52 AM · Restricted Project

Fri, Jul 24

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

use C++ cast

Fri, Jul 24, 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
Fri, Jul 24, 9:18 AM · Restricted Project
Herald added a project to D84532: [Attributor] Fix qualifier warning of the unittest: Restricted Project.
Fri, Jul 24, 7:15 AM · Restricted Project

Thu, Jul 23

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

Sorry, I will look into it and update soon.

Thu, Jul 23, 10:04 PM · Restricted Project

Mon, Jul 20

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

Minor update to test

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

Mon, Jul 20, 1:54 AM · Restricted Project

Tue, Jul 14

bbn committed rG6db99d18b6bd: Revert "[Attributor] Track AA dependency using dependency graph" (authored by bbn).
Revert "[Attributor] Track AA dependency using dependency graph"
Tue, Jul 14, 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".
Tue, Jul 14, 8:48 PM
bbn committed rG8df7af560aeb: [Attributor] Track AA dependency using dependency graph (authored by bbn).
[Attributor] Track AA dependency using dependency graph
Tue, Jul 14, 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"
Tue, Jul 14, 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".
Tue, Jul 14, 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.
Tue, Jul 14, 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
Tue, Jul 14, 7:22 PM
bbn closed D78861: [Attributor] Track AA dependency using dependency graph.
Tue, Jul 14, 7:22 PM · Restricted Project
bbn updated the diff for D78861: [Attributor] Track AA dependency using dependency graph.
Tue, Jul 14, 7:19 PM · Restricted Project
bbn committed rG0750757e80c2: [Attributor] Unittest for Attributor (authored by bbn).
[Attributor] Unittest for Attributor
Tue, Jul 14, 7:13 PM
bbn closed D83754: [Attributor] Unittest for Attributor.
Tue, Jul 14, 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
Tue, Jul 14, 6:56 PM
bbn closed D83172: [Attributor] Create getter function for the ID of the abstract attribute.
Tue, Jul 14, 6:56 PM · Restricted Project
Herald added a project to D83754: [Attributor] Unittest for Attributor: Restricted Project.
Tue, Jul 14, 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

Tue, Jul 14, 1:49 AM · Restricted Project

Sun, Jul 12

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.

Sun, Jul 12, 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
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
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

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
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

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
bbn added inline comments to D75590: [Attributor] IPO across definition boundary of a function marked alwaysinline.
Mar 4 2020, 5:39 AM · 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