History log of /llvm-project/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp (Results 76 – 100 of 117)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 6c0f25ae 22-Nov-2016 Justin Lebar <jlebar@google.com>

[StructurizeCFG] Refactor OrderNodes.

Summary:
No need to copy the RPOT vector before using it. Switch from std::map
to SmallDenseMap. Get rid of an unused variable (TempVisited). Get rid
of a ty

[StructurizeCFG] Refactor OrderNodes.

Summary:
No need to copy the RPOT vector before using it. Switch from std::map
to SmallDenseMap. Get rid of an unused variable (TempVisited). Get rid
of a typedef, RNVector, which is now used only once.

Differential Revision: https://reviews.llvm.org/D26997

llvm-svn: 287721

show more ...


# 23aaf602 22-Nov-2016 Justin Lebar <jlebar@google.com>

[StructurizeCFG] Add whitespace in getAnalysisUsage.

Summary:
"addRequired" and "addPreserved" look very similar when squished up next
to each other -- without the newline this code looked to me lik

[StructurizeCFG] Add whitespace in getAnalysisUsage.

Summary:
"addRequired" and "addPreserved" look very similar when squished up next
to each other -- without the newline this code looked to me like it was
addRequired'ing DominatorTreeWrapperPass twice.

Reviewers: arsenm

Subscribers: wdng, llvm-commits

Differential Revision: https://reviews.llvm.org/D26996

llvm-svn: 287720

show more ...


# 820db74c 22-Nov-2016 Justin Lebar <jlebar@google.com>

[StructurizeCFG] Remove unnecessary "using" in class.

Reviewers: arsenm

Subscribers: wdng, llvm-commits

Differential Revision: https://reviews.llvm.org/D26995

llvm-svn: 287719


# 73c4baf3 22-Nov-2016 Justin Lebar <jlebar@google.com>

[StructurizeCFG] Merge the two constructors into one.

Reviewers: arsenm

Subscribers: wdng, llvm-commits

Differential Revision: https://reviews.llvm.org/D26994

llvm-svn: 287718


# 1b60d700 22-Nov-2016 Justin Lebar <jlebar@google.com>

[StructurizeCFG] Use a for-each loop instead of iterators in runOnRegion.

Summary:

Reviewers: arsenm

Subscribers: wdng, llvm-commits

Differential Revision: https://reviews.llvm.org/D26993

llvm-s

[StructurizeCFG] Use a for-each loop instead of iterators in runOnRegion.

Summary:

Reviewers: arsenm

Subscribers: wdng, llvm-commits

Differential Revision: https://reviews.llvm.org/D26993

llvm-svn: 287717

show more ...


# c7445d57 22-Nov-2016 Justin Lebar <jlebar@google.com>

[StructurizeCFG] Make hasOnlyUniformBranches a non-member function.

Summary: Lets us get rid of one member variable too.

Reviewers: arsenm

Subscribers: wdng, llvm-commits

Differential Revision: h

[StructurizeCFG] Make hasOnlyUniformBranches a non-member function.

Summary: Lets us get rid of one member variable too.

Reviewers: arsenm

Subscribers: wdng, llvm-commits

Differential Revision: https://reviews.llvm.org/D26992

llvm-svn: 287716

show more ...


# 7d18a70d 20-Nov-2016 Simon Pilgrim <llvm-dev@redking.me.uk>

Fix spelling mistakes in Transforms comments. NFC.

Identified by Pedro Giffuni in PR27636.

llvm-svn: 287488


# 117296c0 01-Oct-2016 Mehdi Amini <mehdi.amini@apple.com>

Use StringRef in Pass/PassManager APIs (NFC)

llvm-svn: 283004


Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2
# 0d955d0b 11-Aug-2016 David Majnemer <david.majnemer@gmail.com>

Use the range variant of find instead of unpacking begin/end

If the result of the find is only used to compare against end(), just
use is_contained instead.

No functionality change is intended.

ll

Use the range variant of find instead of unpacking begin/end

If the result of the find is only used to compare against end(), just
use is_contained instead.

No functionality change is intended.

llvm-svn: 278433

show more ...


Revision tags: llvmorg-3.9.0-rc1
# 93be6e8c 15-Jul-2016 Matt Arsenault <Matthew.Arsenault@amd.com>

StructurizeCFG: Fix inverting constantexpr conditions

llvm-svn: 275626


# 135f735a 26-Jun-2016 Benjamin Kramer <benny.kra@googlemail.com>

Apply clang-tidy's modernize-loop-convert to most of lib/Transforms.

Only minor manual fixes. No functionality change intended.

llvm-svn: 273808


# 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


# 4dea8f54 17-Jun-2016 Benjamin Kramer <benny.kra@googlemail.com>

Avoid duplicated map lookups. No functionality change intended.

llvm-svn: 273030


Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1
# 05b127da 14-Apr-2016 Nicolai Haehnle <nhaehnle@gmail.com>

[StructurizeCFG] Annotate branches that were treated as uniform

Summary:
This fully solves the problem where the StructurizeCFG pass does not
consider the same branches as uniform as the SIAnnotateC

[StructurizeCFG] Annotate branches that were treated as uniform

Summary:
This fully solves the problem where the StructurizeCFG pass does not
consider the same branches as uniform as the SIAnnotateControlFlow pass.
The patch in D19013 helps with this problem, but is not sufficient
(and, interestingly, causes a "regression" with one of the existing
test cases).

No tests included here, because tests in D19013 already cover this.

Reviewers: arsenm, tstellarAMD

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D19018

llvm-svn: 266346

show more ...


Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3
# 6fa4e290 10-Feb-2016 Tom Stellard <thomas.stellard@amd.com>

StructurizeCFG: Initialize SkipUniformRegions in the default constructor

This should fix some random bot failures caused by r260336.

llvm-svn: 260342


# 755a4e6b 10-Feb-2016 Tom Stellard <thomas.stellard@amd.com>

StructurizeCFG: Add an option for skipping regions with only uniform branches

Summary:
Tests for this will be added once the AMDGPU backend enables this
option.

Reviewers: arsenm

Subscribers: llvm

StructurizeCFG: Add an option for skipping regions with only uniform branches

Summary:
Tests for this will be added once the AMDGPU backend enables this
option.

Reviewers: arsenm

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D16602

llvm-svn: 260336

show more ...


Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1
# be4d8cba 13-Oct-2015 Duncan P. N. Exon Smith <dexonsmith@apple.com>

Scalar: Remove remaining ilist iterator implicit conversions

Remove remaining `ilist_iterator` implicit conversions from
LLVMScalarOpts.

This change exposed some scary behaviour in
lib/Transforms/S

Scalar: Remove remaining ilist iterator implicit conversions

Remove remaining `ilist_iterator` implicit conversions from
LLVMScalarOpts.

This change exposed some scary behaviour in
lib/Transforms/Scalar/SCCP.cpp around line 1770. This patch changes a
call from `Function::begin()` to `&Function::front()`, since the return
was immediately being passed into another function that takes a
`Function*`. `Function::front()` started to assert, since the function
was empty. Note that `Function::end()` does not point at a legal
`Function*` -- it points at an `ilist_half_node` -- so the other
function was getting garbage before. (I added the missing check for
`Function::isDeclaration()`.)

Otherwise, no functionality change intended.

llvm-svn: 250211

show more ...


Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4
# ebcd7489 06-Aug-2015 Pete Cooper <peter_cooper@apple.com>

Convert a bunch of loops to foreach. NFC.

After r244074, we now have a successors() method to iterate over
all the successors of a TerminatorInst. This commit changes a bunch
of eligible loops to

Convert a bunch of loops to foreach. NFC.

After r244074, we now have a successors() method to iterate over
all the successors of a TerminatorInst. This commit changes a bunch
of eligible loops to use it.

llvm-svn: 244260

show more ...


Revision tags: llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1
# 6b1aa5f5 15-Apr-2015 Richard Trieu <rtrieu@google.com>

Change range-based for-loops to be -Wrange-loop-analysis clean.
No functionality change.

llvm-svn: 234963


# 799003bf 23-Mar-2015 Benjamin Kramer <benny.kra@googlemail.com>

Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used.

llvm-svn: 232998


Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3
# 080209d5 04-Feb-2015 Tom Stellard <thomas.stellard@amd.com>

StructurizeCFG: Remove obsolete fix for loop backedge detection

This is no longer needed now that we are using a reverse post-order
traversal.

llvm-svn: 228187


# 071ec90b 04-Feb-2015 Tom Stellard <thomas.stellard@amd.com>

StructurizeCFG: Use a reverse post-order traversal

We were previously doing a post-order traversal and operating on the
list in reverse, however this would occasionaly cause backedges for
loops to b

StructurizeCFG: Use a reverse post-order traversal

We were previously doing a post-order traversal and operating on the
list in reverse, however this would occasionaly cause backedges for
loops to be visited before some of the other blocks in the loop.

We know use a reverse post-order traversal, which avoids this issue.

The reverse post-order traversal is not completely ideal, so we need
to manually fixup the list to ensure that inner loop backedges are
visited before outer loop backedges.

llvm-svn: 228186

show more ...


Revision tags: llvmorg-3.6.0-rc2
# 4f8f307c 17-Jan-2015 Chandler Carruth <chandlerc@gmail.com>

[PM] Split the LoopInfo object apart from the legacy pass, creating
a LoopInfoWrapperPass to wire the object up to the legacy pass manager.

This switches all the clients of LoopInfo over and paves t

[PM] Split the LoopInfo object apart from the legacy pass, creating
a LoopInfoWrapperPass to wire the object up to the legacy pass manager.

This switches all the clients of LoopInfo over and paves the way to port
LoopInfo to the new pass manager. No functionality change is intended
with this iteration.

llvm-svn: 226373

show more ...


Revision tags: llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1
# 1f0dded0 03-Dec-2014 Tom Stellard <thomas.stellard@amd.com>

StructurizeCFG: Use LoopInfo analysis for better loop detection

We were assuming that each back-edge in a region represented a unique
loop, which is not always the case. We need to use LoopInfo to

StructurizeCFG: Use LoopInfo analysis for better loop detection

We were assuming that each back-edge in a region represented a unique
loop, which is not always the case. We need to use LoopInfo to
correctly determine which back-edges are loops.

llvm-svn: 223199

show more ...


Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1
# 6c99015f 21-Jul-2014 Duncan P. N. Exon Smith <dexonsmith@apple.com>

Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges."

This reverts commit r213474 (and r213475), which causes a miscompile on
a stage2 LTO build. I'll reply on

Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges."

This reverts commit r213474 (and r213475), which causes a miscompile on
a stage2 LTO build. I'll reply on the list in a moment.

llvm-svn: 213562

show more ...


12345