Page MenuHomePhabricator

lvoufo (Larisse Voufo)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 19 2013, 7:38 PM (316 w, 5 d)

Recent Activity

Apr 1 2016

lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Syntax change -- in the way that unused variable warnings are disabled.

Apr 1 2016, 2:22 PM
lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Update:
Over the past few weeks, I have been researching how to best benchmark this work, and am finalizing an infrastructure that will help with this and other similar extensions (where existing benchmarks do not cover enough of some given extensions' use case).
I am hoping to use that infrastructure next week or so to crunch some useful data for this discussion.

Apr 1 2016, 7:53 AM
lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Update the patch with respect to API changes in LLVM since the last version. Of particular interest here:

  • The PostDominators API has been restructured as suggested from the last version of this patch, which simplifies this patch.
  • The count of invariant range analysis requests has been restricted to non-trivial requests.
Apr 1 2016, 7:38 AM

Feb 1 2016

lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Some thoughts going through my head... I'm reading through Keith D. Cooper and Linda Torczon's book, "Engineering a Compiler", 10.3.1 [Eliminating Useless Code]; and here are some excerpts:

Feb 1 2016, 1:13 PM

Jan 29 2016

lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

In an effort to keep review comments within code review system, I'm uploading a PDF snapshot of the document arguing for post-dominance analysis at https://docs.google.com/document/d/1R-gINRdpxzLy82EZK_ymnVNyOPO-tzW5ksNcHuRvxBs/edit?usp=sharing here.

Jan 29 2016, 6:55 PM
lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Hello All,

Jan 29 2016, 6:30 PM

Jan 26 2016

lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Why post-dominance analysis? I'm glad you asked. :)
Check out this doc: https://docs.google.com/document/d/1R-gINRdpxzLy82EZK_ymnVNyOPO-tzW5ksNcHuRvxBs/edit?usp=sharing.
Comments welcome.

Jan 26 2016, 11:13 AM

Jan 15 2016

lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

I'm sorry, what is this data comparing? Specifically, what is extended in
clang? Is it just this patch applied?

[Updating my earlier reply in email here -- to make sure it doesn't get lost...]
Yes, what is extended in clang is just this patch applied (i.e., anything named "opt*").
This is comparing build times, execution times, and statistical data from "-mllvm -stats" between the version of clang with this patch applied and a version of clang without the patch (i.e., anything named "cur*).

These comparison data are respectively in the sheets named "Build Clang", "Run Clang" and "Stats [*]".
Just in case, I also generated opt*- and cur*- clang binaries using both clang and gcc.
The sheets named "Stats [Clang]" and "Stats [GCC]" both represent statistical data with clang build clang and gcc.

For run times, I simply ran regression tests. There may be other ways to get better runtime measurements (?). But I thought regression tests could give us something to start with.

I also put some descriptions under the "Legend" sheet. I recognize that this could be clearer. So, please don't hesitate to ask me for any clarification.

Jan 15 2016, 6:07 PM
lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

I'm sorry, what is this data comparing? Specifically, what is extended in
clang? Is it just this patch applied?

Jan 15 2016, 5:46 PM
lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

I hope I addressed all the comments. Let me know if I missed anything.

Jan 15 2016, 4:40 AM

Jan 13 2016

lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Alas, I wanted to address all these comments today, but I ended up being consumed with a bit of data crunching, while building clang with different versions of clang (with and without this patch).
For what it's worth---and my intention was for this to help this ongoing discussion, here are the results:
https://docs.google.com/spreadsheets/d/19W1167l9QFrXMXccX4-cValmC5EtlFfUbT7Tr3xaoJs/edit#gid=1063925865usp=sharing

Jan 13 2016, 9:26 PM

Jan 8 2016

lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Fix typo (resulting in warning) in PostDominators.h

Jan 8 2016, 12:18 PM

Jan 6 2016

lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Note that uses of invariant_start instructions can be other that invariant_end.

Jan 6 2016, 3:25 PM

Jan 5 2016

lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Ensure invariant info is properly shared between multiple passes, e.g., GVN and basic AA, or -On.

Jan 5 2016, 3:05 AM

Dec 23 2015

lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

I will be running benchmarks over next week and keep you posted. For now, I just want to see if this is headed in the right direction... Please let me know what you think.

Dec 23 2015, 5:40 PM

Dec 17 2015

lvoufo updated subscribers of D12676: Ensure a complete post-dominance tree is built in the presence of unreachables.
Dec 17 2015, 5:59 AM

Dec 10 2015

lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

"(2) -gvn already requires -basicaa. So, -basicaa would be redundant in
'-basicaa -gvn'. I could add it for clarity if you prefer.
"
-gvn does not require -basicaa.
You've stated this a few times, and i'm not sure why you think this.

<from GVN>:

void getAnalysisUsage(AnalysisUsage &AU) const override {
      AU.addRequired<AssumptionCacheTracker>();
      AU.addRequired<DominatorTreeWrapperPass>();
      AU.addRequired<TargetLibraryInfoWrapperPass>();
      if (!NoLoads)
        AU.addRequired<MemoryDependenceAnalysis>();
      AU.addRequired<AAResultsWrapperPass>();

}

GVN requires AC, DominatorTree, and TLI all the time.
It uses AA results, which is "whatever aa you have enabled".
It requires memorydependence if you want to optimize loads.
Memory dependence, in turn, does not require basicaa either:

void MemoryDependenceAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {

  AU.setPreservesAll();
  AU.addRequired<AssumptionCacheTracker>();
  AU.addRequiredTransitive<AAResultsWrapperPass>();
  AU.addRequiredTransitive<TargetLibraryInfoWrapperPass>();
}

No passes *require* basicaa, because basicaa is an optional pass providing
AA results.

Dec 10 2015, 11:27 AM

Dec 9 2015

lvoufo added a comment to D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables..

To summarize my thoughts after these comments, this is an analysis that should be kept outside of -globalopt, since it does not affect the logic of -globalopt at all... So, I'm working on that.

Dec 9 2015, 9:43 AM
lvoufo added inline comments to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].
Dec 9 2015, 9:33 AM
lvoufo added inline comments to D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables..
Dec 9 2015, 9:21 AM
lvoufo added inline comments to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].
Dec 9 2015, 9:10 AM
lvoufo added inline comments to D13606: [Introduction] Redundant load reduction with invariant intrinsics.
Dec 9 2015, 3:20 AM

Dec 8 2015

lvoufo added inline comments to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].
Dec 8 2015, 3:14 PM
lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

For the time being, it seems more effective to take the current approach. But perhaps I am missing something about LLVM's print analyses... I am also going from this notion that test cases are about confidence more than completeness. So, it is perfectly okay to center them around specific use cases showing the end results of the print messages (i.e. load removal) rather than the print messages themselves(?).

What I'm proposing is to make this analysis pass runnable via opt. Kind of like the other analyses in lib/Analysis. So, we could run, for instance, 'opt -invariant-info-marker file.ll' and it would print the invariant ranges in file.ll. From this we can then create tests specifically for the pass, without having to go through another pass.

Dec 8 2015, 3:03 PM
lvoufo added inline comments to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].
Dec 8 2015, 2:47 PM
lvoufo updated the diff for D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables..
Dec 8 2015, 2:05 PM

Dec 4 2015

lvoufo added inline comments to D13606: [Introduction] Redundant load reduction with invariant intrinsics.
Dec 4 2015, 5:52 PM
lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

Update patch based feedback.

Dec 4 2015, 2:36 PM
lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

pushing in revised patch soon...

Dec 4 2015, 1:20 PM
lvoufo added a comment to D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].

I've just started looking at this, so these first few comments are mostly for my benefit to make sure I'm understanding this.

Would it make sense to have tests that are purely around the InvariantInfo analysis? This patch adds a user in AA and the test is on AA. But if the analysis were to print its findings, we could have a test that simply checks that the analysis figures out what we are expecting without involving AA.

Dec 4 2015, 1:18 PM

Dec 1 2015

lvoufo updated the diff for D15136: Adapt the use of @llvm.invariant.start/end intrinsics for load elimination purposes from -gvn to -instcombine.

Fix patch.

Dec 1 2015, 6:30 PM
lvoufo updated the diff for D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables..

Fix typo in patch.

Dec 1 2015, 6:24 PM
lvoufo added a parent revision for D15136: Adapt the use of @llvm.invariant.start/end intrinsics for load elimination purposes from -gvn to -instcombine: D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables..
Dec 1 2015, 6:20 PM
lvoufo added a child revision for D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables.: D15136: Adapt the use of @llvm.invariant.start/end intrinsics for load elimination purposes from -gvn to -instcombine.
Dec 1 2015, 6:20 PM
lvoufo retitled D15136: Adapt the use of @llvm.invariant.start/end intrinsics for load elimination purposes from -gvn to -instcombine from to Adapt the use of @llvm.invariant.start/end intrinsics for load elimination purposes from -gvn to -instcombine.
Dec 1 2015, 6:19 PM
lvoufo added a child revision for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only]: D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables..
Dec 1 2015, 5:00 PM
lvoufo added a parent revision for D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables.: D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].
Dec 1 2015, 5:00 PM
lvoufo retitled D15135: Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables. from to Extend the use of @llvm.invariant.start/end intrinsics for GVN-based load elimination purposes to also handle global variables..
Dec 1 2015, 5:00 PM
lvoufo retitled D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only] from Use @llvm.invariant.start/end intrinsics to extend the meaning of basic AA's pointsToConstantMemory(), for GVN-based load elimination purposes to Use @llvm.invariant.start/end intrinsics to extend the meaning of basic AA's pointsToConstantMemory(), for GVN-based load elimination purposes [Local objects only].
Dec 1 2015, 1:57 PM
lvoufo updated the diff for D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only].
Dec 1 2015, 12:23 PM
lvoufo retitled D15124: Use @llvm.invariant.start/end intrinsics to extend basic AA with invariant range analysis for GVN-based load elimination purposes [Local objects only] from to Use @llvm.invariant.start/end intrinsics to extend the meaning of basic AA's pointsToConstantMemory(), for GVN-based load elimination purposes.
Dec 1 2015, 12:14 PM

Nov 9 2015

lvoufo updated the diff for D14419: [Extension --> Completeness] Relax rules for writeonce candidacy....

Fix patch (wrong one submitted initially).

Nov 9 2015, 11:00 AM

Nov 8 2015

lvoufo added a comment to D14009: Handle info about the processing of invariant intrinsics....

This is overlapping with D14003?

Nov 8 2015, 9:08 PM
lvoufo added a comment to D14004: Use the new 'InvariantInfo' property to eliminate redundant loads with --gvn..

This adds a call to "processInvariantIntrinsic" in GVN.cpp, but there is no such function and it isn't defined in this patch?

Nov 8 2015, 9:04 PM

Nov 5 2015

lvoufo added a child revision for D14418: [Extension] Optimizing const objects with mutable fields.: D14419: [Extension --> Completeness] Relax rules for writeonce candidacy....
Nov 5 2015, 9:29 PM
lvoufo added a parent revision for D14419: [Extension --> Completeness] Relax rules for writeonce candidacy...: D14418: [Extension] Optimizing const objects with mutable fields..
Nov 5 2015, 9:29 PM
lvoufo retitled D14419: [Extension --> Completeness] Relax rules for writeonce candidacy... from to [Extension --> Completeness] Relax rules for writeonce candidacy....
Nov 5 2015, 9:29 PM
lvoufo added a child revision for D13618: [Extension] Optimizing const member objects.: D14418: [Extension] Optimizing const objects with mutable fields..
Nov 5 2015, 9:00 PM
lvoufo added a parent revision for D14418: [Extension] Optimizing const objects with mutable fields.: D13618: [Extension] Optimizing const member objects..
Nov 5 2015, 9:00 PM
lvoufo retitled D14418: [Extension] Optimizing const objects with mutable fields. from to [Extension] Optimizing const objects with mutable fields..
Nov 5 2015, 9:00 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..
Nov 5 2015, 7:28 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..
Nov 5 2015, 7:24 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..
Nov 5 2015, 7:14 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..
Nov 5 2015, 7:12 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..
Nov 5 2015, 7:10 PM
lvoufo updated the diff for D13619: [Extension] Optimizing const member objects..

Fix diff (wrong one submitted last time).

Nov 5 2015, 7:09 PM
lvoufo updated the diff for D13619: [Extension] Optimizing const member objects..
Nov 5 2015, 7:06 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..

Reify computed invariant offsets, and while we're at it, cleanup InvariantArgs: move it out of CodeGenModule.h and remove Offsets member field since offsets are already in the start instructions.

Nov 5 2015, 6:30 PM
lvoufo updated the diff for D13619: [Extension] Optimizing const member objects..

Update documentation of invariant_start intrinsic call.

Nov 5 2015, 2:24 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..

Remove commented out line -- Offsets not needed on invariant_end calls after all.

Nov 5 2015, 1:51 PM

Oct 23 2015

lvoufo updated the diff for D13619: [Extension] Optimizing const member objects..

Updated from D14003 (D14008 + D14009), D14004, D14005, D14006 and D14007.

Oct 23 2015, 3:30 PM
lvoufo updated D13618: [Extension] Optimizing const member objects..
Oct 23 2015, 3:23 PM

Oct 22 2015

lvoufo added a child revision for D14008: Express specific info about the processing of invariant intrinsics.: D14009: Handle info about the processing of invariant intrinsics....
Oct 22 2015, 10:36 PM
lvoufo added a parent revision for D14009: Handle info about the processing of invariant intrinsics...: D14008: Express specific info about the processing of invariant intrinsics..
Oct 22 2015, 10:36 PM
lvoufo updated the diff for D14008: Express specific info about the processing of invariant intrinsics..
Oct 22 2015, 10:33 PM
lvoufo updated the diff for D14003: Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 10:31 PM
lvoufo added inline comments to D14003: Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 10:04 PM
lvoufo added inline comments to D14003: Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 9:57 PM
lvoufo added a comment to D14004: Use the new 'InvariantInfo' property to eliminate redundant loads with --gvn..

Please add some tests.

Oct 22 2015, 9:51 PM
lvoufo added a comment to D14003: Express and handle specific info about the processing of invariant intrinsics.

I split this up into D14008 and D14009. I hope that this does not cause too much of an inconvenience. Please let me know...
--L

Oct 22 2015, 9:46 PM
lvoufo added parent revisions for D14003: Express and handle specific info about the processing of invariant intrinsics: D14009: Handle info about the processing of invariant intrinsics..., D14008: Express specific info about the processing of invariant intrinsics..
Oct 22 2015, 9:44 PM
lvoufo added a child revision for D14009: Handle info about the processing of invariant intrinsics...: D14003: Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 9:44 PM
lvoufo added a child revision for D14008: Express specific info about the processing of invariant intrinsics.: D14003: Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 9:44 PM
lvoufo retitled D14009: Handle info about the processing of invariant intrinsics... from to Handle info about the processing of invariant intrinsics....
Oct 22 2015, 9:44 PM
lvoufo retitled D14008: Express specific info about the processing of invariant intrinsics. from to Express specific info about the processing of invariant intrinsics..
Oct 22 2015, 9:42 PM
lvoufo added a child revision for D14006: Add a test case for --gvn and --instcombine extended with load elimination based on new 'InvarantInfo' property.: D14007: Load elimination based on new 'InvarantInfo' property for global variables..
Oct 22 2015, 9:37 PM
lvoufo added a parent revision for D14007: Load elimination based on new 'InvarantInfo' property for global variables.: D14006: Add a test case for --gvn and --instcombine extended with load elimination based on new 'InvarantInfo' property..
Oct 22 2015, 9:37 PM
lvoufo added a child revision for D14004: Use the new 'InvariantInfo' property to eliminate redundant loads with --gvn.: D14006: Add a test case for --gvn and --instcombine extended with load elimination based on new 'InvarantInfo' property..
Oct 22 2015, 9:36 PM
lvoufo added parent revisions for D14006: Add a test case for --gvn and --instcombine extended with load elimination based on new 'InvarantInfo' property.: D14005: Use the new 'InvariantInfo' property to eliminate redundant loads with --instcombine, D14004: Use the new 'InvariantInfo' property to eliminate redundant loads with --gvn..
Oct 22 2015, 9:36 PM
lvoufo added a child revision for D14005: Use the new 'InvariantInfo' property to eliminate redundant loads with --instcombine: D14006: Add a test case for --gvn and --instcombine extended with load elimination based on new 'InvarantInfo' property..
Oct 22 2015, 9:36 PM
lvoufo added a comment to D13606: [Introduction] Redundant load reduction with invariant intrinsics.

I have addressed all the feedback so far (Thanks, Nick!) and split the updated version of this patch into 6-7 patches: D14003 (D14008 + D14009), D14004, D14005, D14006 and D14007.
Is this clearer? Would it help to split it up further?

Oct 22 2015, 9:36 PM
lvoufo retitled D14007: Load elimination based on new 'InvarantInfo' property for global variables. from to Load elimination based on new 'InvarantInfo' property for global variables..
Oct 22 2015, 9:25 PM
lvoufo retitled D14006: Add a test case for --gvn and --instcombine extended with load elimination based on new 'InvarantInfo' property. from to Add a test case for --gvn and --instcombine extended with load elimination based on new 'InvarantInfo' property..
Oct 22 2015, 9:17 PM
lvoufo retitled D14003: Express and handle specific info about the processing of invariant intrinsics from Extend LLVM with info about the processing of invariant intrinsics to Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 9:14 PM
lvoufo added a parent revision for D14005: Use the new 'InvariantInfo' property to eliminate redundant loads with --instcombine: D14003: Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 9:13 PM
lvoufo added a child revision for D14003: Express and handle specific info about the processing of invariant intrinsics: D14005: Use the new 'InvariantInfo' property to eliminate redundant loads with --instcombine.
Oct 22 2015, 9:13 PM
lvoufo retitled D14005: Use the new 'InvariantInfo' property to eliminate redundant loads with --instcombine from to Use the new 'InvariantInfo' property to eliminate redundant loads with --instcombine.
Oct 22 2015, 9:12 PM
lvoufo added a parent revision for D14004: Use the new 'InvariantInfo' property to eliminate redundant loads with --gvn.: D14003: Express and handle specific info about the processing of invariant intrinsics.
Oct 22 2015, 9:09 PM
lvoufo retitled D14004: Use the new 'InvariantInfo' property to eliminate redundant loads with --gvn. from to Use the new 'InvariantInfo' property to eliminate redundant loads with --gvn..
Oct 22 2015, 9:09 PM
lvoufo retitled D14003: Express and handle specific info about the processing of invariant intrinsics from to Extend LLVM with info about the processing of invariant intrinsics.
Oct 22 2015, 8:57 PM

Oct 20 2015

lvoufo added a comment to D13606: [Introduction] Redundant load reduction with invariant intrinsics.

I think I've addressed all the comment by now. I'll be pushing in split-up patches (with corrections) next.

Oct 20 2015, 6:37 PM

Oct 19 2015

lvoufo added inline comments to D13606: [Introduction] Redundant load reduction with invariant intrinsics.
Oct 19 2015, 11:15 PM
lvoufo added inline comments to D13606: [Introduction] Redundant load reduction with invariant intrinsics.
Oct 19 2015, 9:25 PM
lvoufo added inline comments to D13606: [Introduction] Redundant load reduction with invariant intrinsics.
Oct 19 2015, 8:24 PM

Oct 15 2015

lvoufo added a comment to D13606: [Introduction] Redundant load reduction with invariant intrinsics.

I'm with Philip on this one.
This patch looks like it can be split up.
As a rule, you don't have to make everything go at once, you can do it
piece by piece.

(IE it's fine to modify one transform/analysis pass, even if nothing
but tests use it yet, and then add the use in a separate patch).

More to the point, the feedback you are getting says: "If you want
this reviewed by reviewers, you should split it up more".
So unless you can point to concrete reasons it can't be split up, you
should do that.

Oct 15 2015, 10:55 AM

Oct 10 2015

lvoufo added inline comments to D13606: [Introduction] Redundant load reduction with invariant intrinsics.
Oct 10 2015, 8:55 AM

Oct 9 2015

lvoufo added inline comments to D13606: [Introduction] Redundant load reduction with invariant intrinsics.
Oct 9 2015, 8:28 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..
Oct 9 2015, 8:06 PM
lvoufo updated the diff for D13618: [Extension] Optimizing const member objects..
Oct 9 2015, 8:04 PM
lvoufo updated the diff for D13619: [Extension] Optimizing const member objects..
Oct 9 2015, 8:03 PM