Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
11a871b2 |
| 08-Nov-2016 |
Davide Italiano <davide@freebsd.org> |
[LoopDistribute] Preserve GlobalsAA also in the new Pass Manager.
Differential Revision: https://reviews.llvm.org/D26408
llvm-svn: 286280
|
#
5cda89ad |
| 05-Oct-2016 |
Michael Zolotukhin <mzolotukhin@apple.com> |
[LoopDistribute] Fix a typo in the pass name.
llvm-svn: 283282
|
#
f744ad78 |
| 30-Sep-2016 |
Adam Nemet <anemet@apple.com> |
[LDist] Port to new streaming API for opt remarks
llvm-svn: 282838
|
#
04758ba3 |
| 27-Sep-2016 |
Adam Nemet <anemet@apple.com> |
Shorten DiagnosticInfoOptimizationRemark* to OptimizationRemark*. NFC
With the new streaming interface, these class names need to be typed a lot and it's way too looong.
llvm-svn: 282544
|
#
66fdba87 |
| 16-Sep-2016 |
Eli Friedman <efriedma@codeaurora.org> |
LoopDistribute should preserve GlobalsAA.
Differential Revision: https://reviews.llvm.org/D24204
llvm-svn: 281758
|
#
e0b2d97b |
| 31-Aug-2016 |
Michael Zolotukhin <mzolotukhin@apple.com> |
[LoopInfo] Add verification by recomputation.
Summary: Current implementation of LI verifier isn't ideal and fails to detect some cases when LI is incorrect. For instance, it checks that all recorde
[LoopInfo] Add verification by recomputation.
Summary: Current implementation of LI verifier isn't ideal and fails to detect some cases when LI is incorrect. For instance, it checks that all recorded loops are in a correct form, but it has no way to check if there are no more other (unrecorded in LI) loops in the function. This patch adds a way to detect such bugs.
Reviewers: chandlerc, sanjoy, hfinkel
Subscribers: llvm-commits, silvas, mzolotukhin
Differential Revision: https://reviews.llvm.org/D23437
llvm-svn: 280280
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
#
84a6425d |
| 21-Jul-2016 |
Adam Nemet <anemet@apple.com> |
[OptDiag,LDist] Convert remaining opt remarks to use the new API
llvm-svn: 276340
|
#
b2593f78 |
| 18-Jul-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Port to new PM
Summary: The direct motivation for the port is to ensure that the OptRemarkEmitter tests work with the new PM.
This remains a function pass because we not only create mult
[LoopDist] Port to new PM
Summary: The direct motivation for the port is to ensure that the OptRemarkEmitter tests work with the new PM.
This remains a function pass because we not only create multiple loops but could also version the original loop.
In the test I need to invoke opt with -passes='require<aa>,loop-distribute'. LoopDistribute does not directly depend on AA however LAA does. LAA uses getCachedResult so I *think* we need manually pull in 'aa'.
Reviewers: davidxl, silvas
Subscribers: sanjoy, llvm-commits, mzolotukhin
Differential Revision: https://reviews.llvm.org/D22437
llvm-svn: 275811
show more ...
|
#
79ac42a5 |
| 18-Jul-2016 |
Adam Nemet <anemet@apple.com> |
[OptRemarkEmitter] Port to new PM
Summary: The main goal is to able to start using the new OptRemarkEmitter analysis from the LoopVectorizer. Since the vectorizer was recently converted to the new
[OptRemarkEmitter] Port to new PM
Summary: The main goal is to able to start using the new OptRemarkEmitter analysis from the LoopVectorizer. Since the vectorizer was recently converted to the new PM, it makes sense to convert this analysis as well.
This pass is currently tested through the LoopDistribution pass, so I am also porting LoopDistribution to get coverage for this analysis with the new PM.
Reviewers: davidxl, silvas
Subscribers: llvm-commits, mzolotukhin
Differential Revision: https://reviews.llvm.org/D22436
llvm-svn: 275810
show more ...
|
#
aad81608 |
| 15-Jul-2016 |
Adam Nemet <anemet@apple.com> |
[OptRemark,LDist] RFC: Add hotness attribute
Summary: This is the first set of changes implementing the RFC from http://thread.gmane.org/gmane.comp.compilers.llvm.devel/98334
This is a cross-sectio
[OptRemark,LDist] RFC: Add hotness attribute
Summary: This is the first set of changes implementing the RFC from http://thread.gmane.org/gmane.comp.compilers.llvm.devel/98334
This is a cross-sectional patch; rather than implementing the hotness attribute for all optimization remarks and all passes in a patch set, it implements it for the 'missed-optimization' remark for Loop Distribution. My goal is to shake out the design issues before scaling it up to other types and passes.
Hotness is computed as an integer as the multiplication of the block frequency with the function entry count. It's only printed in opt currently since clang prints the diagnostic fields directly. E.g.:
remark: /tmp/t.c:3:3: loop not distributed: use -Rpass-analysis=loop-distribute for more info (hotness: 300)
A new API added is similar to emitOptimizationRemarkMissed. The difference is that it additionally takes a code region that the diagnostic corresponds to. From this, hotness is computed using BFI. The new API is exposed via an analysis pass so that it can be made dependent on LazyBFI. (Thanks to Hal for the analysis pass idea.)
This feature can all be enabled by setDiagnosticHotnessRequested in the LLVM context. If this is off, LazyBFI is not calculated (D22141) so there should be no overhead.
A new command-line option is added to turn this on in opt.
My plan is to switch all user of emitOptimizationRemark* to use this module instead.
Reviewers: hfinkel
Subscribers: rcox2, mzolotukhin, llvm-commits
Differential Revision: http://reviews.llvm.org/D21771
llvm-svn: 275583
show more ...
|
#
74730d9a |
| 14-Jul-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Fix typo in diagnostic
llvm-svn: 275495
|
#
7853c1dd |
| 08-Jul-2016 |
Xinliang David Li <davidxl@google.com> |
Rename LoopAccessAnalysis to LoopAccessLegacyAnalysis /NFC
llvm-svn: 274927
|
#
94734eef |
| 01-Jul-2016 |
Xinliang David Li <davidxl@google.com> |
[PM] refactor LoopAccessInfo code part-2
Differential Revision: http://reviews.llvm.org/D21636
llvm-svn: 274334
|
#
ad437fff |
| 29-Jun-2016 |
Adam Nemet <anemet@apple.com> |
[Diag] Add getter shouldAlwaysPrint. NFC
For the new hotness attribute, the API will take the pass rather than the pass name so we can no longer play the trick of AlwaysPrint being a special pass na
[Diag] Add getter shouldAlwaysPrint. NFC
For the new hotness attribute, the API will take the pass rather than the pass name so we can no longer play the trick of AlwaysPrint being a special pass name. This adds a getter to help the transition.
There is also a corresponding clang patch.
llvm-svn: 274100
show more ...
|
#
d7708773 |
| 24-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
Switch more loops to be range-based
This makes the code a little more concise, no functional change is intended.
llvm-svn: 273644
|
#
bdbc5227 |
| 16-Jun-2016 |
Adam Nemet <anemet@apple.com> |
[LAA] Default getInfo to not speculate symbolic strides. NFC
Soon we won't be passing Strides to getInfo and then we'll have fewer call sites to update.
llvm-svn: 272878
|
#
ecde1c7f |
| 09-Jun-2016 |
Xinliang David Li <davidxl@google.com> |
Revert r272194 No need for it if loop Analysis Manager is used
llvm-svn: 272243
|
#
572135f7 |
| 08-Jun-2016 |
Xinliang David Li <davidxl@google.com> |
[PM] Refector LoopAccessInfo analysis code
This is the preparation patch to port the analysis to new PM
Differential Revision: http://reviews.llvm.org/D20560
llvm-svn: 272194
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
eff76646 |
| 13-May-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Only run LAA for loops with the pragma
This should fix some compile-time regressions after r267672. Thanks to Chris Matthews for bisecting it.
llvm-svn: 269392
|
#
50271f78 |
| 03-May-2016 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Add opt-bisect support to additional passes that can be skipped
Differential Revision: http://reviews.llvm.org/D19882
llvm-svn: 268457
|
#
88ec4918 |
| 29-Apr-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Also emit optimization remark on success (-Rpass=)
The option -Rpass=loop-distribute now reports the loops that were distributed.
llvm-svn: 268006
|
#
4338d676 |
| 29-Apr-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Pass 'Function' to main class. NFC
Next patch will add another use for 'Function' inside the class.
llvm-svn: 268005
|
#
0ba164bb |
| 28-Apr-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Emit optimization remarks (-Rpass*)
I closely followed the precedents set by the vectorizer:
* With -Rpass-missed, the loop is reported with further details pointing to -Rpass--analysis.
[LoopDist] Emit optimization remarks (-Rpass*)
I closely followed the precedents set by the vectorizer:
* With -Rpass-missed, the loop is reported with further details pointing to -Rpass--analysis.
* -Rpass-analysis reports the details why distribution has failed.
* Regardless of -Rpass*, when distribution fails for a loop where distribution was forced with the pragma, a warning is produced according to -Wpass-failed. In this case the analysis info is also printed even without -Rpass-analysis.
llvm-svn: 267952
show more ...
|
#
adeccf76 |
| 28-Apr-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Improve debug messages
The next patch will start using these for -Rpass-analysis so they won't be internal-only anymore.
Move the 'Skipping; ' prefix that some of the message are using i
[LoopDist] Improve debug messages
The next patch will start using these for -Rpass-analysis so they won't be internal-only anymore.
Move the 'Skipping; ' prefix that some of the message are using into the 'fail' function. We don't want to include this prefix in the -Rpass-analysis report.
llvm-svn: 267951
show more ...
|
#
7f38e119 |
| 28-Apr-2016 |
Adam Nemet <anemet@apple.com> |
[LoopDist] Add helper to print debug message when distribution fails. NFC
This will form the basis to emit optimization remarks (-Rpass*).
llvm-svn: 267950
|