History log of /llvm-project-15.0.7/polly/lib/CodeGen/CodeGeneration.cpp (Results 101 – 125 of 162)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 5a56cbf4 16-Apr-2014 Tobias Grosser <[email protected]>

[C++11] Use nullptr

llvm-svn: 206361


# 75b76729 15-Apr-2014 Tobias Grosser <[email protected]>

Fix for vector codegen in OpenMP subfunctions

Contributed-by: Johannes Doerfert <[email protected]>
llvm-svn: 206332


# efc30135 14-Apr-2014 Tobias Grosser <[email protected]>

Codegeneration: Free memory correctly when using -polly-vectorizer=polly

This fixes PR19421.

Reported-by: Jeremy Huddleston Sequoia <[email protected]>
llvm-svn: 206156


Revision tags: llvmorg-3.4.1-rc1
# 5103ba7c 04-Mar-2014 Tobias Grosser <[email protected]>

Introduce PollyIRBuilder

PollyIRBuilder is currently just a typedef to IRBuilder<>. Consequently, this
change should not affect behavior. In subsequent patches we will extend its
functionality to em

Introduce PollyIRBuilder

PollyIRBuilder is currently just a typedef to IRBuilder<>. Consequently, this
change should not affect behavior. In subsequent patches we will extend its
functionality to emit loop.parallel metadata.

llvm-svn: 202853

show more ...


# c5d1689b 25-Feb-2014 Rafael Espindola <[email protected]>

Update for llvm api change.

llvm-svn: 202183


# bfec361c 22-Feb-2014 Sebastian Pop <[email protected]>

GMP is only required for CLooG

llvm-svn: 201925


# b8cd4a83 19-Jan-2014 Tobias Grosser <[email protected]>

CodeGeneration: Replace reference to isl_int with explicit mpz call.

This removes the last isl_int dependency in the default build. There are
still some in OpenScop and Scoplib. For those isl-0.12.2

CodeGeneration: Replace reference to isl_int with explicit mpz call.

This removes the last isl_int dependency in the default build. There are
still some in OpenScop and Scoplib. For those isl-0.12.2 still needs to be used.

llvm-svn: 199585

show more ...


# 42aff30d 13-Jan-2014 Tobias Grosser <[email protected]>

Adapt to DomTree changes in r199104

llvm-svn: 199157


Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1
# dd6dc827 15-Oct-2013 Tobias Grosser <[email protected]>

clang-format: No empty line after 'public:'

llvm-svn: 192710


# 815c635c 02-Sep-2013 Tobias Grosser <[email protected]>

[CodeGen] Fixup assert fails caused by incorrect LoopInfo update

Contributed-by: Star Tan <[email protected]>
llvm-svn: 189764


# 880c52f5 29-Jul-2013 Tobias Grosser <[email protected]>

CodeGeneration: Fix double free in vector for

We now use __isl_take to annotate the uses of the isl_set where we got the
memory management wrong.

Thanks to Rafael! His pipefail work hardened our te

CodeGeneration: Fix double free in vector for

We now use __isl_take to annotate the uses of the isl_set where we got the
memory management wrong.

Thanks to Rafael! His pipefail work hardened our test environment and exposed
this bug nicely.

llvm-svn: 187338

show more ...


Revision tags: llvmorg-3.3.1-rc1
# 58032cb0 23-Jun-2013 Tobias Grosser <[email protected]>

Integrate latest clang-format changes

llvm-svn: 184655


Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2
# 3081b0f5 16-May-2013 Tobias Grosser <[email protected]>

Update LoopInfo correctly

When the Polly code generation was written we did not correctly update the
LoopInfo data, but still claimed that the loop information is correct. This
does not only lead to

Update LoopInfo correctly

When the Polly code generation was written we did not correctly update the
LoopInfo data, but still claimed that the loop information is correct. This
does not only lead to missed optimizations, but it can also cause
miscompilations in case passes such as LoopSimplify are run after Polly.

Reported-by: Sergei Larin <[email protected]>
llvm-svn: 181987

show more ...


# 5db6ffd7 16-May-2013 Tobias Grosser <[email protected]>

LoopGenerators: Construct loops such that they are already loop rotated

BeforeBB
|
v
GuardBB
/ \
__

LoopGenerators: Construct loops such that they are already loop rotated

BeforeBB
|
v
GuardBB
/ \
__ PreHeaderBB \
/ \ / |
latch HeaderBB |
\ / \ /
< \ /
\ /
ExitBB

This does not only remove the need for an explicit loop rotate pass, but it also
gives us the possibility to skip the construction of the guard condition in case
the loop is known to be executed at least once. We do not yet exploit this, but
by implementing this analysis in the isl code generator we should be able to
remove more guards than the generic loop rotate pass can. Another point is that
loop rotation can introduce additional PHI nodes, which may hide that a loop can
be executed in parallel. This change avoids this complication and will make it
easier to move the openmp code generation into a separate pass.

llvm-svn: 181986

show more ...


Revision tags: llvmorg-3.3.0-rc1
# 637bd631 07-May-2013 Tobias Grosser <[email protected]>

Move polly options into separate option category

Use the new cl::OptionCategory support to move the Polly options into a separate
option category. The aim is to hide most options and show by default

Move polly options into separate option category

Use the new cl::OptionCategory support to move the Polly options into a separate
option category. The aim is to hide most options and show by default only the
options a user needs to influence '-O3 -polly'. The available options probably
need some care, but here is the current status:

Polly Options:
Configure the polly loop optimizer

-enable-polly-openmp - Generate OpenMP parallel code
-polly - Enable the polly optimizer (only at -O3)
-polly-no-tiling - Disable tiling in the scheduler
-polly-only-func=<function-name> - Only run on a single function
-polly-report - Print information about the activities
of Polly
-polly-vectorizer - Select the vectorization strategy
=none - No Vectorization
=polly - Polly internal vectorizer
=unroll-only - Only grouped unroll the vectorize
candidate loops
=bb - The Basic Block vectorizer driven by
Polly

llvm-svn: 181295

show more ...


# e602a076 07-May-2013 Tobias Grosser <[email protected]>

Reformat with clang-format

clang-format become way more stable. This time we mainly reformat function
signatures.

llvm-svn: 181294


# 8edce4ee 16-Apr-2013 Tobias Grosser <[email protected]>

Support SCoPs with multiple entry edges.

Regions that have multiple entry edges are very common. A simple if condition
yields e.g. such a region:

if
/ \
then else
\ /
for_region

This for_

Support SCoPs with multiple entry edges.

Regions that have multiple entry edges are very common. A simple if condition
yields e.g. such a region:

if
/ \
then else
\ /
for_region

This for_region contains two entry edges 'then' -> 'for_region' and 'else' -> 'for_region'.

Previously we scheduled the RegionSimplify pass to translate such regions into
simple regions. With this patch, we now support them natively when the region is
in -loop-simplify form, which means the entry block should not be a loop header.

Contributed by: Star Tan <[email protected]>

llvm-svn: 179586

show more ...


# d7e58640 10-Apr-2013 Tobias Grosser <[email protected]>

Update formatting to latest version of clang-format

llvm-svn: 179160


# 0ee50f6e 10-Apr-2013 Tobias Grosser <[email protected]>

Support SCoPs with multiple exit edges

Regions that have multiple exit edges are very common. A simple if condition
yields e.g. such a region:

if
/ \
then else
\ /

Support SCoPs with multiple exit edges

Regions that have multiple exit edges are very common. A simple if condition
yields e.g. such a region:

if
/ \
then else
\ /
after

Region: if -> after

This regions contains the bbs 'if', 'then', 'else', but not 'after'. It has
two exit edges 'then' -> 'after' and 'else' -> 'after'.

Previously we scheduled the RegionSimplify pass to translate such regions into
simple regions. With this patch, we now support them natively.

Contributed-by: Star Tan <[email protected]>
llvm-svn: 179159

show more ...


# 4d96c8d7 23-Mar-2013 Tobias Grosser <[email protected]>

clang-format: Many more files

After this commit, polly is clang-format clean. This can be tested with
'ninja polly-check-format'. Updates to clang-format may change this, but the
differences will ho

clang-format: Many more files

After this commit, polly is clang-format clean. This can be tested with
'ninja polly-check-format'. Updates to clang-format may change this, but the
differences will hopefully be both small and general improvements to the
formatting.

We currently have some not very nice formatting for a couple of items, DEBUG()
stmts for example. I believe the benefit of being clang-format clean outweights
the not perfect layout of this code.

llvm-svn: 177796

show more ...


# ecfe21b7 20-Mar-2013 Tobias Grosser <[email protected]>

Remove dependence on canonical induction variable

When using the scev based code generation, we now do not rely on the presence
of a canonical induction variable any more. This commit prepares the p

Remove dependence on canonical induction variable

When using the scev based code generation, we now do not rely on the presence
of a canonical induction variable any more. This commit prepares the path to
(conditionally) disable the induction variable canonicalization pass.

llvm-svn: 177548

show more ...


# e039bb1f 18-Mar-2013 Sebastian Pop <[email protected]>

use the canonical IV only when it exists

llvm-svn: 177306


# 7242ad92 22-Feb-2013 Tobias Grosser <[email protected]>

CodeGen: clang-format

llvm-svn: 175872


# 9d10fffa 15-Feb-2013 Sebastian Pop <[email protected]>

add LoopToScev maps

llvm-svn: 175295


# c14582f2 05-Feb-2013 Tobias Grosser <[email protected]>

CodeGen: clang-format goodness

The changed files are not yet clang-format clean, but we are getting close.

llvm-svn: 174403


1234567