llvm-project/polly/test
Michael Kruse 22058c3fbb [Simplify] Remove unused instructions and accesses.
Use a mark-and-sweep algorithm to find and remove unused instructions
and MemoryAccesses. This is useful in particular to remove scalar
writes that are never used anywhere. A scalar write in a loop induces
a write-after-write dependency that stops the loop iterations to be
rescheduled. Such writes can be a result of previous transformations
such as DeLICM and operand tree forwarding.

It adds a new class VirtualInstruction that represents an instruction in
a particular statement. At the moment an instruction can only belong to
the statement that represents a BasicBlock. In the future, instructions
can be in one of multiple statements representing a BasicBlock
(Nandini's work), in different statements than its BasicBlock would
indicate, and even multiple statements at once (by forwarding operand
trees). It also integrates nicely with the VirtualUse class.

ScopStmt::contains(Instruction*) currently uses the instruction's parent
BasicBlock to check whether it contains the instruction. It will need to
check the actual statement list when one of the aforementioned features
become possible.

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

llvm-svn: 308626
2017-07-20 16:21:55 +00:00
..
CodeGen [Polly] Fix code generation of llvm.expect intrinsic 2017-05-14 09:09:54 +00:00
DeLICM [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
DeadCodeElimination [Polly] Remove unwanted --check-prefix=CHECK from unit tests. NFC. 2016-04-15 06:12:29 +00:00
DependenceInfo Bump isl to isl-0.18-768-g033b61ae 2017-07-04 15:54:11 +00:00
FlattenSchedule Add -polly-flatten-schedule pass. 2016-09-08 15:02:36 +00:00
GPGPU [PPCGCodeGen] [3/3] Update PPCGCodeGen + tests to latest ppcg. 2017-07-20 15:48:36 +00:00
Isl [ScopInfo] Simplify new access functions under domain context 2017-07-17 20:47:10 +00:00
JSONExporter [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
PruneUnprofitable [PruneUnprofitable] Add -polly-prune-unprofitable pass. 2017-03-17 13:09:52 +00:00
ScheduleOptimizer [FIX] Update test/ScheduleOptimizer/pattern-matching-based-opts_11.ll. 2017-07-19 18:01:51 +00:00
ScopDetect [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
ScopDetectionDiagnostics [Polly] [OptDiag] Updating Polly Diagnostics Remarks 2017-07-17 23:58:33 +00:00
ScopInfo [ScopInfo] Add support for wrap-around of integers in unsigned comparisons. 2017-07-20 12:37:02 +00:00
Simplify [Simplify] Remove unused instructions and accesses. 2017-07-20 16:21:55 +00:00
Unit [Polly][CMake] Skip unit-tests in lit if gtest is not available 2017-07-11 11:37:35 +00:00
UnitIsl [CMake] Fix polly-isl-test execution in out-of-LLVM-tree builds. 2017-04-22 23:02:53 +00:00
CMakeLists.txt [CMake] Fix r307650: Readd missing dependency. 2017-07-19 19:20:58 +00:00
README
create_ll.sh Make create_ll work with latest LLVM [NFC] 2017-07-07 04:20:55 +00:00
lit.cfg [Polly] [Tests] Update `lit.cfg` uses of `lit.util.capture` to `subprocess.check_output` 2017-07-12 09:42:05 +00:00
lit.site.cfg.in [Polly][CMake] Use the CMake Package instead of llvm-config in out-of-tree builds 2017-07-11 11:24:25 +00:00
polly.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
update_check.py Add -polly-flatten-schedule pass. 2016-09-08 15:02:36 +00:00

README

place tests here