llvm-mirror/test
Adam Nemet ededcfa020 [LoopDist] Add llvm.loop.distribute.enable loop metadata
Summary:
D19403 adds a new pragma for loop distribution.  This change adds
support for the corresponding metadata that the pragma is translated to
by the FE.

As part of this I had to rethink the flag -enable-loop-distribute.  My
goal was to be backward compatible with the existing behavior:

  A1. pass is off by default from the optimization pipeline
  unless -enable-loop-distribute is specified

  A2. pass is on when invoked directly from opt (e.g. for unit-testing)

The new pragma/metadata overrides these defaults so the new behavior is:

  B1. A1 + enable distribution for individual loop with the pragma/metadata

  B2. A2 + disable distribution for individual loop with the pragma/metadata

The default value whether the pass is on or off comes from the initiator
of the pass.  From the PassManagerBuilder the default is off, from opt
it's on.

I moved -enable-loop-distribute under the pass.  If the flag is
specified it overrides the default from above.

Then the pragma/metadata can further modifies this per loop.

As a side-effect, we can now also use -enable-loop-distribute=0 from opt
to emulate the default from the optimization pipeline.  So to be precise
this is the new behavior:

  C1. pass is off by default from the optimization pipeline
  unless -enable-loop-distribute or the pragma/metadata enables it

  C2. pass is on when invoked directly from opt
  unless -enable-loop-distribute=0 or the pragma/metadata disables it

Reviewers: hfinkel

Subscribers: joker.eph, mzolotukhin, llvm-commits

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

llvm-svn: 267672
2016-04-27 05:28:18 +00:00
..
Analysis [SCEV] Improve the run-time checking of the NoWrap predicate 2016-04-25 09:27:16 +00:00
Assembler DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
Bindings [OCaml] Expose the LLVM diagnostic handler 2016-04-10 13:55:53 +00:00
Bitcode Symbolize operand bundle blocks for bcanalyzer 2016-04-26 05:59:08 +00:00
BugPoint [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
CodeGen [ppc64] fix bug in prologue that mfocrf's cr operand should be explict state instead of implicit 2016-04-27 02:59:28 +00:00
DebugInfo Parse and dump PDB DBI Stream Header Information 2016-04-26 18:42:34 +00:00
Examples
ExecutionEngine [powerpc] mark JIT tests as UNSUPPORTED on powerpc64 big endian 2016-04-26 03:59:19 +00:00
Feature [NVVM] Remove noduplicate attribute from synchronizing intrinsics. 2016-03-22 22:08:01 +00:00
FileCheck Reapply r262092: [FileCheck] Abort if -NOT is combined with another suffix. 2016-02-29 22:13:03 +00:00
Instrumentation DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
Integer
JitListener [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
Linker DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
LTO Revert "Support "preserving" the summary information when using setModule() API in LTOCodeGenerator" 2016-04-27 05:11:44 +00:00
MC Reapply: "ARM: put correct symbol index on indirect pointers in __thread_ptr."" 2016-04-26 18:29:16 +00:00
Object Fix a typo in an error message. Caught by Sean Silva! 2016-04-21 21:20:40 +00:00
Other Try to get ResponseFile.ll passing on Windows after r267556. 2016-04-26 20:32:51 +00:00
SymbolRewriter
TableGen Introduce a "patchable-function" function attribute 2016-04-19 05:24:47 +00:00
ThinLTO/X86 ThinLTO: do not promote GlobalVariable that have a specific section. 2016-04-27 00:32:13 +00:00
tools LTOCodeGenerator: turns linkonce(_odr) into weak_(odr) when present "MustPreserve" set 2016-04-27 00:32:02 +00:00
Transforms [LoopDist] Add llvm.loop.distribute.enable loop metadata 2016-04-27 05:28:18 +00:00
Unit Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 06:47:41 +00:00
Verifier Verifier: Verify that each inlinable callsite of a debug-info-bearing function 2016-04-24 22:23:13 +00:00
YAMLParser
.clang-format
CMakeLists.txt Moving llvm-test-depends and test-depends into the Tests folder; NFC, this simply cleans up the generated solution so that these targets don't live in the root folder of the IDE. 2016-04-12 15:09:14 +00:00
lit.cfg test: Always treat .mir files as tests even outside of CodeGen/MIR 2016-04-04 21:23:44 +00:00
lit.site.cfg.in Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 06:47:41 +00:00
TestRunner.sh