History log of /llvm-project/llvm/lib/Transforms/Scalar/LoopDistribute.cpp (Results 51 – 75 of 101)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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


12345