1. 898cf0e LoopFusion: adds support for computing forward computation slices, which will enable fusion of consumer loop nests into their producers in subsequent CLs. by Andy Davis · 6 years ago
  2. e33e36f Return dependence result enum to distiguish between dependence result and error cases (NFC). by Andy Davis · 6 years ago
  3. f1b848e NFC: Rename FuncBuilder to OpBuilder and refactor to take a top level region instead of a function. by River Riddle · 6 years ago
  4. 5a91b98 Remove "size" property of affine maps. by MLIR Team · 6 years ago
  5. 1de0f97 LoopFusionUtils CL 2/n: Factor out and generalize slice union computation. by Andy Davis · 6 years ago
  6. a560f2c Affine Loop Fusion Utility Module (1/n). by Andy Davis · 6 years ago
  7. 80884d2 [LoopFusion] Don't count terminator op in compute cost. by MLIR Team · 6 years ago
  8. 8780d8d Add user iterators to IRObjects, i.e. Values. by River Riddle · 6 years ago
  9. 1a2ad06 Fix lingering sign compare warnings in exposed by "ninja check-mlir". by Stella Laurenzo · 6 years ago
  10. 90d4023 Factor out loop interchange code from LoopFusion into LoopUtils (NFC). by Andy Davis · 6 years ago
  11. d5b60ee8 Replace Operation::isa with llvm::isa. by River Riddle · 6 years ago
  12. adca3c2 Replace Operation::cast with llvm::cast. by River Riddle · 6 years ago
  13. c5ecf99 Add support for using llvm::dyn_cast/cast/isa for operation casts and replace usages of Operation::dyn_cast with llvm::dyn_cast. by River Riddle · 6 years ago
  14. 41d90a8 Automated rollback of changelist 247778391. by MLIR Team · 6 years ago
  15. 02e03b9 Add support for using llvm::dyn_cast/cast/isa for operation casts and replace usages of Operation::dyn_cast with llvm::dyn_cast. by River Riddle · 6 years ago
  16. 0134b5d Cleanups and simplifications to code, noticed by inspection. NFC. by Chris Lattner · 6 years ago
  17. 2fe8ae4 Fix up some mixed sign warnings. by Jacques Pienaar · 6 years ago
  18. 258e8d9 Prepend an "affine-" prefix to Affine pass option names - NFC by Nicolas Vasilache · 6 years ago
  19. 1423acc Rename isa_nonnull to isa_and_nonnull to match the upstream llvm name. by River Riddle · 6 years ago
  20. 44f6dff Factor code to compute dependence components out of loop fusion pass, and into a reusable utility function (NFC). by Andy Davis · 6 years ago
  21. 70a416d Fix typos in LoopFusion by Amit Sabne · 6 years ago
  22. e4628b7 Add new utilities for RTTI Operation casting: dyn_cast_or_null and isa_nonnull by River Riddle · 6 years ago
  23. 0cd589c Create a LoopUtil function to return perfectly nested loop set by MLIR Team · 6 years ago
  24. 7c1fc9e Enable producer-consumer fusion for liveout memrefs if consumer read region matches producer write region. by Andy Davis · 6 years ago
  25. 9d30b36 Enable input-reuse fusion to search function arguments for fusion candidates (takes care of a TODO, enables another tutorial test case). by MLIR Team · 6 years ago
  26. 9d9675f Remove overly conservative check in LoopFusion pass (enables fusion in tutorial example). by MLIR Team · 6 years ago
  27. 99b87c9 Replace usages of Instruction with Operation in the Transforms/ directory. by River Riddle · 6 years ago
  28. 9c08540 Replace usages of Instruction with Operation in the /Analysis directory. by River Riddle · 6 years ago
  29. 5a5bba0 Introduce affine terminator by Alex Zinenko · 6 years ago
  30. f9d9153 Replace usages of Instruction with Operation in the /IR directory. by River Riddle · 6 years ago
  31. 46ade28 Make FunctionPass::getFunction() return a reference to the function, instead of by Chris Lattner · 6 years ago
  32. 96ebde9 Replace usages of "Op::operator->" with ".". by River Riddle · 6 years ago
  33. af1abcc Replace usages of "operator->" with "." for the AffineOps. by River Riddle · 6 years ago
  34. 832567b NFC: Rename the 'for' operation in the AffineOps dialect to 'affine.for' and set the namespace of the AffineOps dialect to 'affine'. by River Riddle · 6 years ago
  35. d9b5bc8 Remove OpPointer, cleaning up a ton of code. This also moves Ops to using by Chris Lattner · 6 years ago
  36. 986310a Remove const from Value, Instruction, Argument, and the various methods on the by Chris Lattner · 6 years ago
  37. 57270a9 Remove some statements that required >C++11, add includes and qualify names. NFC. by Jacques Pienaar · 6 years ago
  38. 276fae1 Rename BlockList into Region by Alex Zinenko · 6 years ago
  39. a228b7d Change getMemoryFootprintBytes emitError to a warning by Uday Bondhugula · 6 years ago
  40. ce7e5953 Add a basic model to set tile sizes + some cleanup by Uday Bondhugula · 6 years ago
  41. 1e55ae1 Convert ambiguous bool returns in /Analysis to use Status instead. by River Riddle · 6 years ago
  42. c1ff9e8 Use FlatAffineConstraints::unionBoundingBox to perform slice bounds union for loop fusion pass (WIP). by MLIR Team · 6 years ago
  43. 02af8c2 Change Pass:getFunction() to return pointer instead of ref - NFC by Uday Bondhugula · 6 years ago
  44. d42ef78 Handle MemRefRegion::compute return value in loop fusion pass (NFC). by MLIR Team · 6 years ago
  45. eee8536 Remove hidden flag from fusion CL options by Uday Bondhugula · 6 years ago
  46. f37651c NFC. Move all of the remaining operations left in BuiltinOps to StandardOps. The only thing left in BuiltinOps are the core MLIR types. The standard types can't be moved because they are referenced within the IR directory, e.g. in things like Builder. by River Riddle · 6 years ago
  47. 85d9b6c Use consistent names for dialect op source files by Lei Zhang · 6 years ago
  48. d038e34 Loop fusion for input reuse. by MLIR Team · 6 years ago
  49. ed5fe20 Remove PassResult and have the runOnFunction/runOnModule functions return void instead. To signal a pass failure, passes should now invoke the 'signalPassFailure' method. This provides the equivalent functionality when needed, but isn't an intrusive part of the API like PassResult. by River Riddle · 6 years ago
  50. c6c5344 Port all of the existing passes over to the new pass manager infrastructure. This is largely NFC. by River Riddle · 6 years ago
  51. 7aa60a3 Temp change in FlatAffineConstraints::getSliceBounds() to deal with TODO in by Uday Bondhugula · 6 years ago
  52. d4b3ff1 Loop fusion comand line options cleanup by Uday Bondhugula · 6 years ago
  53. dfe07b7 Refactor AffineExprFlattener and move FlatAffineConstraints out of IR into by Uday Bondhugula · 6 years ago
  54. 8564b27 Internal change by MLIR Team · 6 years ago
  55. 3e65659 Define a PassID class to use when defining a pass. This allows for the type used for the ID field to be self documenting. It also allows for the compiler to know the set alignment of the ID object, which is useful for storing pointer identifiers within llvm data structures. by River Riddle · 6 years ago
  56. a1dad3a Extend/improve getSliceBounds() / complete TODO + update unionBoundingBox by Uday Bondhugula · 6 years ago
  57. 48ccae2 NFC: Refactor the files related to passes. by River Riddle · 6 years ago
  58. 58aa383 Support fusing producer loop nests which write to a memref which is live out, provided that the write region of the consumer loop nest to the same memref is a super set of the producer's write region. by MLIR Team · 6 years ago
  59. 8f5f2c7 LoopFusion: perform a series of loop interchanges to increase the loop depth at which slices of producer loop nests can be fused into constumer loop nests. by MLIR Team · 6 years ago
  60. 4ba8c91 Automated rollback of changelist 232717775. by Uday Bondhugula · 6 years ago
  61. 90d10b4 NFC: Rename the 'for' operation in the AffineOps dialect to 'affine.for'. The is the second step to adding a namespace to the AffineOps dialect. by River Riddle · 6 years ago
  62. b9dde91 Adds the ability to compute the MemRefRegion of a sliced loop nest. Utilizes this feature during loop fusion cost computation, to compute what the write region of a fusion candidate loop nest slice would be (without having to materialize the slice or change the IR). by MLIR Team · 6 years ago
  63. 10237de Refactor the affine analysis by moving some functionality to IR and some to AffineOps. This is important for allowing the affine dialect to define canonicalizations directly on the operations instead of relying on transformation passes, e.g. ComposeAffineMaps. A summary of the refactoring: by River Riddle · 6 years ago
  64. a78edcd Loop fusion improvements: by MLIR Team · 6 years ago
  65. bf9c381 Remove InstWalker and move all instruction walking to the api facilities on Function/Block/Instruction. by River Riddle · 6 years ago
  66. 0f50414 Refactor common code getting memref access in getMemRefRegion - NFC by Uday Bondhugula · 6 years ago
  67. b499277 Remove remaining usages of OperationInst in lib/Transforms. by River Riddle · 6 years ago
  68. a3d9ccae Replace the walkOps/visitOperationInst variants from the InstWalkers with the Instruction variants. by River Riddle · 6 years ago
  69. b26900d Update dma-generate pass to (1) work on blocks of instructions (instead of just by Uday Bondhugula · 6 years ago
  70. 8be2627 Promote local buffers created post fusion to higher memory space by Uday Bondhugula · 6 years ago
  71. 5052bd8 Define the AffineForOp and replace ForInst with it. This patch is largely mechanical, i.e. changing usages of ForInst to OpPointer<AffineForOp>. An important difference is that upon construction an AffineForOp no longer automatically creates the body and induction variable. To generate the body/iv, 'createBody' can be called on an AffineForOp with no body. by River Riddle · 6 years ago
  72. 1e85191 Fix ASAN issue: snapshot edge list before loop which can modify this list. by MLIR Team · 6 years ago
  73. d7c8244 LoopFusion: insert the source loop nest slice at a depth in the destination loop nest which preserves dependences (above any loop carried or other dependences). This is accomplished by updating the maximum destination loop depth based on dependence checks between source loop nest loads and stores which access the memref on which the source loop nest has a store op. In addition, prevent fusing in source loop nests which write to memrefs which escape or are live out. by MLIR Team · 6 years ago
  74. a0f3db40 Support fusing loop nests which require insertion into a new instruction Block position while preserving dependences, opening up additional fusion opportunities. by MLIR Team · 6 years ago
  75. 7555383 Recommit: Define a AffineOps dialect as well as an AffineIfOp operation. Replace all instances of IfInst with AffineIfOp and delete IfInst. by River Riddle · 6 years ago
  76. ae772b7 Automated rollback of changelist 231318632. by Nicolas Vasilache · 6 years ago
  77. 5ecef2b Define a AffineOps dialect as well as an AffineIfOp operation. Replace all instances of IfInst with AffineIfOp and delete IfInst. by River Riddle · 6 years ago
  78. 0e7a8a9 Drop AffineMap::Null and IntegerSet::Null by Nicolas Vasilache · 6 years ago
  79. 75c21e1 Wrap cl::opt flags within passes in a category with the pass name. This improves the help output of tools like mlir-opt. by River Riddle · 6 years ago
  80. b4a1443 Update replaceAllMemRefUsesWith to generate single result affine_apply's for by Uday Bondhugula · 6 years ago
  81. 5c5739d Change the dependence check in the loop fusion pass to use the MLIR instruction list ordering (instead of the dependence graph node id ordering). This breaks the overloading of dependence graph node ids as both edge endpoints and instruction list position. by MLIR Team · 6 years ago
  82. 06d21d9 loop-fusion: debug info cleanup by Uday Bondhugula · 6 years ago
  83. 6859f33 Migrate VectorOrTensorType/MemRefType shape api to use int64_t instead of int. by River Riddle · 6 years ago
  84. b28009b Fix single producer check in loop fusion pass. by MLIR Team · 6 years ago
  85. 864d9e0 Update fusion cost model + some additional infrastructure and debug information for -loop-fusion by Uday Bondhugula · 6 years ago
  86. 94a03f8 Allocate private/local buffers for slices accurately during fusion by Uday Bondhugula · 6 years ago
  87. 71495d5 Handle escaping memrefs in loop fusion pass: by MLIR Team · 6 years ago
  88. 1e484b5 Mark (void)indexRemap to please compiler for unused variable check by Lei Zhang · 6 years ago
  89. c4237ae LoopFusion: Creates private MemRefs which are used only by operations in the fused loop. by MLIR Team · 6 years ago
  90. c1ca23e Some loop fusion code cleanup/simplification post cl/229575126 by Uday Bondhugula · 6 years ago
  91. 27d067e LoopFusion improvements: by MLIR Team · 6 years ago
  92. f99a44a Address documentation/readability related comments from cl/227252907 on memref by Uday Bondhugula · 6 years ago
  93. 03e15e1 Minor code cleanup - NFC. by Uday Bondhugula · 6 years ago
  94. 38c2fe3 LoopFusion: automate selection of source loop nest slice depth and destination loop nest insertion depth based on a simple cost model (cost model can be extended/replaced at a later time). by MLIR Team · 6 years ago
  95. 21baf86 Extend loop-fusion's slicing utility + other fixes / updates by Uday Bondhugula · 6 years ago
  96. 56b3640 Misc readability and doc / code comment related improvements - NFC by Uday Bondhugula · 6 years ago
  97. 7974889 Update and generalize various passes to work on both CFG and ML functions, by Chris Lattner · 6 years ago
  98. b9fe6be Introduce memref store to load forwarding - a simple memref dataflow analysis by Uday Bondhugula · 6 years ago
  99. dffc589 Extend InstVisitor and Walker to handle arbitrary CFG functions, expand the by Chris Lattner · 6 years ago
  100. 456ad6a Standardize naming of statements -> instructions, revisting the code base to be by Chris Lattner · 6 years ago