llvm-project/mlir/test/Transforms
River Riddle abe3e5babd [mlir] Add support for generating debug locations from intermediate levels of the IR.
Summary:
This revision adds a utility to generate debug locations from the IR during compilation, by snapshotting to a output stream and using the locations that operations were dumped in that stream. The new locations may either;
* Replace the original location of the operation.

old:
   loc("original_source.cpp":1:1)
new:
   loc("snapshot_source.mlir":10:10)

* Fuse with the original locations as NamedLocs with a specific tag.

old:
    loc("original_source.cpp":1:1)
new:
    loc(fused["original_source.cpp":1:1, "snapshot"("snapshot_source.mlir":10:10)])

This feature may be used by a debugger to display the code at various different levels of the IR. It would also be able to show the different levels of IR attached to a specific source line in the original source file.

This feature may also be used to generate locations for operations generated during compilation, that don't necessarily have a user source location to attach to.

This requires changes in the printer to track the locations of operations emitted in the stream. Moving forward we need to properly(and efficiently) track the number of newlines emitted to the stream during printing.

Differential Revision: https://reviews.llvm.org/D74019
2020-02-08 15:11:29 -08:00
..
Vectorize [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
affine-data-copy.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
affine-loop-invariant-code-motion.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
canonicalize-dce.mlir Merge DCE and unreachable block elimination into a new utility 'simplifyRegions'. 2019-11-20 15:53:19 -08:00
canonicalize.mlir [mlir] : Fix ViewOp shape folder for identity affine maps 2020-01-15 00:54:00 +00:00
constant-fold.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
cse.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
dma-generate.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
inlining.mlir Add support for canonicalizing callable regions during inlining. 2019-10-10 17:06:33 -07:00
location-snapshot.mlir [mlir] Add support for generating debug locations from intermediate levels of the IR. 2020-02-08 15:11:29 -08:00
loop-coalescing.mlir Add integer bit-shift operations to the standard dialect. 2019-12-22 10:02:13 -08:00
loop-fusion-dependence-check.mlir Globally change load/store/dma_start/dma_wait operations over to affine.load/store/dma_start/dma_wait. 2019-07-03 14:37:06 -07:00
loop-fusion-slice-computation.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
loop-fusion.mlir [mlir] NFC: Fix trivial typo in comment 2020-02-03 17:39:56 +09:00
loop-invariant-code-motion.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
loop-tiling.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
lower-affine.mlir [mlir] Add AffineMaxOp 2020-02-06 10:26:50 +01:00
memref-bound-check.mlir [MLIR] Rename MemRefBoundCheck.cpp -> TestMemRefBoundCheck.cpp 2020-02-05 11:27:09 -08:00
memref-dataflow-opt.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
memref-dependence-check.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
memref-normalize.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
parallelism-detection.mlir Affine loop parallelism detection: conservatively handle unknown ops 2019-07-23 10:18:46 -07:00
parametric-mapping.mlir Support lowering of imperfectly nested loops into GPU dialect. 2019-11-01 10:52:06 -07:00
parametric-tiling.mlir Add integer bit-shift operations to the standard dialect. 2019-12-22 10:02:13 -08:00
pipeline-data-transfer.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
simplify-affine-structures.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
slicing-utils.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
strip-debuginfo.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
test-canonicalize.mlir Convert the Canonicalize and CSE passes to generic Operation Passes. 2019-10-24 15:01:09 -07:00
test-inlining.mlir Add the initial inlining infrastructure. 2019-09-05 12:24:13 -07:00
test-legalize-remapped-value.mlir Add getRemappedValue to ConversionPatternRewriter 2019-11-19 11:09:39 -08:00
test-legalizer-analysis.mlir Add support for multi-level value mapping to DialectConversion. 2019-09-16 10:38:19 -07:00
test-legalizer-full.mlir [mlir] Add support for marking 'unknown' operations as dynamically legal. 2020-01-27 19:50:52 -08:00
test-legalizer.mlir Try to fold operations in DialectConversion when trying to legalize. 2019-12-13 16:47:26 -08:00
unroll-jam.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00
unroll.mlir [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid conflicts with function types. 2020-01-13 13:24:39 -08:00