- 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
- e33e36f Return dependence result enum to distiguish between dependence result and error cases (NFC). by Andy Davis · 6 years ago
- f1b848e NFC: Rename FuncBuilder to OpBuilder and refactor to take a top level region instead of a function. by River Riddle · 6 years ago
- 5a91b98 Remove "size" property of affine maps. by MLIR Team · 6 years ago
- 1de0f97 LoopFusionUtils CL 2/n: Factor out and generalize slice union computation. by Andy Davis · 6 years ago
- a560f2c Affine Loop Fusion Utility Module (1/n). by Andy Davis · 6 years ago
- 80884d2 [LoopFusion] Don't count terminator op in compute cost. by MLIR Team · 6 years ago
- 8780d8d Add user iterators to IRObjects, i.e. Values. by River Riddle · 6 years ago
- 1a2ad06 Fix lingering sign compare warnings in exposed by "ninja check-mlir". by Stella Laurenzo · 6 years ago
- 90d4023 Factor out loop interchange code from LoopFusion into LoopUtils (NFC). by Andy Davis · 6 years ago
- d5b60ee8 Replace Operation::isa with llvm::isa. by River Riddle · 6 years ago
- adca3c2 Replace Operation::cast with llvm::cast. by River Riddle · 6 years ago
- 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
- 41d90a8 Automated rollback of changelist 247778391. by MLIR Team · 6 years ago
- 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
- 0134b5d Cleanups and simplifications to code, noticed by inspection. NFC. by Chris Lattner · 6 years ago
- 2fe8ae4 Fix up some mixed sign warnings. by Jacques Pienaar · 6 years ago
- 258e8d9 Prepend an "affine-" prefix to Affine pass option names - NFC by Nicolas Vasilache · 6 years ago
- 1423acc Rename isa_nonnull to isa_and_nonnull to match the upstream llvm name. by River Riddle · 6 years ago
- 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
- 70a416d Fix typos in LoopFusion by Amit Sabne · 6 years ago
- e4628b7 Add new utilities for RTTI Operation casting: dyn_cast_or_null and isa_nonnull by River Riddle · 6 years ago
- 0cd589c Create a LoopUtil function to return perfectly nested loop set by MLIR Team · 6 years ago
- 7c1fc9e Enable producer-consumer fusion for liveout memrefs if consumer read region matches producer write region. by Andy Davis · 6 years ago
- 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
- 9d9675f Remove overly conservative check in LoopFusion pass (enables fusion in tutorial example). by MLIR Team · 6 years ago
- 99b87c9 Replace usages of Instruction with Operation in the Transforms/ directory. by River Riddle · 6 years ago
- 9c08540 Replace usages of Instruction with Operation in the /Analysis directory. by River Riddle · 6 years ago
- 5a5bba0 Introduce affine terminator by Alex Zinenko · 6 years ago
- f9d9153 Replace usages of Instruction with Operation in the /IR directory. by River Riddle · 6 years ago
- 46ade28 Make FunctionPass::getFunction() return a reference to the function, instead of by Chris Lattner · 6 years ago
- 96ebde9 Replace usages of "Op::operator->" with ".". by River Riddle · 6 years ago
- af1abcc Replace usages of "operator->" with "." for the AffineOps. by River Riddle · 6 years ago
- 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
- d9b5bc8 Remove OpPointer, cleaning up a ton of code. This also moves Ops to using by Chris Lattner · 6 years ago
- 986310a Remove const from Value, Instruction, Argument, and the various methods on the by Chris Lattner · 6 years ago
- 57270a9 Remove some statements that required >C++11, add includes and qualify names. NFC. by Jacques Pienaar · 6 years ago
- 276fae1 Rename BlockList into Region by Alex Zinenko · 6 years ago
- a228b7d Change getMemoryFootprintBytes emitError to a warning by Uday Bondhugula · 6 years ago
- ce7e5953 Add a basic model to set tile sizes + some cleanup by Uday Bondhugula · 6 years ago
- 1e55ae1 Convert ambiguous bool returns in /Analysis to use Status instead. by River Riddle · 6 years ago
- c1ff9e8 Use FlatAffineConstraints::unionBoundingBox to perform slice bounds union for loop fusion pass (WIP). by MLIR Team · 6 years ago
- 02af8c2 Change Pass:getFunction() to return pointer instead of ref - NFC by Uday Bondhugula · 6 years ago
- d42ef78 Handle MemRefRegion::compute return value in loop fusion pass (NFC). by MLIR Team · 6 years ago
- eee8536 Remove hidden flag from fusion CL options by Uday Bondhugula · 6 years ago
- 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
- 85d9b6c Use consistent names for dialect op source files by Lei Zhang · 6 years ago
- d038e34 Loop fusion for input reuse. by MLIR Team · 6 years ago
- 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
- c6c5344 Port all of the existing passes over to the new pass manager infrastructure. This is largely NFC. by River Riddle · 6 years ago
- 7aa60a3 Temp change in FlatAffineConstraints::getSliceBounds() to deal with TODO in by Uday Bondhugula · 6 years ago
- d4b3ff1 Loop fusion comand line options cleanup by Uday Bondhugula · 6 years ago
- dfe07b7 Refactor AffineExprFlattener and move FlatAffineConstraints out of IR into by Uday Bondhugula · 6 years ago
- 8564b27 Internal change by MLIR Team · 6 years ago
- 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
- a1dad3a Extend/improve getSliceBounds() / complete TODO + update unionBoundingBox by Uday Bondhugula · 6 years ago
- 48ccae2 NFC: Refactor the files related to passes. by River Riddle · 6 years ago
- 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
- 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
- 4ba8c91 Automated rollback of changelist 232717775. by Uday Bondhugula · 6 years ago
- 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
- 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
- 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
- a78edcd Loop fusion improvements: by MLIR Team · 6 years ago
- bf9c381 Remove InstWalker and move all instruction walking to the api facilities on Function/Block/Instruction. by River Riddle · 6 years ago
- 0f50414 Refactor common code getting memref access in getMemRefRegion - NFC by Uday Bondhugula · 6 years ago
- b499277 Remove remaining usages of OperationInst in lib/Transforms. by River Riddle · 6 years ago
- a3d9ccae Replace the walkOps/visitOperationInst variants from the InstWalkers with the Instruction variants. by River Riddle · 6 years ago
- b26900d Update dma-generate pass to (1) work on blocks of instructions (instead of just by Uday Bondhugula · 6 years ago
- 8be2627 Promote local buffers created post fusion to higher memory space by Uday Bondhugula · 6 years ago
- 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
- 1e85191 Fix ASAN issue: snapshot edge list before loop which can modify this list. by MLIR Team · 6 years ago
- 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
- 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
- 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
- ae772b7 Automated rollback of changelist 231318632. by Nicolas Vasilache · 6 years ago
- 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
- 0e7a8a9 Drop AffineMap::Null and IntegerSet::Null by Nicolas Vasilache · 6 years ago
- 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
- b4a1443 Update replaceAllMemRefUsesWith to generate single result affine_apply's for by Uday Bondhugula · 6 years ago
- 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
- 06d21d9 loop-fusion: debug info cleanup by Uday Bondhugula · 6 years ago
- 6859f33 Migrate VectorOrTensorType/MemRefType shape api to use int64_t instead of int. by River Riddle · 6 years ago
- b28009b Fix single producer check in loop fusion pass. by MLIR Team · 6 years ago
- 864d9e0 Update fusion cost model + some additional infrastructure and debug information for -loop-fusion by Uday Bondhugula · 6 years ago
- 94a03f8 Allocate private/local buffers for slices accurately during fusion by Uday Bondhugula · 6 years ago
- 71495d5 Handle escaping memrefs in loop fusion pass: by MLIR Team · 6 years ago
- 1e484b5 Mark (void)indexRemap to please compiler for unused variable check by Lei Zhang · 6 years ago
- c4237ae LoopFusion: Creates private MemRefs which are used only by operations in the fused loop. by MLIR Team · 6 years ago
- c1ca23e Some loop fusion code cleanup/simplification post cl/229575126 by Uday Bondhugula · 6 years ago
- 27d067e LoopFusion improvements: by MLIR Team · 6 years ago
- f99a44a Address documentation/readability related comments from cl/227252907 on memref by Uday Bondhugula · 6 years ago
- 03e15e1 Minor code cleanup - NFC. by Uday Bondhugula · 6 years ago
- 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
- 21baf86 Extend loop-fusion's slicing utility + other fixes / updates by Uday Bondhugula · 6 years ago
- 56b3640 Misc readability and doc / code comment related improvements - NFC by Uday Bondhugula · 6 years ago
- 7974889 Update and generalize various passes to work on both CFG and ML functions, by Chris Lattner · 6 years ago
- b9fe6be Introduce memref store to load forwarding - a simple memref dataflow analysis by Uday Bondhugula · 6 years ago
- dffc589 Extend InstVisitor and Walker to handle arbitrary CFG functions, expand the by Chris Lattner · 6 years ago
- 456ad6a Standardize naming of statements -> instructions, revisting the code base to be by Chris Lattner · 6 years ago