llvm-project/mlir/lib/Transforms
Reid Kleckner 932f0276ea [Support] Move LLD's parallel algorithm wrappers to support
Essentially takes the lld/Common/Threads.h wrappers and moves them to
the llvm/Support/Paralle.h algorithm header.

The changes are:
- Remove policy parameter, since all clients use `par`.
- Rename the methods to `parallelSort` etc to match LLVM style, since
  they are no longer C++17 pstl compatible.
- Move algorithms from llvm::parallel:: to llvm::, since they have
  "parallel" in the name and are no longer overloads of the regular
  algorithms.
- Add range overloads
- Use the sequential algorithm directly when 1 thread is requested
  (skips task grouping)
- Fix the index type of parallelForEachN to size_t. Nobody in LLVM was
  using any other parameter, and it made overload resolution hard for
  for_each_n(par, 0, foo.size(), ...) because 0 is int, not size_t.

Remove Threads.h and update LLD for that.

This is a prerequisite for parallel public symbol processing in the PDB
library, which is in LLVM.

Reviewed By: MaskRay, aganea

Differential Revision: https://reviews.llvm.org/D79390
2020-05-05 15:21:05 -07:00
..
Utils [MLIR][LoopOps] Adds the loop unroll transformation for loop::ForOp. 2020-05-05 10:42:36 -07:00
BufferPlacement.cpp [mlir] Removed tight coupling of BufferPlacement pass to Alloc and Dealloc. 2020-05-04 14:23:15 +02:00
CMakeLists.txt [MLIR] Reapply: Adjust libMLIR building to more closely follow libClang 2020-05-04 20:47:57 -07:00
CSE.cpp [MLIR] Move Verifier and Dominance Analysis from /Analysis to /IR 2020-05-01 20:01:46 -07:00
Canonicalizer.cpp [MLIR][NFC] applyPatternsGreedily -> applyPatternsAndFoldGreedily 2020-04-10 12:55:21 +05:30
DialectConversion.cpp [mlir][OpBuilder] Remove the vtable from OpBuilder in favor of using the listener pattern 2020-04-30 21:29:25 -07:00
Inliner.cpp [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
LocationSnapshot.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
LoopCoalescing.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
LoopFusion.cpp [MLIR] Improve support for 0-dimensional Affine Maps. 2020-04-15 14:15:02 -07:00
LoopInvariantCodeMotion.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
MemRefDataFlowOpt.cpp [MLIR] Move Verifier and Dominance Analysis from /Analysis to /IR 2020-05-01 20:01:46 -07:00
OpStats.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
ParallelLoopCollapsing.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
PassDetail.h [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
PipelineDataTransfer.cpp [MLIR] Improve support for 0-dimensional Affine Maps. 2020-04-15 14:15:02 -07:00
SCCP.cpp Rename NamedAttributeList to MutableDictionaryAttr 2020-04-29 14:58:02 -07:00
StripDebugInfo.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
SymbolDCE.cpp [mlir][Symbol] Change Symbol from a Trait into an OpInterface. 2020-04-27 13:04:49 -07:00
ViewOpGraph.cpp [mlir][NFC] Remove the STLExtras.h header file now that it has been merged into LLVM. 2020-04-14 15:14:41 -07:00
ViewRegionGraph.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00