This is an automated email from the git hooks/post-receive script.
tcwg-buildslave pushed a change to branch linaro-local/ci/tcwg_kernel/llvm-master-arm-next-defconfig in repository toolchain/ci/llvm-project.
from a9fdfe63ce0 Fix LLVM tool --version build mode printing for MSVC adds e028cee66a2 MC: Ensure test only reads from the Inputs directory adds d35bcbbb5da [Sema][X86] Consider target attribute into the checks in va [...] adds 7a9ebe95125 [msan] Intercept qsort, qsort_r. adds caa48a6b88a [msan] Check qsort input. adds 0d3f782e413 [FPEnv][X86] More strict int <-> FP conversion fixes adds 4b64e034612 ASTContext: fix declaration of ParsedTargetAttr [-Wmismatch [...] adds 5762648c46b [Docs] Fix sphinx build errors. adds 187f66bcac6 [lldb/CMake] Always set a value for find_package when findi [...] adds e5a743c4f6e Add implementations of POSIX mmap and munmap functions. adds 9a77c209543 [InstCombine] add tests for not(select ...); NFC adds 25cf5d97ace [InstCombine] add test for copysign; NFC adds 379613d7c7f [CFG] Fix an assertion failure with static initializers adds ebcb36d4a13 Revert "[lldb] Don't process symlinks deep inside DWARFUnit" adds 6f635f90929 [DWARF] Check that all fields of a Unit Header are read. adds aed0d21a62d Create README.md adds 9603f9fe354 Sketch out a new repository for the mlir project (go/mlir). adds 80a03c80a9e [MLIR] Enable lit test driver for simple check test. adds 5fc587ecf85 Continue sketching out basic infrastructure, including an i [...] adds 9b9f7ff5d4e Implement enough of a lexer and parser for MLIR to parse ex [...] adds 23b784a1bb3 Implement parser and lexer support for most of the type grammar. adds 49795d166f2 Introduce IR support for MLIRContext, primitive types, func [...] adds 80b6bd24b3d Implement parser/IR support for CFG functions, basic blocks [...] adds 642f3e8847a Add tensor type. adds 81f5332e45d Remove unused UnrankedTensorTypeKeyInfo. adds a5fb2f47e14 Add negative parsing tests using mlir-opt. adds 2b6684cfbe6 Add the unconditional branch instruction, improve diagnosti [...] adds b11a95350ff Change Lexer and Parser to take diagnostic reporter function. adds 39a33a2568c Change error verification of parser error checking. adds c7fe8c38a58 Report parsing error check failures wrt file being parsed. adds 8901448f146 Add some scaffolding for parsing affine maps: - parsing aff [...] adds 3609599af69 Introduce IR and parser support for ML functions. Represent [...] adds 1734d78f880 Sketch out parser/IR support for OperationInst, and a new I [...] adds 509da7907e1 Refactor information about tokens out into a new TokenKinds [...] adds fdf7bc4e25a [WIP] Sketching IR and parsing support for affine maps, aff [...] adds 6af866c58d2 Enhance the type system to support arbitrary precision inte [...] adds 789ba6319e3 Improve management of instructions and basic blocks by havi [...] adds 2057b454dcc Add default error reporter for parser. adds 177ce7215c3 Basic representation and parsing of if and for statements. [...] adds 3dc4fb6f0f7 Parsing support for affine maps and affine expressions adds bd7c1f95666 Clean up an MLIRContext comment adds ad4ea232784 Clean up the implementation of Type, making it structurally [...] adds ccd8caee9ed Implement IR support for attributes. adds b0dabbd67f3 Add parsing for attributes and attibutes on operations. Ad [...] adds 1928e20a569 Add the ability to have "Ops" defined as small C++ classes, [...] adds 9e0e01b47ac Implement Uday's suggestion to unique attribute lists acros [...] adds 67c03193de8 Implement a simple IR verifier, including support for custo [...] adds f9da10ce454 Change to assert(0,x) to llvm_unreachable(x) adds 9d869ea76db Add basic lexing and parsing support for SSA operands and d [...] adds c90de703296 Expand check-parser-errors to match multiple errrors per line. adds a5a6c77e912 Introduce the start of IR builder APIs, which makes it easi [...] adds fc46bcf51d4 Complete affine expr parsing support adds 178fd248132 AffineMap/AffineExpr: delete copy constructor/assignment, r [...] adds 6d93615678b Implement OperationStmt. Refactor function printing to use [...] adds c39def4fa30 Refactor the parser a bit to split out the pieces that need [...] adds 35b4a0082f4 Finish refactoring the parser into subunits, creating a Mod [...] adds d6c4c5dbb8a Add attributes and affine expr/map to the Builder, switch t [...] adds 610e5a57f60 Fix setting errorReporter. adds 4b6bf08b3b1 Remove const reference to errorReporter. adds b488a035aaf Implement some simple affine expr canonicalization/simplification. adds 8fbaf79afbf Parse affine map range sizes. adds 686fb64e2f2 Comment fixes for affine map range size parsing. adds 8efc06dc2cc Refactor implementation of Statement class heirarchy to use [...] adds ad9894a2fdc Use LLVM dynamic dispatch to disambiguate between StmtBlock [...] adds c4f35a66051 Switch the comment syntax from ; to // comments as discusse [...] adds 1d0d9968eed Move newline printed with op to function/basic block printer. adds 8e8114a96d4 Adds MemRef type and adds support for parsing memref affine [...] adds fc7d6dbe5e8 Parse operations in ML functions. Add builder class for ML [...] adds 4293666bf77 Add no-trait base OpImpl::Base. adds fa75d6210ee Adds ModuleState to support printing outlined AffineMaps. adds 321f8c5443e Address AsmPrinter changes from last CL. adds b3fa7d0e9fe Initial support for operands and results and SSA constructs [...] adds f1e039617b2 Support for AffineMapAttr. adds e917c0a2ad6 Provide better factoring for the SSA types to allow type ag [...] adds 72c24e3e71d Add basic parser support for operands: - This introduces a [...] adds 6ada91db020 Parse ML function arguments, return statement operands, and [...] adds 8bbdd043659 Rename isSymbolic to isSymbolicOrConstant to avoid confusion. adds 6d242fcf4bc Simplify affine binary op expression class hierarchy adds a798b021f9b Teach the asmprinter to print out operands for OperationIns [...] adds 3b7b3302c76 Refactor the AsmParser to follow the pattern established in [...] adds 3d52f72e02c Better error location reporting for non-affine expressions. adds bd11eff2d68 Remove undefined CFGFunction::print. adds 3d2a24635e0 Add support for multiple results to the printer/parser, add [...] adds e402dcc47fc Add support for operands to the return instructions, enhanc [...] adds 4144c302dba [mlir] Add basic block arguments adds 3de07e5c530 Implement generic operand/result iterators that map through [...] adds 21ede32ff5d Implement support for branch instruction operands. adds 0816c186fdc Add operand support to the Instruction base class. Add set [...] adds d600a89391d Clarify that the "integer" in primitive types is affine int [...] adds 0b2ec56d8f1 [mlir] clang-format adds 0b6b99667bd Vector types elementtype can be either PrimitiveType or Int [...] adds 4331e5fe4c0 Switch return instruction to take its operand list separate [...] adds d70cb48b581 [mlir] clang-format Parser.cpp adds aaeb8daa509 Introduce a Parser::parseToken method to encapsulate a comm [...] adds 0ab2e2536a6 Enhance the customizable "Op" implementations in a bunch of [...] adds 4db2ee5f1bf [mlir] Fix a use-after-free iterator error found by asan adds b14d0189e88 Adds newly renamed "affine_apply" operation to StandardOps. [...] adds 1b24c48b918 Scaffolding for convertToCFG pass that replaces all instanc [...] adds 6cab8584058 Allow 'constant' op to work with affineint, add some access [...] adds d28598149b9 [mlir] add .clang-format adds f7f70ee6914 [mlir] Implement conditional branch adds b5cdf604773 Expose custom asmprinter support to core operations and hav [...] adds f5c634a1a1f Delete the destructors of attributes and types, since they [...] adds f1c35e90c34 [mlir] Add mlir-mode.el adds f44636f03d8 Adds VariadicOperands and VariadicResult traits to Operatio [...] adds a0abd666a7f Sketch out loop unrolling transformation. adds e866f577307 Unique AffineDimExpr, AffineSymbolExpr, AffineConstantExpr, [...] adds b67fc6c422e Implement custom parser support for operations, enhance dim [...] adds 50f89b41886 Fix FIXME's/TODOs: - Enhance memref type to allow omission [...] adds f964bad6d15 Implement a proper function list in module, which auto-main [...] adds 043e3f0b742 [mlir] Remove duplicated operand accessors adds a0bd33eb470 [mlir] Clean up ReturnInst; remove unnecessary operand iterators adds 50b2ce51ffb Fix/clean up convoluted AffineBinaryOpExpr::get. adds 8f60c4ad732 Implement the groundwork for predecessor/successor iterator [...] adds 2480e12b8ac Fix broken build: change switch cast to use llvm_unreachable. adds a2440f6a1d3 Add AffineExprVisitor utility. adds 27bd74a3cad Enhance ConstantIntOp to work with AffineInt, move use/def [...] adds 501fda4b366 Implement basic block successor iterators. Rename BBDestin [...] adds 9ebd3c7df8a Implement MLValue, statement operands, operation statement [...] adds 0af97111d2d Stmt visitors and walkers. adds 6a93e146c0e Add tf_control type and allow $ in bare-id. adds 6e89270b2d0 Implement support for predecessor iterators on basic blocks [...] adds c77f39f55cd Eliminate "primitive" types from being a thing, splitting t [...] adds 9128a4aa87b Finish parser/printer support for AffineMapOp, implement op [...] adds 12adbeb8721 Prepare for implementation of TensorFlow passes: - Sketch [...] adds 782c348c002 Change mlir-opt.cpp to take a list of passes to run, simpli [...] adds c7d660ec392 Implement the rewrite pass of RaiseTFControlFlow, which str [...] adds e990ec65d03 Internal change adds 775130b6b97 Add tf_control to syntax files's types. NFC adds 467c5cb3bac Improvements to Op trait implementation: - Generalize TwoO [...] adds dfd48dc24c8 LoopUnroll post order walk: fix misleading naming adds 483a6d5cf86 Add AtleastNOperands trait and update tf-ops test adds d48790cc520 Add standard op for MLIR 'alloc' instruction (with parser a [...] adds fe7356c43b5 Internal change adds c8b0273f19a Implement induction variables. Pretty print induction varia [...] adds 43e2a136059 Use for statement directly as an operand instead of having [...] adds d86068203bb Adds a standard op for MLIR 'store' instruction. adds cdefcc86e54 Fix MLFuncBuilder::createOperation. adds 6cfb09409f8 Make MemRefType::getNumDynamicDims const. adds 9ff86e6fc52 Add . to bare-id to allow custom ops such as tf.add adds ace4df1200b Revise the AffineExpr printing logic to be more careful abo [...] adds 1015a0dded4 Add parsing for floating point attributes. adds 5228ec3146d Fix some issues where we weren't printing affine map refere [...] adds 8189a12bcee Clean up and extend MLFuncBuilder to allow creating stateme [...] adds 48dbfb48d5c Enhance MLIRContext and operations with the ability to regi [...] adds 8eaf382734b Use SFINAE to generalize << overloads, give 'constant' a pr [...] adds f376d3c6c42 [mlir] Add initial graphdef->mlir generation adds 1e793eb8dc4 [mlir] Add a string type adds b92378e8fa9 More simplification for affine binary op expr's. adds 2a003256ae3 MLStmt cloning and IV replacement for loop unrolling, add c [...] adds 6472f5fbbb6 [mlir] Fix ReturnInst printing for zero operands adds 316e884367c Give custom ops the ability to also access general addition [...] adds fc1f2234470 Have the asmprinter give true/false constants nice names, a [...] adds 8520562c340 Fix ForStmt and StmtBlock destructors. adds 72645b31b86 [mlir] Add a TypeAttr class, allow type attributes adds 2cf3d229329 [mlir] Correctly indent block terminators adds fcf15a680bd Add op create helper on CFG and ML builder. adds b4dea892f2e Fix oversight while refactoring code in 207198873 (Fix ForS [...] adds 2dcdec89101 Fix segfaults when printing unlinked statements, instructio [...] adds 65b6e732459 Loop unrolling update. adds ed9fa464135 Continue wiring up diagnostic reporting infrastructure, sti [...] adds a0a6414ca27 Implement ML function arguments. Add representation for arg [...] adds cbdcacdbd93 Fix b/112189633, where we'd produce errors but not return f [...] adds d8490d8d4ff Loop unrolling pass update adds 17ef97bf7e1 Refactor the asmparser hook to work with a new OperationSta [...] adds 9d293108827 Use OperationState to simplify the create<Op> methods, move [...] adds 8a663870e81 Support for affine integer sets adds b1b0d938b7b Make MLIRContext class members' declaration order consistent. adds 01915ad0a07 More grooming of custom op parser APIs to allow many of the [...] adds 8159186f574 Rework the cloning infrastructure for statements to be able [...] adds 4e289a47009 Implement return statement as RetOp operation. Add verifica [...] adds 22ae97cffcd Minor improvements to the return operation implementation. adds 067d70f20df Add convenience builder for MemRefType. adds 95c1bf445a4 Add MLFunction::getReturnStmt. adds 3e92be9c71f Move Pass.{h,cpp} from lib/IR/ to lib/Transforms/. adds ab60afb2347 [mlir] Allow C-style escapes in Lexer adds 6b614091641 Add AffineMap::isIdentity helper function. adds d6c4c748d70 Escape and unescape strings in the parser and printer so th [...] adds 2487f2dc73c AffineMap::isIdentity clean up from previous CL review. adds f962e628e33 Adds dealloc MLIR memory operation to StandardOps. adds ab2aa65511a [mlir] Fix tests after Chris implemented string escaping in MLIR adds 98a24881d32 ShortLoopUnroll - bug fix. adds 2278bcc891a Add support for floating point constants, fixing b/11270784 [...] adds ec1cfe22682 [mlir-opt] Enable defining which operations are defined at [...] adds 6fabf75051c Rephrasing last statement invariant check in ReturnOp::veri [...] adds ae79d699221 Implement a module-level symbol table for functions, enforc [...] adds 9265197c4eb Implement initial support for function attributes, includin [...] adds ff6daf98fe8 Add custom lilith script. adds d9290db5fe4 Finish support for function attributes, and improve lots of [...] adds 6911c24e972 Sketch out affine analysis structures: AffineValueMap, Inte [...] adds 00bed4bd99f Extend loop unrolling to unroll by a given factor; add buil [...] adds 84259c7defa Implement call and call_indirect ops. adds d42ecea3816 Clean up the op builder APIs, and simplify the implementati [...] adds 9de71b2aea3 Introduce a new extract_element operation that does what it [...] adds 956e0f7e216 Push location information more tightly into the IR, providi [...] adds dfc58848e3b Two unrelated API cleanups: remove the location processing [...] adds acd5bd98d17 First steps towards TF/XLA control flow lowering: functiona [...] adds d32a28c5204 Implement operands for the lower and upper bounds of the fo [...] adds 851353687f1 Introduce hyper-rectangular sets for analysis. adds bd44fcb8ffe Fix confusing CHECK-EMPTY in affine-map test adds 6d13c3b7739 Add 2 extra MLIR affine tests adds b70d3d662ea Remove dead declaration adds 6cc9786c3e4 Uniformize access pattern to state. adds a124e9c4a54 Avoid hardcoded 4096 constant adds adf48e1bd2d Introduce a new Location abstraction to represent location [...] adds 1a56ee7093b Implement operands for the 'if' statement. adds e9fb4b492d9 Introduce loop unroll jam transformation. adds 0122a99cbb4 Affine expression analysis and simplification. adds 4c09776588d Add support for iterating through uses to SSAValueImpl. Not [...] adds 2c72044b440 Add builders for memory ops that did not have them (tested [...] adds cedc28483fa Fix asan failure introduced by cl/210618122 and statement w [...] adds 2d29d98df06 Fix the underlying cause for the asan test failure introduc [...] adds 6dc2a34dcf5 Continue revising diagnostic handling to simplify and gener [...] adds b7fc834856d Add parseSourceString method to make it easy for clients to [...] adds d5416f299e4 Complete AffineExprFlattener based simplification for floor [...] adds 95f31d53d55 Add GraphTraits and DOTGraphTraits for CFGFunction in debug [...] adds f884e8da822 Fix opt build where compiled out assert leaves unused local [...] adds 2366c58a794 Implement getFunction() helpers on the various value types, [...] adds 5f11f684055 Several minor infra improvements: - Make the tf-lower-cont [...] adds b18c770d90e Teach RaiseControlFlow to handle IfOp's with partially infe [...] adds 6337af082b5 Improve location reporting in the verifier for return instr [...] adds 348f31a4fa6 Add location specifier to MLIR Functions, and: - Compress [...] adds 758cb48bf46 Internal change. adds 3bae041e5d4 Add utility to promote single iteration loops. Add methods [...] adds 9afa796d42e Change SourgeMgr to const reference in Parser/Lexer. adds d101fb937bc Return error status when number of operands don't match whi [...] adds cf9aba2b2b1 Check for absence of delimiters when delimiters is None and [...] adds c2f987b6642 rework the custom op verifier hooks to use the diagnostic e [...] adds 8ad7e2b8fad Update error message for invalid operand token while parsin [...] adds e5608ae32b0 Fix cast in AffineMap::getSingleConstantValue and rename to [...] adds 64812a56c7b Extend getConstantTripCount to deal with a larger subset of [...] adds a7611790f81 Add misc builder convenience methods for AffineMap's, for s [...] adds a21f2f453d4 Introduce pretty syntax for shape_cast as discussed on the [...] adds e1257e89784 Change unranked tensor syntax from tensor<??f32> to tensor< [...] adds fb3116f59ea Add PassResult and have passes return PassResult to indicat [...] adds 37a3f638ea9 Misc changes to builder's and Transforms/ API to allow code [...] adds 52111cefc01 Store 'then' clause statements directly in the 'if' statement. adds 47c7df0ed96 Tool for translating from/to MLIR. adds 7103779fb84 Moving success/failure to Pass. adds ab4797229c3 Extend loop unroll/unroll-and-jam to affine bounds + refact [...] adds 81a066e6e74 Switch from positional argument to explicit flags for mlir- [...] adds 7e004efae25 Add function attributes for ExtFunction, CFGFunction and ML [...] adds 14ca1be9a70 Add missing verifier logic for addf, and fix b/116054838 - [...] adds 4bc5dc96021 Handle the TF resource data type in the TF/XLA roundtrip pass. adds 5f69643cbf7 Support TF Variant type in the tf/mlir roundtrip pass. adds 82eb284a53c Implement support for constant folding operations and a sim [...] adds aa0309d7040 Add verification for AllocOp. adds 948dea045ba Supports TF Complex64/Complex128 types in the tf/mlir round [...] adds d6f8ec7bacb Introduce [post]dominator tree and related infrastructure, [...] adds cdb9551abad Move the GraphTraits implementations for CFGs out to their [...] adds e5354c24049 Add op registry for registering MLIR ops. adds f9e50199e99 [MLIR] Fix AsmPrinter.cpp for single ssa-id AffineMap adds 99188b9d98b Adds constant folding hook for AffineApplyOp. adds f54861fc4a4 Add MLIR (addf) -> MLIR HLO thin slice. adds 0f7fddfd65e [MLIR] Add support for MulFOp adds 54e5b4b4c02 [MLIR] Fix AsmPrinter for short-hand bound notation adds be8069eb331 Introduce a new BinaryOp to commonize simple binary ops, in [...] adds 501462ac471 Use statement walker for constant folding. adds aed24ff553d Rename OpBase -> Op. adds 140672a2b8a [MLIR] Add DimOp build support adds c6e4aa9ba79 Fix b/116749799, an issue where the ZeroResult trait's veri [...] adds 430172ab47e Add support to TF f32_ref type in MLIR adds c706e0b1b5c Add support for expected-warning and expected-note markers [...] adds 591fa9698e2 Change behavior of loopUnrollFull with unroll factor 1 adds ec35e51f6dd Change loop step to be a positive integral constant adds 041817a45e4 Introduce loop body skewing / loop pipelining / loop shifti [...] adds 7d016fd3523 Add support to Add, Sub, Mul for both Integer and Float types. adds 0ebc927f2fe Fix MLIR's floordiv, ceildiv, and mod for constant inputs ( [...] adds 4805e629c5e [MLIR] Use chainable ligthweight wrapper for AffineExpr adds 9ef87c4b6b5 [MLIR] AffineExpr lightweight value type for operators adds 544f5e7a9b4 [MLIR] Remove uses of AffineExpr* outside of IR adds 5b8017db187 [MLIR] Templated AffineExprBaseRef adds b55b4076011 [RFC][MLIR] Use AffineExprRef in place of AffineExpr* in IR adds 6cfdb756b16 Introduce memref replacement/rewrite support: to replace an [...] adds 6822c4e29c2 Implement support for constant folding operations even when [...] adds f069d796f38 Fix opt build breakage - lib/Transforms/Utils.cpp adds d18ae9e2c76 Constant folding for loop bounds. adds d2d89cbc19c Rename affineint type to index type. The name 'index' may [...] adds 4911978f7ee [MLIR] Value types for AffineXXXExpr adds ce2edea1353 [MLIR] Cleanup AffineExpr adds fe490043b0c Affine map composition. *) Implements AffineValueMap forwar [...] adds 6707c7bea10 [MLIR] AffineExpr final cleanups adds c3861438345 Address comments from previous CL/216216446 adds 8ebb6ff1718 [MLIR] Sketch AffineExpr value type adds 2df03be6210 Fix some leak and crash found via fuzzing. adds 82e55750d2d Add target independent standard DMA ops: dma.start, dma.wait adds 1d3e7e2616b [MLIR] AffineMap value type adds 84a0c402616 Support `getShape`, `hasStaticShape` and `getDimSize` metho [...] adds fd06c6bc4ee Change the representation of an operation name to be either [...] adds 5e3cca906ac Add support to constant splat vector/tensor attribute. adds b04f881dcb8 [MLIR] IntegerSet value type adds fb176d40fc3 Only simplify floor div, ceil div or mod if the rhs constant >= 1. adds 487cc506139 Simplify simplify functions as follow up on previous CL. adds d05e1f5dd53 Add assert in Operation->printAssembly to check improperly [...] adds 764fd035b0a Split BuiltinOps out of StandardOps. adds 8dda701a9c0 Add MLFunction::walk/walkPostOrder methods for doing a simp [...] adds 0ceda12cc53 Missed change - remove 1-d tag memref restriction while par [...] adds bbfba8d3f85 Create function builder wrapper to enable common interface [...] adds 9e3b928e322 Implement a super sketched out pattern match/rewrite framew [...] adds 86eac4618c0 Create private exclusive / single use affine computation sl [...] adds 3165d9f2691 Add Operation Properties field to operations. adds 7e7157fd1d6 Various improvements to pattern matching and other infra: [...] adds 826f5c1c04a Avoid leak when parsing fails and BasicBlock has no use/function. adds d8917d80a8f Fail if operation name contains null char. adds f37a9909a12 Add op gen tool to generate C++ classes for Operations. adds 0114e232d86 Adds method to AffineApplyOp which forward substitutes its [...] adds 0faf5633831 Move Pattern and related classes to a different file adds d4b095b164d Make the op specification more declarative wrt properties. adds 58168e476e2 [opgen] Change Attr to be more intuitive to insert adds 80e884a9f83 Add constant folding and binary operator reassociation to t [...] adds 47e7cd333e5 Use FuncBuilder instead of MLFuncBuilder in pattern matcher. adds 3013dadb7c3 [MLIR] Basic infrastructure for vectorization test adds 18e666702cd Generalize / improve DMA transfer overlap; nested and multi [...] adds b5b90e54651 Add support to constant dense vector/tensor attribute. adds 03b48999b67 Add support to constant sparse tensor / vector attribute adds a55b2c2eb66 Fix AffineExpr printing bug: paren ellision b/117887365. adds 8c7478d10ce Touch an unused variable. adds 34927e2474b Rename Operation::getAs to Operation::dyn_cast adds 2f1103bd934 Loop bound constant folding: follow-up / address comments f [...] adds c5a3a5e4cad Use APFloat for FloatAttribute adds 73a802741ee Introduce a new PatternRewriter class to help keep the work [...] adds 9eedf6adb19 Replace the "OperationSet" abstraction with a new Dialect a [...] adds 7850258c49b Introduce a new Operation::erase helper to generalize some [...] adds b2f93b27eee introduce a memref_cast operation, refactoring common code [...] adds 50cc57e25aa Random cleanups: - Change AllocOp to have a getType() that [...] adds a03051b9c4f Add a pattern (x+0) -> x, generalize Canonicalize to CFGFun [...] adds ccfe5937155 PassResult return cleanup. adds d58ffaffe01 Verify that the first block of a cfgfunc does not have pred [...] adds 991adadccb9 Move the ReturnOp type checks to ReturnOp::verify. adds 301f83f9068 Implement shape folding in the canonicalization pass: - Ad [...] adds 3d7ab2d2652 Add support to opaque elements attributes adds bd01f9541ff Teach canonicalize pass to unique and hoist constants to th [...] adds 1321f6affd9 Add MLIR specification. adds c1b09186178 Add MLIR Rationale converted to g3doc. adds e8d254b909e Rename shape_cast to tensor_cast. adds 52a0e58bdb1 Change typedef to using to be consistent across the codebase adds 54132393500 Adds Gaussian Elimination to FlatAffineConstraints. - Adds [...] adds 80610c2f497 Introduce Fourier-Motzkin variable elimination + other clea [...] adds 144795e35cd Add a doc explaining our approach to canonicalization, whic [...] adds 92285814e25 Refactor the bulk of the worklist driver out of the canonic [...] adds 64d52014bd2 Move transform utilities out to their own TransformUtils li [...] adds 792d1c25e4c Implement value type abstraction for attributes. adds 13f6cc01876 Run GCD test before elimination. Adds test case with ration [...] adds 7de0da9594e Refactor all of the canonicalization patterns out of the Ca [...] adds adbba70d821 Simplify FunctionPass to eliminate the CFGFunctionPass/MLFu [...] adds 988ce3387f6 Change sigil for integer set: @@ -> # adds 967d934180d Fix two issues: 1) We incorrectly reassociated non-reassoc [...] adds ea65c695b9f Introduce integer set attribute adds 6e6e40ae79e Move AffineMap.h/IntegerSet.h from Attributes.h to Attribut [...] adds 5c7667b5bdc Fix comment typos and formatting adds 87c5145a5d9 Perform the MemRef layout map dimensionality check in the Parser. adds aae372ecb86 Drop trivial identity affine mappings in MemRef construction. adds 60b5184c8b5 Canonicalize muli(x, 1) into x adds 2eb9550f689 Internal cleanup - update doc/comments for DMA ops. adds a10cd107de8 Introduce a common base class (IROperandOwner) between Inst [...] adds f8dee9ee057 Split off op_base from ops. adds 085b687fbdf Add support for walking the use list of an SSAValue and con [...] adds d45e1936801 [trivial] fix MLIRContext::registerDiagnosticHandler documentation adds 1ec77cecf21 FourierMotzkinEliminate trivial bug fix adds 582b0761c63 Use matcher sugars for cannonicalization pattern matching adds bdfd6193b8f Add getMemRefType() accessors to LoadOp/StoreOp. adds 19f14b72bbf Drop unbounded identity map from MemRef affine map composition. adds af7f56fdf84 [MLIR] Implement 1-D vectorization for fastest varying load/stores adds 5ffb211bff9 Rename mlir::match to mlir::matchPattern and add m_Op() adds c5128e152af FlatAffineConstraints API update - additional methods adds 75376b8e33c Change Attr to have a storage and return type. adds 4c465a181db Implement value type abstraction for types. adds 8201e19e3dc Introduce memref bound checking. adds e1f9e65b9a2 Enable constructing a FuncBuilder using a Operation*. adds 710b20aeb17 Fix formatting of mlir snippet. adds 21638dcda94 [MLIR] Extend vectorization to 2+-D patterns adds f28e4df666b Adds a dependence check to test whether two accesses to the [...] adds 74c62c8ce0d Complete memref bound checker for arbitrary affine expressi [...] adds 4aeb0a872c9 Uniformize MemRefType well-formedness checks. adds 239e3289139 Adds MemRefDependenceCheck analysis pass, plus multiple dep [...] adds 9a621783724 Rename OpRegistration to DialectRegistration. NFC. adds 4269a018637 Clean up memref dep check utilities; update FlatAffineConst [...] adds 5e01000d462 Start TFLite legalizer pass adds 6cd5d5c5447 Introduce loop tiling code generation (hyper-rectangular case) adds 559e816f3f3 Add OpTraits for operand types: IntegerLike and SameType. adds 6f0fb227234 Add static pass registration adds cde8248753a [MLIR] Make upper bound implementation exclusive adds d7637a1d165 Add replaceSingeleResultOpWithNewOp to rewriter. adds a150e0b33de Add cast_convert_val for derived classes of IROperandOwner. adds cc9a6ed09dd Initialize Pass with PassID. adds 3a38a5d0d6c Introduce integer comparison operation. adds cc82a94aff4 Materialize IndexType in the API. adds ac2a655e870 Enable arithmetics for index types. adds 846e48d16fb Allow vector types to have index elements. adds cd051dc6343 Bug fixes in FlatAffineConstraints. Tests cases that discov [...] adds 76bbe2cff62 Add lookupPassInfo to enable querying the pass info for a pass. adds 23ddd577efd Complete migration to exclusive upper bound adds 2fa4bc9fc87 Implement value type abstraction for locations. adds 8e711246e47 Clean up VectorType construction. adds dafa6929d33 Clean up TensorType construction. adds e0623d4b86c Automatic DMA generation for simple cases. - constant bound [...] adds b5424dd0cb3 Adds support for returning the direction of the dependence [...] adds ce5ba22cd93 - Add support for fused locations. adds f8f723cf02c Falls back to dialect constant folding hook adds 8946854128e Handle VectorOrTensorType parse failure instead of crashing adds d469a5d6754 Add the "MLIR: Incremental Application to TensorFlow Graph [...] adds 86a5323f04d - Simplify PatternMatch to *require* static benefits at pat [...] adds b2f77e1b8f3 Change the index upper bound for the outer-loop as the comm [...] adds 25e6b541cd5 Switch IntegerAttr to use APInt. adds 5a0d3d02046 Basic conversion of MLFunctions to CFGFunctions. adds cab24dc211b Homogenize branch instruction arguments. adds be6ea23aeee Optionally emit errors from IntegerType factory functions. adds a894bfdfd68 Update split marker for split-input-file option to be more [...] adds 8659f3fa2cc Start the plumbing for removing TerminatorInst. * Add skele [...] adds 07b594de46f Pull duplicated build() in subclasses into root UnaryOp adds fefbf913140 [MLIR] Support for vectorizing operations. adds b1f7e03adda Mark mlir code snippets as being written in mlir adds fb4b74ccb3b Mark mlir code snippets as being written in mlir adds a30f7ec74f5 Fix some minor typos pointed out by rxwei adds cb406339690 Move definitions of lopoUnroll* functions to LoopUtils.cpp. adds d0304334435 ConvertToCFG: properly remap nested function attributes. adds cfb49f25844 Fix hasStaticShape() method on vectors and tensors to work [...] adds 1807ba3c2c9 Add functionality for parsing/managing operation terminator [...] adds de828dd2591 Fix variables only used in assertions. adds 503caf07226 Replace TerminatorInst with builtin terminator operations. adds c7df0651d3e [MLIR] Merge terminator and uses into BasicBlock operations [...] adds 711047c0cd0 Add Type to int/float attributes. adds 8b6bc09f48f Merge OperationInst functionality into Instruction. adds 2213afa7844 Implement IfOp verification adds d34fcce2a7a [MLIR] Rename OperationInst to Instruction. adds 8c903a3c9dc Update LangRef to reflect int/flaot attribute specification [...] adds 6b52ac3aa61 Mark AllocOp as being free of side effects adds fff1efbaf5b Updates to transformation/analysis passes/utilities. Update [...] adds 64c6d3946c6 Change pretty printing of constant so that the attributes p [...] adds a603b2f5b2d Import the "MLIR: The case for a simplified polyhedral form [...] adds 21c30304a04 Fix the implementation of PatternRewriter::createChecked. T [...] adds 1c95796372d Update 'return' statement syntax in LangRef to reflect the [...] adds f10f48ee633 Convert MLIR DiagnosticKind to LLVM DiagKind when emitting [...] adds 89d9913a207 [MLIR][VectorAnalysis] Add a VectorAnalysis and standalone tests adds d63ab4b47af Add support for Operation::moveBefore(Operation *). adds d0590caa903 Add op stats pass to mlir-opt. adds 85f86ca2034 Add support for getting the operand number from an IROperan [...] adds f986d5920b1 ConvertToCFG: handle loop 1D affine loop bounds. adds 19573e2939c Convert TF::Conv2D into TFL::Conv2D adds 87d46aaf4b5 [MLIR][Vectorize] Refactor Vectorize use-def propagation. adds 0328217eb81 Automated rollback of changelist 221863955. adds 5041e13c965 Add functionality for erasing terminator successor operands [...] adds a9d3e5ee380 Adds ConstantFoldHook registry in MLIRContext adds 43a8fffbe71 AffineExprVisitor: fix names of default visitation functions. adds 431f08ba7f4 Add iterators and size() helper method in ArrayAttr adds b6c03917ad7 Remove allocations for memref's that become dead as a resul [...] adds 58cd315a680 Remove unnecessary include from StandardOps.cpp. adds 1cfe5083165 Add verifier check for integer constants to check that the [...] adds 19673252446 Introduce TF WhileOp and lower it to MLIR CFG adds b5756fdaa14 Factor out translation registry. adds 6c5317eafa6 Separate translators into "from MLIR" and "to MLIR". adds 6e1a050f7e2 Create the Support library. adds ac6bfa6780f Lower scalar parts of CFG functions to LLVM IR adds 615c41c7883 Introduce Deaffinator pass. adds 2631b155a9f Fix bugs in DMA generation and FlatAffineConstraints; add m [...] adds cff7789a49b Clean up parse_headers in mlir adds 5c16564bca4 [MLIR][Slicing] Add utils for computing slices. adds 258dae5d73e [MLIR][Slicing] Apply cleanups adds a5782f0d401 [MLIR][MaterializeVectors] Add a MaterializeVector pass via [...] adds 63bc6d2f6a6 [MLIR] Fix opt build adds 68e9721aa83 Rename Deaffinator to LowerAffineApply and patch it. adds 1427d0f01b1 Minimal patch to allow patterns to rewrite multi-result ins [...] adds 721a30d6a0c Tidy up the replaceOp hooks in PatternMatch, generalizing t [...] adds 759fd1c6a3f Add support for setting the location of an IROperandOwner. adds fce05646d72 Convert tf.FusedBatchNorm into tfl primary math ops adds 17b8105761c Fix typo. adds 67939e8b704 Create Passes.md. adds 312d8ee96b9 Make operation names hashable. adds 90d1b6b5f25 LLVM IR lowering: support simple MemRef types adds e7f43c83616 LLVM IR lowering: support 'dim' operation. adds a3fb6d0da30 StandardOps: introduce 'select'. adds 16f525bc27e Add derived attribute support. adds 1f5330ac902 Verify CmpIOp's result type to be bool-like adds 3f2530cdf59 Split "rewrite" functionality out of Pattern into a new Rew [...] adds 5668887a1d8 Add support for result type iteration in Operation/Instruct [...] adds 1ae66f65209 [MLIR] Reenable materialize_vectors test adds a619b5c2957 Debug output / logging memref sizes in DMA generation + rel [...] adds 21ed46abb8f Avoid failing when attempting to print null Attribute. adds 9769ba74892 Document SelectOp class adds 45e3139bc81 RankedTensorType: Use getHashValue(KeyTy) when calling getH [...] adds 3277f94bf40 Update getHashValue for ptr values stored in a DenseMap/Set [...] adds 5858102ab15 Remove tfl.reshape op when possible adds 7669a259c42 Add a simple common sub expression elimination pass. adds 5f76245cfea Minor fix for replaceAllMemRefUsesWith. adds 89c41fdca11 FlatAffineConstraints::composeMap: return failure instead o [...] adds bb3ffc1c222 Fix two more getHashValues. adds b39d1f0bdb5 [MLIR] Add VectorTransferOps adds ebb3d384717 [MLIR] Separate and split vectorization tests adds dee51d09619 LLVM IR Lowering: support multi-value returns. adds 7868abd9d87 ConvertToCFG: convert "if" statements. adds f24628b1f00 Fix off by one in OpStats. adds 753109547de During forward substitution, merge symbols from input Affin [...] adds 86f5a467d20 Change TFLite binary ops to support implicit broadcasting adds 7c2347266d1 FlatAffineConstraints::removeId() fix. adds f9af62998b0 Remove duplicate FlatAffineConstraints::removeId - refactor [...] adds b5723228597 Add isIntOrIndex() and isIntOrIndexOrFloat() into Type adds c143132a560 Enable using bare attributes. adds ff3b9149b3c Clean up base TableGen definitions adds a92130880ea Complete multiple unhandled cases for DmaGeneration / getMe [...] adds 9f77faae87d Strided DMA support for DmaStartOp adds 8ad72bd6bef Make examples semantically meaningful and fix miscellaneous [...] adds a53ed1b7675 Fix bug in GCD calculation when flattening AffineExpr (adds [...] adds 73fc0223e42 Fix cases where unsigned / signed arithmetic was being mixe [...] adds 513d6d896cc OpPointer: replace conversion operator to Operation* to OpType*. adds 7c89a225cfa ConvertToCFG: support min/max in loop bounds. adds df0a25efeea [MLIR] Add support for permutation_map adds 4adc169bd00 [MLIR] Add AffineMap composition and use it in Materialization adds 5b610630b2d [MLIR] Error handling in MaterializeVectors adds a019379cdb8 [MLIR] Remove NYI assertions in LoopAnalysis.cpp adds 48d22e83e33 [MLIR] Drop unnecessary mention of NYI. adds 2408f0eba52 [MLIR] Drop assert for NYI in VectorAnalysis adds 13bc77045e7 [MLIR] Drop assert for NYI in Vectorize.cpp adds d2d7c11f197 Auto-generate op builder with TableGen adds adca59e4f7d Return bool from all emitError methods similar to Operation [...] adds 692f6ffdf8a [MLIR] Add LangRef entries for vector_transfer ops adds db1b9f73810 [MLIR] Add composeWithUnboundedMap adds 879be718a0d [MLIR] Fix the name of the MaterializeVectorPass adds d9b6420fc9d [MLIR] Add LowerVectorTransfersPass adds dfc752e42b3 Generate strided DMAs from -dma-generate - generate DMAs co [...] adds 2d6478fa929 Extend loop tiling utility to handle non-constant loop boun [...] adds c28aeef9019 [MLIR] Drop bug-prone global map indexed by MLFunction* adds 073c3ad997b Properly namespace createLowerAffineApply adds 2ef57806ba0 Update/fix -pipeline-data-transfer; fix b/120770946 adds 6757fb151d1 FlatAffineConstraints API cleanup; add normalizeConstraints [...] adds d59a95a05c4 Fix missing check for dependent DMAs in pipeline-data-transfer adds b9f53dc0bde Update/Fix LoopUtils::stmtBodySkew to handle loop step. adds 63261aa9a88 Disallow index types as elements of vector, memref and tens [...] adds a9eb2e8ffc7 Generate another op builder with aggregated parameters adds c86c414765c Remove dead code from FlatAffineConstraints adds a2222a94489 Add rudimentary pattern rewrite matching generation. adds 97d2f3cd3d2 ConvertToCFG: use affine_apply to implement loop steps adds 359835eb27a LLVM IR lowering: support 1D vector operations adds 4860f0e8fdf Fix loop unrolling test cases adds 5c4f1fdd428 Check if the operation is already in the worklist before ad [...] adds 8365bdc17f4 FlatAffineConstraints - complete TODOs: add method to remov [...] adds a138c12cb30 Define TFLite Dequantize and FakeQuant ops adds b0c41e54ef5 Convert tf.FakeQuantWithMinMaxArgs/Vars to tfl.FakeQuant adds 45a0f525194 Expression flattening improvement - reuse local expressions. adds 7a62e35644f Use dag instead of list for operands to allow named operands. adds 30a30d205bf Fix asan failures in mlir-op-gen. adds bc52a639f9e Extract vector_transfer_* Ops into a SuperVectorDialect. adds c41ee60647b 'memref-bound-check': extend to store op's as well adds dced746bd18 Remove duplicate code / reuse right utilities from memref-d [...] adds 72159f5edeb Free the name symbol in TableGen adds 49c4d2a630e Fix builder getFloatAttr of double to use F64 type and use [...] adds 3b69230b3a7 Loop Fusion pass update: introduce utilities to perform gen [...] adds 4a3e4e8ea7b loop-unroll - add function callback argument for outside ta [...] adds df9bd857b1f Type system: replace Type::getBitWidth with getIntOrFloatBitWidth adds 19b2ce23a55 Refactor / eliminate duplicate code in memref-dep-check / g [...] adds 51c8a095a38 Materialize vector_type_cast operation in the SuperVector dialect adds 699a2f53736 LLVM IR lowering: support vector_type_cast adds 4dbd94b5435 Refactor LowerVectorTransfersPass using pattern rewriters adds 20531932f41 Refactor/update memref-dep-check's addMemRefAccessConstrain [...] adds 49c81ebcb08 Densify storage for f16, f32 and support f16 semantics in F [...] adds 1d72f2e47e5 Update / complete a TODO for addBoundsForForStmt adds 14d2618f638 Simplify memref-dependence-check's meta data structures / d [...] adds 6892ffb8965 Improve loop fusion algorithm by using a memref dependence [...] adds 2570fb5bb7d Address some issues from memref dependence check bug (b/121 [...] adds df90f000a8e Change attribute to be input argument. adds 4f5ef1619e5 Pass loop depth 1 to memref dependence check when construct [...] adds bcb7c4742d5 Do proper indexing for local variables when building access [...] adds 592dbc83261 Add method to retrieve a pass's ID. adds 7e24010382a Expand rewriter gen to handle string attributes in output. adds 1e0ebabf664 Unify type uniquing and construction. adds 4eef795a1db Computation slice update: adds parameters to insertBackward [...] adds 1301f907a10 Refactor ForStmt: having it contain a StmtBlock instead of [...] adds 49315c6f6bf Give StmtBlocks a use-def list, and give OperationStmt's th [...] adds 87ce4cc501b Per review on the previous CL, drop MLFuncBuilder::createOp [...] adds eadaa1101c4 Implement StmtBlocks support for arguments and pred/succ it [...] adds 9a4060d3f50 Eliminate the ability to add operands to an instruction, us [...] adds d613f5ab65b Refactor MLFunction to contain a StmtBlock for its body ins [...] adds 58d50a63259 Rename convenience methods to make type explicit. adds 9403f80dd33 LLVM IR lowering: support SubIOp and SubFOp adds eb0f9f37afc SuperVectorization: fix 'isa' assertion adds 63068da4d91 Support NameLoc and CallSiteLoc for mlir::Location adds 5ff0001dc70 Introduce a new StmtBlockList type to hold a list of StmtBl [...] adds 3bd8ff66996 Eliminate the MLFuncArgument class representing arguments t [...] adds 036f87b15f9 Rename CFGFunctionGraphTraits.h -> FunctionGraphTraits.h an [...] adds 4e5337601e8 Inline Instruction's operands as TrailingObjects adds abf72a8bb1d Rename findFunction from the ML side of the house to be nam [...] adds 150b1a859e8 Merge mlir-op-gen and mlir-rewriter-gen into mlir-tblgen. adds 057984d05d9 Move print op stats pass to analysis. adds a63f4406015 LoopAnalysis: isContiguousAccess fail gracefully adds 776b035646d Eliminate the Instruction, BasicBlock, CFGFunction, MLFunct [...] adds 3f190312f8f Merge SSAValue, CFGValue, and MLValue together into a singl [...] adds 4c05f8cac64 Merge CFGFuncBuilder/MLFuncBuilder/FuncBuilder together int [...] adds 294687ef590 Fix affine expr flattener bug introduced by cl/225452174. adds 4fbcd1ac523 Minor renamings: Trim the "Stmt" prefix off StmtSuccessorIt [...] adds 1b430f1d325 Delicately re-layer Operation, Statement, and OperationStmt [...] adds bd24a131d3b Fix an ASAN detected bug introduced by cr/227067644. While [...] adds 9b20a4ccdf9 add a method to get FloatAttr value as double adds 471c9764132 Rework inherentance hierarchy: Operation now derives from S [...] adds 3b021d7f2e6 Update vim syntax file to highlight core ops adds 5187cfcf03d Merge Operation into OperationInst and standardize nomencla [...] adds d798f9bad59 Rename BBArgument -> BlockArgument, Op::getOperation -> Op: [...] adds f845bc45427 Fix incorrect names due to merging of tblgen tools. adds 69d9e990fac Eliminate the using decls for MLFunction and CFGFunction st [...] adds 69f9f6e21c1 Merge ext/cfg/ml function printing logic in the AsmPrinter [...] adds 2a463c36b1f Add convenience wrapper for operator in tblgen adds 315a466aed9 Rename BasicBlock and StmtBlock to Block, and make a pass c [...] adds b1d9cc4d1ef Extend/complete dependence tester to utilize local var info. adds 456ad6a8e0c Standardize naming of statements -> instructions, revisting [...] adds be9ee4a98e7 Merge parser logic for CFG and ML functions, shrinking the [...] adds 5b9c3f7cdbf Tidy up references to "basic blocks" that should refer to b [...] adds 554848d6173 Match multiple pattern nodes as input to rewrite. adds 4a96a11d6d4 Enhance parsing of CFG and Ext functions to optionally allo [...] adds 56e2a6cc3b8 Merge the verifier logic for all functions into a unified f [...] adds 37579ae8c48 Introduce ^ as a basic block sigil, eliminating an ambiguit [...] adds aaa1d77e964 Clean up and improve the parser handling of basic block lab [...] adds 8ef2552df7b Have the asmprinter take advantage of the new capabilities [...] adds bbe3f4d9f50 Switch rewriters for relu, relu6, placeholder_input, softma [...] adds dffc589ad27 Extend InstVisitor and Walker to handle arbitrary CFG funct [...] adds 6e3462d2518 Fix b/122139732; update FlatAffineConstraints::isEmpty() to [...] adds b9fe6be6d4c Introduce memref store to load forwarding - a simple memref [...] adds dfee0a6e9b0 Make PrintOpStatsPass a module pass adds 545f3ce4308 Fix ASAN failure in memref-dataflow-opt adds ae618428f6c Greatly simplify the ConvertToCFG pass, converting it from [...] adds cea9f28a2c6 Fix dominates() for block's. adds f12182157ec Introduce PostDominanceInfo, fix properlyDominates() for In [...] adds 18fbc3e170e Drop unusued HyperRectangularSet.h/.cpp, given the new desi [...] adds 4bd9f936060 Simplify GreedyPatternRewriteDriver now that functions are [...] adds 3c8fc797dea Simplify the remapFunctionAttrs logic, merging CFG/ML funct [...] adds 7974889f549 Update and generalize various passes to work on both CFG an [...] adds a250643ec84 Merge together the CFG/ML function paths in the CSE pass. [...] adds 73f5c9c3801 [MLIR] Sketch a simple set of EDSCs to declaratively write MLIR adds 8f4c1e9f6d1 Indent auto-generated build method adds 50a356d1187 Simplify FunctionPass to only have a runOnFunction hook, in [...] adds 0565067495f LLVM IR Lowering: support "select" adds ae3f8a79ae5 Rename OperationPrefix to Namespace in Dialect. This is imp [...] adds bbf362b784c Eliminate extfunc/cfgfunc/mlfunc as a concept, and just use [...] adds 8ebd64b32f1 Update the g3docs to reflect the merging of CFG and ML functions. adds d64db86f204 Refactor LowerAffineApply adds fa710c17f48 LowerForAndIf: expand affine_apply's inplace adds 3633becf8a0 Add builderCall to Type and add constant attr class. adds 0c4ee541984 Merge LowerAffineApplyPass into LowerIfAndForPass, rename t [...] adds 8abc06f3d5b Implement initial support for dialect specific types. adds 5c869951ac4 Add tf.Add op adds c396c044e65 Match the op via isa instead of string compare. adds ae1a6619dfd Include both TF and TFL ops.td in legalize patterns. adds 54948a43802 Split the standard types from builtin types and move them i [...] adds 947e5f4a68b [MLIR] Handle corner case in MaterializeVectors adds 17f96ea3dd1 [MLIR] Fix uninitialized value found with msan adds 5b87a5ef4b7 [MLIR] Drop strict super-vector requirement in MaterializeVector adds 0ebc0ba72ec [MLIR] More graceful failure in MaterializeVectors adds dde5bf234d9 Use Operator class in OpDefinitionsGen. Cleanup NFC. adds 8281151c2a7 TableGen standard arithmetic ops adds ca88ea6f082 Fix format for empty method definition adds 7983bbc2516 Introduce a simple canonicalization of affine_apply that dr [...] adds d2cd083f79d Introduce CRTP TypeBase class to simplify type construction [...] adds 618c6a74c6a [MLIR] Introduce normalized single-result unbounded AffineApplyOp adds d3339ea2b81 Handle parsing failure for splat elements attribute adds d02b08eaf42 Add an example of rank zero tensor in go/mlir-spec adds 8496f2c30ba Complete TODOs / cleanup for loop-fusion utility adds 62dabbfd098 Fix opt build failure adds 8f249438265 Verify type of operands match those specifed in op registry. adds 28cf580555c Cleanup spurious DenseMap include adds bc04556cf8d Introduce integer division and remainder operations adds caa7e706279 LLVM IR lowering: support integer division and remainder op [...] adds c47ed532110 Add simple constant folding hook for CmpIOp adds 7c0bbe0939d Iterate on vector rather than DenseMap during AffineMap nor [...] adds 94c2d969cea Rename getAffineBinaryExpr -> getAffineBinaryOpExpr, getBin [...] adds 3b7b0040ce0 FunctionParser::~FunctionParser: avoid iterator invalidation adds 92a899f629e Drop all uses of the ForInst induction variable before dele [...] adds 8d849eb4b9d Add static shape tensor type and rewrite squeeze and reshap [...] adds aae85ddce10 Match attributes in input pattern. adds 3b2c5600d99 Add support for types belonging to unknown dialects. This a [...] adds bee0b83cef6 Update the langref to include the rationale and specificati [...] adds 65fc8643ec9 Addresing follow up comments from cl/227991412. adds f8bbe5decaa Various tiny refinements over TableGen Operator class adds 00ac2f6eb4c Verify the size of the vector in generated op verify. adds 2cdb59f38d7 Spelling: bugpone -> bug-prone adds 56b3640b945 Misc readability and doc / code comment related improvements - NFC adds b934d75b8f9 Convert expr - c * (expr floordiv c) to expr mod c in AffineExpr adds 21baf86a2f4 Extend loop-fusion's slicing utility + other fixes / updates adds c449e46cebb Introduce AffineExpr::compose(AffineMap) adds e94ba6815a2 Fix 0-d memref corner case for getMemRefRegion() adds 8eccc429b75 Add parser support for named type aliases. adds c6f798a9767 Introduce AffineMap::compose(AffineMap) adds 00aac701593 Move makeNormalizedAffineApply adds 997415fa773 Extract BuiltinOps::canonicalizeMapAndOperands adds 2b902f12886 Delete FuncBuilder::createChecked. It is perhaps still a g [...] adds b2cc2c344e6 Add tblgen::Type to wrap around TableGen Type defs adds 3e5ee82b817 Put Operator and PredCNF into the tblgen namespace adds 1f78d63f05a [MLIR] Make SuperVectorization use normalized AffineApplyOp adds 303c09299fc Fix affine expr flattener bug + improve simplification in a [...] adds 6ce30becd7e Support verbose parsing and printing of terminator operations adds 9b034f0bfd6 Add tblgen::Attribute to wrap around TableGen Attr defs adds e49e10e4de1 Replace getAttributeName() with .getName() adds 742c37abc9a Fix DMA overlap pass buffer mapping adds 56b99b40452 Add a few utilities for terminator management: * Get a spec [...] adds 90034902872 Implement branch-free single-division lowering of affine di [...] adds 2370c601ba6 Add safeguard against FM explosion adds 88e1b9c7928 Fix error in checking logic and update tests. adds fdcfa0bb521 Remove unary, binary, ternary ops from op_base adds cfa58319603 Uniformize composition of AffineApplyOp by construction adds e8d0e1f72a0 Provide dialect hooks for defining named aliases for Affine [...] adds ac5a50e1e4f Extract openInputFile() into Support/FileUtilities adds 4c0faef9439 Avoid redundant predicate checking in type matching. adds 78da6704b77 Verify string type token before attempting to get string value. adds 311af4abf3a Const fold splat vectors/tensors in standard add, sub, and mul ops adds 4fd6db3e29c Skip over whitespace using loop. NFC. adds 71ec8690113 Fix omitted return post failed parse adds 58423ad1c18 Follow up from previous change to avoid setting tokStart 2x. adds 6985dc62b54 Make sure that type construction arguments are forwarded. adds 3fe8eb3f229 Add check for '[' when parsing a tensor literal list. adds c35d6b4f2d7 Drop -canonicalize from -dma-generate test case cmd adds ba9a5446151 Simplify Attribute constructor definitions. adds 362557e11c8 Simplify compositions of AffineApply adds b941dc82389 [MLIR] Make MLIREmitter emit composed single-result AffineM [...] adds d734c50c5fe [MLIR] Clip all access dimensions during LowerVectorTransfers adds 0ab81776aa6 Fix typo in lower_vector_transfers.mlir adds 1b171e93573 Add EDSC support for operator* adds 791049fb347 Add a FloatAttr::getChecked, and invoke it during Attribute [...] adds a674ae8bbd5 Return an empty IntegerSet if the '(' is not parsed. adds d6b71b0d570 Add a Block::dropAllReferences to drop all references from [...] adds 38c2fe3158f LoopFusion: automate selection of source loop nest slice de [...] adds e0594ce7320 Add missing return post parse failure for the indices of a [...] adds 06b0bd96517 Emit unsupported error when parsing a DenseElementAttr with [...] adds ed26dd0421f Add a canonicalization pattern for conditional branch to fo [...] adds 61ec6c0992e Swap the type and attribute parameter in ConstantOp::build() adds 6c1631b3f83 Check that at least one constraint is parsed when parsing a [...] adds 8b0ad6f5799 If an instruction contains blocks, IfInst/ForInst, make sur [...] adds b9c791b96d9 Change derived type storage objects to be constructed with [...] adds 3bb35ad0dc1 Don't allocate a buffer for an empty ArrayRef in TypeStorag [...] adds 6e4f3e40c7b Fix outdated comments adds 11ab300ad51 Update LangRef - integer sets should have at least one constraint adds 02ba8fd6d94 Move tests and add missing BUILD file. adds 424041ad584 Add EDSC sugar adds ce64d3dbf0c Add OpDefinitions document. adds 25d5b895fd9 When parsing Select/Cmpi standard operations, emit an error [...] adds 515ce1e68e8 Add edsc::Indexed helper struct to act as syntactic sugar adds d50dc4fd6d3 When parsing DmaWait, check that the tag is a MemRef type. adds 4598dafa304 Parsing DmaStartOp: check if source, destination, and tag a [...] adds 44e9869f1a2 TableGen: extract TypeConstraints from Type adds 0e58de70e78 Initial version of the LLVM IR dialect adds f8341cfe06c Verify that the parsed predicate attribute of a cmpi operat [...] adds f9d2eb1c8c1 Change derived type storage objects to define an 'operator= [...] adds b7dbfd04ebd Const fold splat tensors for TFLite AddOp, SubOp, MulOp adds 03e15e1b9f8 Minor code cleanup - NFC. adds 18fe1ffcd79 Move the storage of uniqued TypeStorage objects into TypeUn [...] adds 57fb7bcda65 Use op_base in mlir-tblgen test instead of extracted class. adds b5b7e61f7a2 Update to new sugared form in doc adds 254821d1db4 Rename hasCanonicalizationPatterns to hasCanonicalizer adds f99a44a7cd9 Address documentation/readability related comments from cl/ [...] adds 590012772dd Promote broadcast logic from TensorFlowLite to Dialect/ directory adds bd161ae5bcb TableGen: untie Attr from Type adds 9d4bb57189e Start a testing pass for EDSC lowering. adds 27d067e1645 LoopFusion improvements: *) Adds support for fusing into co [...] adds a5827fc91d3 Add attribute matching and transform to pattern rewrites. adds ada685f352a Add canonicalization to remove AllocOps if there are no use [...] adds 4b2b5f52679 Enable specifying the op for which the reference implementa [...] adds 05b02bb98e2 TableGen: implement predicate tree and basic simplification adds 5843e5a7c08 Add a canonicalization pattern to remove Dealloc operations [...] adds 3766332533f Change impl::printBinaryOp() to consider operand and result type adds c1ca23ef6ef Some loop fusion code cleanup/simplification post cl/229575126 adds adc2ab172db Some tweaks to the really great op definition doc. adds 4573a8da9a0 Fix improperly indexed DimOp in LowerVectorTransfers.cpp adds 0eebe6ffd9f Update comment in the constant folding pass as constant fol [...] adds 8cb1781657b Generate some of the boilerplate for reference implementati [...] adds e57a900042d Use regex instead of hardcoded SSA value numbers. adds d6f84fa5d91 Add AttrConstraint to enable generating verification for at [...] adds 40f75355716 Update stale / target-specific information in comments - NFC adds 0e81d7c420c [MLIR] Add functionality for constructing a DenseElementAtt [...] adds 24e5a72dac3 Fix AffineApply corner case adds c4237ae9904 LoopFusion: Creates private MemRefs which are used only by [...] adds a1c0da42ec0 Rewrite OpStats to use llvm formatting utilities. adds 122f710c6c5 When constructing or hashing a key type in TypeUniquer firs [...] adds 1e484b5ef4b Mark (void)indexRemap to please compiler for unused variable check adds b04c9a47cab Fix raw buffer size when creating a DenseElementsAttr from [...] adds d7522eb2641 Fix test cases that were accessing out of bounds to start w [...] adds 174f66bc8a5 Restructure FloatAttr::get(Type, double) to allow for loss [...] adds 9f3f39d61a2 Cleanup EDSCs adds 119af6712e2 Cleanup spurious printing bits in EDSCs adds 512d87cefc5 Add a constant folding hook to ExtractElementOp to fold ext [...] adds c1880a857d5 AffineExpr pretty print - add missing handling to print exp [...] adds 57aade19b37 Add assertions to SplatElementsAttr and ConstantOp builders [...] adds 25534736187 Make MLIREmitter::bindConstant variadic adds a280e3997e5 Start doc generation pass. adds d2aaa175ca0 Fix FlatAffineConstraints::removeIdRange adds 34c6f8c6e4d Add default attr value & define tf.AvgPool op and use patte [...] adds 71495d58a7b Handle escaping memrefs in loop fusion pass: *) Do not remo [...] adds 94a03f864f5 Allocate private/local buffers for slices accurately during fusion adds 7669204304e Improve / fix documentation for affine map composition util [...] adds 1b735dfe270 Refactor -dma-generate walker - NFC - ForInst::walkOps wil [...] adds f20ec77be1b Fixing op description white space during doc emission. adds 92e9d9484c7 loop unroll update: unroll factor one for a single iteration loop adds e4020c2d1a4 Add support for Return in EDSCs adds 864d9e02a17 Update fusion cost model + some additional infrastructure a [...] adds b28009b681a Fix single producer check in loop fusion pass. adds 56544508530 Unify terms regarding assembly form to use generic vs. custom adds 1210e92d86c Add asmparser/printer support for locations to make them ro [...] adds b64998a6b3a Add a method to construct a CallSiteLoc which represents a [...] adds 6859f33292a Migrate VectorOrTensorType/MemRefType shape api to use int6 [...] adds 98c729d6f1f Change trailing locations printing to also print unknown lo [...] adds f319bbbd28e Add a function pass to strip debug info from functions and [...] adds 72e5c7f428c Minor updates + cleanup to dma-generate adds 451869f394d Add cloning functionality to Block and Function, this also [...] adds 934b6d125ff Introduce a new operation hook point for implementing simpl [...] adds f60a0ba61cf Incremental progress to move the testsuite towards single-r [...] adds 06d21d9f645 loop-fusion: debug info cleanup adds 4a7dfa78826 Add order bit to instructions to lazily track dominance que [...] adds f94b15c2475 Update dma-generate: update for multiple load/store op's pe [...] adds 5c5739d42b2 Change the dependence check in the loop fusion pass to use [...] adds 5a4403787f7 Simple CPU runner adds 95f19d558cb Fix return value logic / error reporting in -dma-generate adds 2de5e9fd196 Support op removal patterns in TableGen adds ba1715f407e Pull TableGen op argument definitions into their own files adds d9ce382fc9b Use a unique_ptr instead of manual deletion for PIMPL idiom (NFC) adds 6d37a255e2e Generic dialect conversion pass exercised by LLVM IR lowering adds c3424c3c752 Allow operations to hold a blocklist and add support for pa [...] adds b588d58c5f2 Update createAffineComputationSlice to generate single resu [...] adds 629f5b7fcbc Add a simple arity-agnostic invocation of JIT-compiled functions. adds b4a1443508d Update replaceAllMemRefUsesWith to generate single result a [...] adds 607d1c2ca75 More updates of tests to move towards single result affine maps. adds fb679fc2b5a Drop unused result from affine map in test case - NFC adds ebac3528d03 Add an option to improve the readibility of the printed MLI [...] adds 146ad7cf43c Finish removing multi-result affine maps from the testsuite [...] adds 75c21e1de01 Wrap cl::opt flags within passes in a category with the pas [...] adds 81c7f2e2f3b Cleanup resource management and rename recursive matchers adds 0e7a8a9027c Drop AffineMap::Null and IntegerSet::Null adds 36babbd7815 Change the ForInst induction variable to be a block argumen [...] adds b42bea215ad Change AffineApplyOp to produce a single result, simplifyin [...] adds 8c7f106e536 Add value member to constant attribute specification base. adds 1a5287d5947 Replace too obscure usage of functional::map by declare + r [...] adds 0fbf4ff232c Define mAttr in terms of AttrConstraint. adds eb753f4aece Add tblgen::Pattern to model Patterns defined in TableGen adds cacf05892e5 Add a C API for EDSCs in other languages + python adds 5ecef2b3f63 Define a AffineOps dialect as well as an AffineIfOp operati [...] adds ad637f3ccee Enable using constant attribute as matchers. adds ae772b79659 Automated rollback of changelist 231318632. adds 0f9436e56a2 Move google-mlir to google_mlir adds 39d81f246a5 Introduce python bindings for MLIR EDSCs adds 755538328b0 Recommit: Define a AffineOps dialect as well as an AffineIf [...] adds 1dfc3ac5ce2 Prefix Operator getter methods with "get" to be consistent adds a0f3db4024f Support fusing loop nests which require insertion into a ne [...] adds c224a518f5f TableGen: Use DAG for op results adds c0e9e5eb076 Fix getFullMemRefAsRegion() and FlatAffineConstraints::reset adds a759cf3190b Include op results in generate TensorFlow/TFLite op docs adds b52dd7f788c Use formatv for the error instead of string stream. adds 994111238b4 Fold CallIndirectOp to CallOp when the callee operand is a [...] adds 18219caeb27 [doc] Generate more readable description for operands adds 726dc08e4d8 [doc] Generate more readable description for attributes adds b7d2e32c84a [doc] Use table to list all attributes adds 66647a313a9 [tablegen] Use tblgen:: classes for NamedAttribute and Oper [...] adds b6928c945c9 Standardize the spelling of debug info to "debuginfo" in op [...] adds 44064d5b3b2 3000x speed improvement on compose-affine-maps by dropping [...] adds a642bb1779d Update tests using affine maps to not rely on specific map [...] adds d7c824451fa LoopFusion: insert the source loop nest slice at a depth in [...] adds 1e85191d07d Fix ASAN issue: snapshot edge list before loop which can mo [...] adds 35200435e74 Address cleanups from previous CL adds d4921f4a96a Address Performance issue in NestedMatcher adds ea963d7e288 Post commit fixes adds 4161d44bd57 Enable using constant attribute as matchers. adds 82dc6a878cb Add fallback to native code op builder specification for patterns. adds 9f22a2391b9 Define an detail::OperandStorage class to handle managing i [...] adds 0353ef99eb3 Cleanup EDSCs and start a functional auto-generated library [...] adds c46b0feadb5 Fix use of llvm::Module::getOrInsertFunction after the upst [...] adds f0d4e70f26d Fix Block::getNumSuccessors() adds 70e3873e86a Update link adds e0774c008fd [TableGen] Use tblgen::DagLeaf to model DAG arguments adds 5052bd8582f Define the AffineForOp and replace ForInst with it. This pa [...] adds db04019f3a9 Minor fix to the lexer whitespace loop. adds 8be26274367 Promote local buffers created post fusion to higher memory space adds d54e3dd3581 Emit an error when parsing an affine structure if '->' or ' [...] adds 38f8dc67bef When parsing, treat an IntegerSet with no constraints as a [...] adds dae0263e0b4 Fold IROperandOwner into Instruction. adds 126ec14e2df Fix the handling of the resizable operands bit of Operation [...] adds 8b75cc5741c Define NumericAttr as the base class for BoolAttr, IntegerA [...] adds b2dbbdb704d Merge OpProperty and Traits into OpTrait adds de2d0dfbcab Fold the functionality of OperationInst into Instruction. O [...] adds 870d7783503 Begin the process of fully removing OperationInst. This pat [...] adds b26900dce55 Update dma-generate pass to (1) work on blocks of instructi [...] adds 9ca0691b06a Exposing logical operators in EDSC all the way up to Python. adds a3d9ccaecbe Replace the walkOps/visitOperationInst variants from the In [...] adds 44e040dd635 Remove remaining references to OperationInst in all directo [...] adds b499277fb64 Remove remaining usages of OperationInst in lib/Transforms. adds 2d755016910 Remove the forward definition of OperationInst now that no [...] adds 5e88422f1db No need to specify default behavior. NFC. adds 2afd6556220 Add option print functions with the generic form. adds 74adaa5b315 Remove the OwnerTy template parameter of IROperandImpl and [...] adds 99d6ee02b98 Update MemRefAccess::getAccessMap to always canonicalize ma [...] adds 0f50414fa45 Refactor common code getting memref access in getMemRefRegi [...] adds c9ad4621ce2 NFC: Move AffineApplyOp to the AffineOps dialect. This also [...] adds bf9c381d1db Remove InstWalker and move all instruction walking to the a [...] adds ed27b400852 Remove stray debug output - NFC adds 52ec65c85ef Implemented __eq__ and __ne__ in EDSC Python bindings adds a78edcda5bb Loop fusion improvements: *) After a private memref buffer [...] adds 3fa22b88de5 Print non-default attribute types in optional attr dictionary adds d8e5ce01070 Implemented __invert__, __and__ and __or__ in the EDSC Pyth [...] adds 1b1f293a5d5 MLIR graph rewrite using pattern quickstart doc. adds 40d5d09f9d5 Print parens around the return type of a function if it is [...] adds 2927297a1cc Add derived type attributes for TensorFlow ops generated by [...] adds 6f7470a56aa Define the initial g3doc for the Affine dialect. adds 10237de8eb4 Refactor the affine analysis by moving some functionality t [...] adds 423715056df Emit a parser error when the min/max prefix is missing from [...] adds 0c65cf283c5 Move the AffineFor loop bound folding to a canonicalization [...] adds 1df6ca50530 [TableGen] Model variadic operands using Variadic<Type> adds 42a2d7d6e17 Remove findInstPositionInBlock from the Block api. adds 31f2b3ffa1a Address follow on comments for quickstart doc. adds b9dde91ea6e Adds the ability to compute the MemRefRegion of a sliced lo [...] adds 3227dee15dc NFC: Rename affine_apply to affine.apply. This is the first [...] adds 905d84851dd Address post submit review comments for removing Block::fin [...] adds 90d10b4e00c NFC: Rename the 'for' operation in the AffineOps dialect to [...] adds e9493cf14de Port alloc/dealloc LLVM IR conversion into the LLVM IR dial [...] adds c78d7084878 Implement Quantization dialect and minimal UniformQuantizedType. adds 888b9fa8a6b Add constant build() method not requiring result type adds fd2d7c857b9 Rename the 'if' operation in the AffineOps dialect to 'affi [...] adds 99fee0b1811 When canonicalizing only erase the operation after calling [...] adds 4ba8c9147d0 Automated rollback of changelist 232717775. adds 8093f17a662 ExecutionEngine: provide a hook for LLVM IR passes adds a8866258133 Modify the canonicalizations of select and muli to use the [...] adds 99b19c1d20f Disallow hexadecimal literals in type declarations adds 36c0516c780 Disallow zero dimensions in vectors and memrefs adds 351eed0dd16 Add tf.LeakyRelu. adds 13a45c7194e Add verification for AffineApply/AffineFor/AffineIf dimensi [...] adds c201e6ef05d Handle dynamic shapes in Broadcastable op trait adds c419accea36 Automated rollback of changelist 232728977. adds 4c35bbbb518 Port load/store op translation to LLVM IR dialect lowering adds f5b99275d23 Cleanups in ExecutionEngine. adds 366ebcf6aa8 Remove the restriction that only registered terminator oper [...] adds d7e6b33e930 Convert MemRefCastOp to the LLVM IR dialect adds a57b398906e [TableGen] Assign created ops to variables and rewrite with [...] adds a9cee4fc8c0 [TableGen] Support nested DAG nodes in result result op arguments adds de0fffdb5f6 [TFLite] Add rewrite pattern to fuse conv ops with Relu6 op adds 78972572657 Add binary broadcastable builder. adds f5eed89df06 Fix + cleanup for getMemRefRegion() adds 8b3f841daf3 Generate dealloc's for the alloc's of dma-generate. adds 4b88e7a2457 Fix incorrect type in iterator. adds 2e6cd60d3b7 Add dialect-specific decoding for opaque constants. adds ed81ddc865f EDSC: support 'for' loops with dynamic bounds adds 0e59e5c49b3 EDSC: move Expr and Stmt construction operators to a namespace adds 8de7f6c4715 LLVM IR Dialect: add select op and lower standard select to it adds 4755774d16e Make IndexType a standard type instead of a builtin. This a [...] adds 00860662a25 Generate dealloc's for alloc's of pipeline-data-transfer adds 2f11f868461 Add langref descriptions for the attribute values supported [...] adds 465746f262a LLVM IR Dialect: port DimOp lowering from the translator adds bc184cff3f7 EDSC: unify Expr storage adds 388fb3751e6 Add pattern constraints. adds 50700b81220 Reimplement LLVM IR translation to use the MLIR LLVM IR dialect adds f2c93f09956 EDSC: fix unused-wariable warning when compiling without as [...] adds eb3f8dcb935 [TableGen] Use deduced result types for build() of suitable ops adds 93d8f14c0fd [TFLite] Fuse AddOp into preceding convolution ops adds 6b7a49dd6ac Add -tile-sizes command line option for loop tiling; clean [...] adds affb2193cc4 Update direction vector computation to use FlatAffineConstr [...] adds d7aa700ccb2 Dialect conversion: decouple function signature conversion [...] adds ffc90436045 LLVM dialect conversion and target: support indirect calls adds 081299333b8 [TableGen] Rename Operand to Value to prepare sharing betwe [...] adds 8f5f2c765d8 LoopFusion: perform a series of loop interchanges to increa [...] adds 4bb31f7377f ExecutionEngine: provide utils for running CLI-configured L [...] adds ecd403c0e80 EDSC: properly construct FunctionTypes adds 58aa383e609 Support fusing producer loop nests which write to a memref [...] adds f97c1c5b069 Misc. updates/fixes to analysis utils used for DMA generati [...] adds 911b9960ba7 [TableGen] Fix discrepancy between parameter meaning and co [...] adds 0a4c940c1b9 EDSC: introduce support for blocks adds e0fc503896c [TableGen] Support using Variadic<Type> in results adds b4dba895a6a EDSC: make Expr typed and extensible adds 05f37d52d0b EDSC: clean up type casting mechanism adds da0ebe06709 Add a generic pattern matcher for matching constant values [...] adds 4ca62190990 Update pass documentation + improve/fix some comments adds 25016dc4c6e [EDSC] Remove dead code in MLIREmitter.cpp adds 5021dc4fa06 DMA placement update - hoist loops invariant DMAs adds 48ccae24763 NFC: Refactor the files related to passes. adds a1dad3a5d99 Extend/improve getSliceBounds() / complete TODO + update un [...] adds ffdf98d092f [EDSC] Fix Stmt::operator= and allow DimOp in For loops adds a2a433652de EDSC: create constants as expressions adds d055a4e100d EDSC: support multi-expression loop bounds adds 21bd4540f31 EDSC: introduce min/max only usable inside for upper/lower [...] adds 0cc24bb1afa EDSC: emit composed affine maps again adds 0a95aac7c70 Allow Builder to create function-type constants adds 61d848da079 Adding -mlir-print-internal-attributes to print attributes [...] adds 1725b485eb9 Create OpTrait base class & allow operation predicate OpTraits. adds 5d22044b5f8 Fix for getMemRefSizeInBytes: unsigned -> uint64_t adds 4d3af6be82a Print debug message better + switch a dma-generate cl opt t [...] adds 5162c58c78a Fix unused errors in opt build. adds 4056b98e225 Update / cleanup pass documentation + Langref alloc examples adds 59a209721e6 EDSC: support call instructions adds 1cc9305c71e Exposed division and remainder operations in EDSC adds c98a87cc068 Lower standard DivF and RemF operations to the LLVM IR dialect adds 3e656599f1c Define a PassID class to use when defining a pass. This all [...] adds f0597cbf9f0 Add documentation for the LLVM IR dialect adds d52e6313599 Add a test example of calling a builtin function. adds 51835e73e07 Document the conversion into the LLVM IR dialect adds 8564b274dbd Internal change adds 5410dff7901 Rewrite MLPatternLoweringPass to no longer inherit from Fun [...] adds f48716146e3 NFC: Make DialectConversion not directly inherit from Modul [...] adds c81b16e2797 Spike to define real math ops and lowering of one variant o [...] adds dfe07b7bf60 Refactor AffineExprFlattener and move FlatAffineConstraints [...] adds 4887e455462 [TableGen] Fix infinite loop in SubstLeaves substitution adds ec76f9c8c10 EDSC printing: handle integer attributes with bitwidth > 64 adds a51d21538c0 Add constant folding for ExtractElementOp when the aggregat [...] adds 8b99d1bdbfe Use dialect hook registration for constant folding hook. adds 83e8db2193b EDSC: support branch instructions adds e7193a70f82 EDSC: support conditional branch instructions adds 62c54a2ec4a Add a stripmineSink and imperfectly nested tiling primitives. adds 3f644705eb7 [TableGen] Use ArrayRef instead of SmallVectorImpl for suit [...] adds f1f86eac60e Add support for constructing DenseIntElementsAttr with an a [...] adds b4f033f6c6c Convert the dialect type parse/print hooks into virtual fun [...] adds b2694811066 Cleanup post cl/235283610 - NFC adds fd3c2d156f3 Verify IR produced by TranslateToMLIR functions adds 970715be9c5 Update LLVM Dialect documentation adds 1da1b4c3210 LLVM IR dialect and translation: support conditional branch [...] adds 41c37c62463 Unboxing for static memrefs. adds cdbfd484711 Rewrite the dominance info classes to allow for operating o [...] adds 79944e5eef3 Add a Function::isExternal utility to simplify checks for e [...] adds bac3eece667 [TableGen] Fix using rewrite()'s qualified name for a bound [...] adds 2d4b0e2c00d Add parser support for internal named attributes. These are [...] adds d4b3ff1096f Loop fusion comand line options cleanup adds 3b3e11da938 Validate the names of attribute, dialect, and functions dur [...] adds 03913698a8b Allow function names to have a leading underscore. This mat [...] adds 7aa60a383f2 Temp change in FlatAffineConstraints::getSliceBounds() to d [...] adds 302fb039617 Add a new class NamedAttributeList to deduplicate named att [...] adds d3918fc8cd3 Adding an IREE type kind range definition. adds 486dde42c04 EDSC: move FileCheck tests into the source file adds 9e18783e412 [TableGen] Add more scalar integer and floating-point types adds 493d46067b3 [TableGen] Use result names in build() methods if possible adds 6067cdebaa3 Implement the initial pass management functionality. The de [...] adds c6c534493d6 Port all of the existing passes over to the new pass manage [...] adds c2766f37604 Fix bug in memref region computation with slice loop bounds [...] adds a0031793674 Detect more trivially redundant constraints better adds e31c23853b3 Fix incorrect line split in header guard. adds 091ff3dc3f0 Add support for registering pass pipelines to the PassRegis [...] adds 1c1767621c4 Remove the stubs for getValue from DenseIntElementsAttr and [...] adds 303b768579e Add a generic getValue to ElementsAttr for accessing a valu [...] adds 300e4126c5d Move the PassExecutor and ModuleToFunctionPassAdaptor class [...] adds 0f8c3f40718 When parsing, check that a region operation is not referenc [...] adds d9cc3c31cc8 ExecutionEngine OptUtils: support -On flags in string-based [...] adds 8cc50208a66 LLVM IR Dialect: unify call and call0 operations adds db1757f8586 Add support for named function argument attributes. The att [...] adds 58889884a25 Change some of the debug messages to use emitError / emitWa [...] adds ed5fe2098be Remove PassResult and have the runOnFunction/runOnModule fu [...] adds ddc6788cc73 Provide a Builder::getNamedAttr and (Instruction|Function): [...] adds 229bd9ba213 Use Instruction::isBeforeInBlock instead of a linear scan adds 4bd5d28391e EDSC bindings: expose generic Op construction interface adds 6ef5fc582ea Method to align/merge dimensional/symbolic identifiers betw [...] adds 932e4fb29f2 Analysis support for floordiv/mod's in loop bounds/ adds 269c872ee84 Add support for parsing and printing affine.if and affine.f [...] adds d038e347352 Loop fusion for input reuse. *) Breaks fusion pass into mul [...] adds 8254aabd4a1 A simple pass to detect and mark all parallel loops - detec [...] adds 85d9b6c8f71 Use consistent names for dialect op source files adds f37651c708d NFC. Move all of the remaining operations left in BuiltinOp [...] adds 62e3e2c57c3 Update addSliceBounds to deal with loops with floor's/mod's. adds eee85361bbf Remove hidden flag from fusion CL options adds eeeef090efa Set the namespace of the StandardOps dialect to "std", but [...] adds c1b02a17be6 Add an assertion on the builder to ensure that a block is s [...] adds 485746f5243 Implement the initial AnalysisManagement infrastructure, wi [...] adds a495f960e0c Introduce the notion of dialect attributes and dependent at [...] adds d42ef78a750 Handle MemRefRegion::compute return value in loop fusion pa [...] adds 50efe0fc85c Add a 'verifyPasses' flag to the PassManager that specifies [...] adds a60ba7d9080 Supporting conversion of argument attributes along their types. adds 12b9dece8dd Bug fix for getConstantBoundOnDimSize adds 39a1ddeb1cd Adds loop attribute as a temporary work around to prevent s [...] adds a77734e1852 Make sure that fusion test cases don't have out of bounds accesses adds dd756750806 TableGen: fix builder generation for optional attributes adds 2dfefdafea4 Fix dialect attribute hooks so that they accept a NamedAttr [...] adds 069c818f402 Fix lower/upper bound mismatch in stripmineSink adds b34f8d3c83d Fix and improve detectAsMod - fix for the mod detection - s [...] adds 89d42f15a7d NFC: Move OperandStorage into a new header file for instruc [...] adds 7b0b344c5ef Add a unittests directory for MLIR and start adding tests f [...] adds 73e0297d364 Change the TensorFlow attribute prefix from "tf$" to "tf." [...] adds 02af8c22df5 Change Pass:getFunction() to return pointer instead of ref - NFC adds 7e288e7c19e Add missing run command to fusion test cases - follow up to [...] adds 5836fae8a09 DMA generation CL flag update adds c1ff9e866e3 Use FlatAffineConstraints::unionBoundingBox to perform slic [...] adds 95949a0d097 TableGen: allow mixing attributes and operands in the Argum [...] adds af6c3f7a636 Start a new implementation for edsc::Builder adds 38f1d2d77e5 Add support for Branches in edsc::Builder adds ee4a80bbd61 Add an eager API version for BR and COND_BR adds 76759395f26 Python bindinds: support functions with attributes and argu [...] adds 421276e0d55 [EDSC] Hotfix: Avoid implicit OpPointer -> OpType* conversion adds 480cc2b0631 Using llvm.noalias attribute when generating LLVMIR. adds b2fe39977e2 Hotfix for unused variable in opt mode adds 1d87b62afef Add support for preserving specific analyses in the analysi [...] adds 32943f5783c More graceful failure when verifying llvm.noalias. adds d43f630de85 NFC: Remove 'Result' from the analysis manager api to bette [...] adds 4fc9b51727b [TableGen] Emit verification code for op results adds 7c0b9e8b627 Add helper classes to declarative builders to help write en [...] adds 9e425a06f7b Fix an incorrect comment in builder-api-test. adds b8b15c77007 Add FlatAffineConstraints::containsId to avoid using findId [...] adds 1678fd1584b Fix opt build. adds 11b099c0126 Adds offset argument to specified range of ids know to be a [...] adds 157e3cdb194 Add documentation for the new pass infrastructure. adds ba6fdc8b014 Move UtilResult into the Support directory and rename it to [...] adds 056fc2fd093 Change assert message to mention `nullptr` instead of `sent [...] adds dbaab04a80b TableGen most of the LLVM IR Dialect to LLVM IR conversions adds b9724e98c25 Cleanups in the LLVM IR Dialect adds 6621f39d192 LLVM IR Dialect conversion: use builder arguments instead o [...] adds b5f7b7fd599 Fix unionBoundingBox bug introduced by cl/237141668 adds f427bddd064 Update the PassManager infrastructure to return Status inst [...] adds 10ddae6d888 Use Status instead of bool in DialectConversion. adds 1e55ae19a0e Convert ambiguous bool returns in /Analysis to use Status instead. adds 8b4b9b31f19 Python bindings: introduce loop and loop nest contexts adds ce7e59536c3 Add a basic model to set tile sizes + some cleanup - comput [...] adds 2c78469a93d Introduce a TypeID class to provide unique identifiers for [...] adds 999a0c8736d [TF] Improve verification for integer and floating-point te [...] adds 87884ab4b66 Refactor and share common code across addAffineForOpDomain [...] adds 18fde7c9d8d [TableGen] Support multiple result patterns adds 684cc6e8da2 [TableGen] Change to attach the name to DAG operator in res [...] adds d6afced0069 [TF] Define tf.FusedBatchNormOp in TableGen adds e2c301441e5 Don't run verifyOperation in verifyDominance, as it is alre [...] adds 80d3568c0a1 Rename Status to LogicalResult to avoid conflictions with t [...] adds eb19b4eefce Add support for custom ops in declarative builders. adds 0d925c55100 Follow up on custom instruction support. adds 497d645337a Delete dead function. adds 861eb874718 [EDSC] Cleanup declarative builder insertion point with blocks adds 2d2b40bce5b Add basic infrastructure for instrumenting pass execution a [...] adds 0310d49f466 Move the success/failure functions out of LogicalResult and [...] adds 43d0ca84198 NFC: Move the PassExecutor and PassAdaptor classes into Pas [...] adds 5e1f1d2cabf Update the constantFold/fold API to use LogicalResult inste [...] adds 732160eaa57 Move `createConvertToLLVMIRPass()` to its own header matchi [...] adds e46ba31c66e Add a new instrumentation for timing pass and analysis exec [...] adds dc141c307bc Tidy up some of the pass infrastructure g3doc. adds 0cc212f2b75 Ensure that pass timing is the last added pass instrumentat [...] adds 7972dcef847 Pull shape broadcast out as a stand-alone utility function adds e1595df1afa Allow input and output to have different element types for [...] adds dfd904d4a98 Minor changes to the EDSC API NFC adds 59b08392069 NFC: Remove old comment referencing CFG/EXT/ML functions. adds fde5bcdae78 Add documentation for the pass instrumentation framework to [...] adds 8d62a6092f3 Clean up some stray mlfunc/cfgfunc leftovers. adds b0cc81883cf Python bindings: drop third_party/ in includes adds 9abea4a466c Python bindings: provide context managers for the Blocks adds 075090f8912 Extend loop unrolling and unroll-jamming to non-matching bo [...] adds f0998d589b3 [TableGen] Add common I<n>Tensor, F<n>Tensor, and I64Attr d [...] adds 372a3a52b58 [TableGen] Sort OpBase.td attribute kinds and refine some comments adds 739f3ef7eec NFC: Remove a stray print in mlir::buildTripCountMapAndOperands. adds 7eee76b84c3 Give the TypeUniquer its own BumpPtrAllocator and a SmartRW [...] adds 9f2781e8dd7 Fix misc bugs / TODOs / other improvements to analysis utils adds 6558f80c8d1 Refactor pass timing so that it is toggled on the passmanag [...] adds c52a812700e [TableGen] Support nested dag attributes arguments in the r [...] adds a228b7d477f Change getMemoryFootprintBytes emitError to a warning adds e1e455f7dd1 Change parallelism detection test pass to emit a note adds d940c521830 Python bindings: make FunctionContext behave more like Bloc [...] adds 48d0d1f172c Python bindings: use MLIR operations to define constant values adds 269d9bf54e4 Python bindings: expose IndexedValue adds e904ddf3154 Python bindings: expose various Ops through declarative builders adds 80e38b6204f Python bindings: expose boolean and comparison operators adds 276fae1b0d5 Rename BlockList into Region adds e472f5b3d94 Optimize the implementation of AffineExprConstantFolder to [...] adds 9942d41e3bf Add an 'Instruction::create' overload that accepts an exist [...] adds 92a8a7115b9 Give Attributes their own BumpPtrAllocator and SmartRWMutex [...] adds fd6c94dc8f2 Give the affine structures, AffineMap/AffineExpr/IntegerSet [...] adds c769f6b9859 Give the Location classes their own SmartRWMutex and make s [...] adds 087e599a3f4 Rename allocator to identifierAllocator and add an identifi [...] adds 076a7350e21 Add an instrumentation for conditionally printing the IR be [...] adds 14489b5a8ab Remove unnecessary headers from mlir-opt. adds cdd56eb6755 Qualify DenseMap in AnalysisManager. adds 27d1bb920ef Cache the simplified attributes in SimplifyAffineStructures [...] adds 173457cbea7 Add numeric include for using std::accumulate adds cc5657343d5 Move getSuccessorOperandIndex out of line. adds 8e7b683d1fd Replace the usages of llvm::Timer in PassTiming in favor of [...] adds 6810c8bdc1b Moving the IR printing and execution timing options out of [...] adds f43388e4cef Port LowerVectorTransfers from EDSC + AST to declarative builders adds 3a12bc50419 Remove LOAD/STORE/RETURN boilerplate in declarative builders. adds a89d8c0a1a4 Port Tablegen'd reference implementation of Add to declarat [...] adds 509cd739bf8 Change Value to NamedTypeConstraint and use TypeConstraint. adds c3b0c6a0dce Cleanups Vectorize and SliceAnalysis - NFC adds 1156b2df354 Cleanups for OSS build. adds 81d25bb894d Change trait verification to support older clang & gcc. adds 6e983ae8df4 Give PassInstrumentor a SmartMutex to lock access to the he [...] adds 6d6ff7298ab Add support for parsing true/false inside of a splat tensor [...] adds 52b10474a7c Remove index free function adds ee4cfefca85 Avoiding allocations during argument attribute conversion. adds 57270a9a997 Remove some statements that required >C++11, add includes a [...] adds 30e68230bd3 Add support for a standard TupleType. Though this is a stan [...] adds a8ed2ca8fdc Cleanup for changes failing with std=c++11 adds eeadfbc1704 Change getBroadcastedShape() to return result shape via parameter adds d6c650cfb57 Properly propagate induction variable in tiling adds 3f1a5e4cf4c Add a "Usage of Const in MLIR" doc, explaining the rational [...] adds a09dc8a4919 [TableGen] Generate op declaration and definition into diff [...] adds ee1c726bfab Add a nice quote from Bjarke to summarize the const situation. adds 589df37142d Move to new `const` model, part 1: remove ConstOpPointer. adds 2be78730b0e Add contributing file. adds 8d526ef1730 Continue pushing const out of the IR types - removing the n [...] adds 1eb38ecdb7a Add comment describing what IREE (IR Execution Engine) stan [...] adds fc5bbdd6c8f Improve comment for `augmentMapAndBounds` adds e21c1010377 Add intrinsics for constants adds de81d65e9df Fix class description for Attributes: the instance of the c [...] adds 053870f1480 Reserve type range for the Linalg dialect adds 8a761881a0d Add 10 "private" kind ranges for MLIR type kind. adds 028530271e0 Make edsc::IndexedValue templated - NFC adds a19f22163df Better document TemplatedIndexedValue adds f0b38058b14 Add support for building a DenseIntElementsAttr with ArrayR [...] adds 88e9f418f5e Continue pushing const out of the core IR types - in this c [...] adds 6ab2984b23c Remove const support from mlir::Region adds 3d6c74fff53 Remove const from mlir::Block. adds 9e210f98840 Remove declaration and unused reference to non-existent typ [...] adds 071ca8da918 Support composition of symbols in AffineApplyOp adds 9021349c58c Rename edsc::EDSCxxxBuilder to edsc::xxxBuilder - NFC adds b899ec16a21 Define the base class for attributes containing types adds 5546733ec49 Start elemental type constraint specification modelling. adds fdef1615927 Remove "<label>" from the llvm basic block CHECK names. adds 94764ee0366 Add tablegen aliases for OpTraits ResultsAreFloatLike and S [...] adds 0f5602ae3d9 Add a parserSourceFile function that takes a file path directly adds 9a0aa4ff178 At missing mlir:: namespace qualifier in front of function [...] adds 319915eb236 Cleanup the construction of attributes and fix a opt-mode b [...] adds 4de7f95f7fb Verify first body is not empty before testing last character. adds 5246bceee00 Now that ConstOpPointer is gone, we can change the various [...] adds 39fa23feca1 Clarify the comment on valid data during DenseElementsAttr [...] adds b236041b937 Return operand_range instead for generated variadic operand [...] adds 986310a68f1 Remove const from Value, Instruction, Argument, and the var [...] adds 888554c0c6e Add a convenience getContext() method in OpState to reduce [...] adds 405aa0af9ee Deconst-ify MLIRContext, and detemplatize some stuff now th [...] adds f26c7cd7929 Cleanup ValueHandleArray adds dd2b2ec5420 Push a bunch of 'consts' out of the *Op structure, in prep [...] adds 286bc49aca4 Add a routine to allow registering a dialect without relyin [...] adds 7ab37aaf02c Fix missing parenthesis around negation. adds d9b5bc8f559 Remove OpPointer, cleaning up a ton of code. This also mov [...] adds 5c8113ef801 Remove `alignas(8) from TypeStorage class adds 9c6e92360c2 NFC: Rename the 'if' operation in the AffineOps dialect to [...] adds 67549682552 Move TypeStorage out of the detail namespace adds 903342c02c0 Change TypeStorage from a struct into a class (NFC) adds 3c747601d25 Add a `getImpl()` utility method to the `TypeBase` class as [...] adds e510de03055 Various small cleanups to the code, mostly removing const_cast's. adds 63e8725bc27 Update some of the derived type classes to use getImpl inst [...] adds bb621a5596a Using getContext() instead of getInstruction()->getContext( [...] adds 8f5fa566239 [TableGen] Consolidate constraint related concepts adds 832567b3799 NFC: Rename the 'for' operation in the AffineOps dialect to [...] adds af1abcc80b6 Replace usages of "operator->" with "." for the AffineOps. adds 5de726f493f Refactor the Pattern framework to allow for combined match/ [...] adds c8a311a7888 Qualify string in OpDefinitionsGen. NFC. adds 96ebde9cfd0 Replace usages of "Op::operator->" with ".". adds 5f3b914a6e2 Replace remaining usages of "Op::operator->" with "." and r [...] adds 46ade282c8d Make FunctionPass::getFunction() return a reference to the [...] adds a7215a9032b Allow creating standalone Regions adds 8811e284e8e Add an IndexedValue::operator Value* adds c7ada0b376b Tablegen changes to add support for tuples. adds 56d5afdddf9 Fix createAffineComputationSlice comments adds bee7b53031c Update the canonicalization patterns for AffineApply and Af [...] adds 97db10d4130 Add a utility Instruction::getDialect method to return the [...] adds e18d8ad7fa9 Add a getContext() utility to the Module/FunctionPass class (NFC) adds 9ffdc930c04 Rename the Instruction class to Operation. This just rename [...] adds c489f50e6f8 Add a trait to set the result type by attribute adds d5259edefdc Update header notices. adds f9d91531df5 Replace usages of Instruction with Operation in the /IR directory. adds c6b294ac7b4 Include numeric header for std::accumulate. adds af45236c70e Add experimental support for multi-threading the pass manag [...] adds 5a5bba0279a Introduce affine terminator adds 04b925f1b8a Port api-test::tile_2d to the edsc::Builder API adds 9c085406904 Replace usages of Instruction with Operation in the /Analys [...] adds 5c285f228c3 LLVM IR Conversion: keep LLVM dialect types as is during co [...] adds e2f9079a71e LLVM IR Conversion: support zero-dimensional memrefs adds ed4fa52b4a8 Add missing numeric header for std::accumulate. adds 810e95b8610 Use dereference instead of implicit conversion for IndexedV [...] adds a5f253a3356 Add a method to swap the type of a function in-place adds b15ac2d9998 Initialize std::atomic directly. adds b0244b66a53 Fix include path in test pass. adds 7641900d2fa Allow to mutate the type of MLIR Value in-place adds 3518122e86c Simplify API uses of `getContext()` (NFC) adds 99b87c9707b Replace usages of Instruction with Operation in the Transfo [...] adds 3a845be7d1b Add support for multi-threaded pass timing. adds d5524388ab7 [TableGen] Change names for Builder* and OperationState* pa [...] adds c3742d20b52 Give the Vectorize pass a virtualVectorSize argument. adds d7e386cea91 Move TF dialect test to dialect. adds b8874c679ff Small edit for clarity. ("Zero dimensions" reads to me as " [...] adds 8f1e7441699 Move test of trait using dialect ops, to dialects of ops. adds 21547ace873 Update the multi-threaded pass timing to not assume that to [...] adds 4dc7af9da88 Make vectorization aware of loop semantics adds 31442a66ef2 Cleanup vectorize_1d.mlir test - NFC adds af9760fe189 Replace remaining usages of the Instruction class with Operation. adds 79bd6badb28 Remove global LLVM CLI variables from library code adds 213b8d4d3b9 Rename InstOperand to OpOperand. adds 07c1a96abf9 [PassManager] Define a ParallelDiagnosticHandler to ensure [...] adds 9d9675fc8fa Remove overly conservative check in LoopFusion pass (enable [...] adds 01140bd137c Change the muli-return syntax for operations. The name of t [...] adds abe881d565c NFC - Handle IndexedValue corner case adds 3173a63f3f4 Dialect Conversion: convert regions of operations when clon [...] adds 85bbde483db LLVM IR Dialect: separate the conversion tool from the conv [...] adds cd0b925dc2c Remove extra qualification adds 909a63d8bfe Tidy up a few comments and error messages related to parsin [...] adds 76181a7b38d Remove the LowerEDSCTestPass. adds b633fcf9c09 Add README file for MLIR. adds e7111fd62cd Address some errors from g++ adds 65a5f73ab31 Fixed a few instances of inconsistent grammar. adds dd0029e4f68 Support for type constraints across operand and results adds 106dd08e996 Change the vectorizer test pass to output via diagnostics i [...] adds 9d30b36aaf8 Enable input-reuse fusion to search function arguments for [...] adds 8a0622c986a [PassManager] Add a utility class, PrettyStackTraceParallel [...] adds d16213bf664 Update the QuickstartRewrites document to include informati [...] adds 3ddd0411d06 Slight rewording of TupleType rationale. adds 094ca64ab06 Refactor vectorization patterns adds 5303587448c [TableGen] Support benefit score in pattern definition. adds f93a5be65f1 Make createMaterializeVectorsPass take a vectorSize paramet [...] adds a38792f7d13 remove the const quantifier before temp variable adds c9d5f3418a5 Cleanup SuperVectorization dialect printing and parsing. adds 90d2e16e63a Replace usages of instruction with operation in the g3 documents. adds 258dbdafa8a Update TypeBase::verifyConstructionInvariants to use a [...] adds 0ae68a3ccfa Remove the MLIRContext parameter from Dialect::parseTyp [...] adds 6f24bf82f97 Assert that registered dialects have unique names. This [...] adds 1273af232cd Add build files and update README. adds 0fb905c0704 Implement basic IR support for a builtin complex<> type [...] adds dfc58742a21 Rename the 'namePrefix' field in the Dialect class to ' [...] adds ff05e9da198 Update variable in PassTiming to refer to system_clock [...] adds 082016d43ac Add a flag to Dialect that allows for dialects to enabl [...] adds b9e38a7972e [TableGen] Add EnumAttrCase and EnumAttr adds a0606ca717a Minor fixes on the typo/naming/style in the Pattern.cpp file adds 191aaa82efa Support 0-d tensor type attributes adds 62cd7511f3e Rewrite ResultTypeIterator to be a mapped_iterator inst [...] adds b3a407fa68f Fix MacOS build adds 005d54329ed Add a getContext() convenient accessor on mlir::Value (NFC) adds 51f6c0ea600 Add a getLoc() method on mlir::Value that returns the l [...] adds be4f48d1e13 Minor fixes to README.md (NFC) adds 9089911daae Use `this->` to access inherited member from dependent [...] adds d7296a4ae34 Linalg portion of the tutorial - part 1 adds bae95d25e50 [TableGen] Add Confined, IntMinValue, and ArrayMinCount [...] adds 084669e0056 Remove MLPatternLoweringPass and rewrite LowerVectorTra [...] adds 0451403066f Update the pass ir-printing test to not rely on rtti ty [...] adds 7c1fc9e795e Enable producer-consumer fusion for liveout memrefs if [...] adds 38b71d6b846 Initial version for chapter 1 of the Toy tutorial adds 0be63691761 Update the Function and Module verifiers to return Logi [...] adds 8affb783a8e Linalg portion of the tutorial - part 2 adds 67a52c44b17 Rewrite the verify hooks on operations to use LogicalRe [...] adds 213dda687b5 Chapter 2 of the Toy tutorial adds f457ab7fc99 Provide default `affineMapComposition` and memory space [...] adds 7fa2864954f Update the dialect attribute verification hooks to retu [...] adds 72ccfcee1ea Linalg portion of the tutorial - part 3 adds 5854fb9b941 Fix Toy tutorial gcc 7 build (NFC) adds 04f766c2ed1 Add -DLLVM_BUILD_EXAMPLES to the mlir build instruction [...] adds 736bef73868 Introduce custom format for the LLVM IR Dialect adds e01cccf34a4 Fix minor typo (triggered a GCC warning, NFC) adds e97ca1227a5 Add fake-use for variable in LLVMDialect.cpp to fix opt build. adds 607b8851a88 Add link to the Toy tutorial in the Readme adds c2e9ab8ef18 Fix path for the examples in Toy tutorial Ch1 adds f1b12f5a64e Fix test that fails on non-determinism in LowerVectorTransfers adds 1e021cfbd75 Remove section of the README copied from the Rationale [...] adds 509619829d1 Python bindings: support __floordiv__ for index types adds 7a30ac97c8f Python bindings: drop MLIREmitter and related functionality adds f50edc65cdd Drop MLIREmitter-based version of the EDSC adds 67f49eed9a4 Update Readme to mention that the TensorFlow specific w [...] adds 0e28cea4d4c Fix CMake build adds 1ac49ce0bd1 [TableGen] Remove asserts for attributes in aggregate builders adds 88067454369 Add missing source file in CMakeLists.txt adds 4e972bd5a54 Add mention of the TensorFlow Code of Conduct in the Readme adds 5fb62b47c3d Tutorial Linalg1: implement conversion to the LLVM Dialect adds 3522c65d3b8 [TableGen] Fix convertFromStorage for OptionalAttr adds 13bb8f491a1 Initial release of the Quantization dialect adds b9e3b2107b7 [TableGen] Allow additional result patterns not directl [...] adds 50df91745d1 Linalg portion of the tutorial - part 3-2 adds c833d8a19d5 Refactor Quantization.md to separate TFLite native quantiza [...] adds 7bf06e6038c Remove links to internal google docs, updating them to [...] adds f504b63f6f9 Remove links to internal google docs, updating them to poin [...] adds 8d40302b340 Added memref to OpBase.td as specific memref types shou [...] adds 1b56ce30873 Fix the alignment issue in the DenseElementsAttr buffer [...] adds 288bf2b5b95 Split the Quantization dialect. adds a261ce5b401 Move the top-level `tutorial` as `Linalg` nested in the [...] adds 3a2955fa1fc Rename UnknownType to OpaqueType (NFC) adds 7ce55ff7c2e Add CMakeLists.txt for Quantization and FxpMathOps dial [...] adds 0737776200a [README] Minor edits. adds 393c77c5da8 [README] Fix links, minor edits. adds f0a328b6d5e Chapter 3 for Toy tutorial: introduction of a dialect adds 092f3facad4 Fix Toy Ch3 testing with CMake adds 8b790434e55 Example Linalg3: support Load/Store conversion from Lin [...] adds 3c833344c85 [TableGen] Rework verifier generation and error messages adds c7790df2ed9 [TableGen] Add PatternSymbolResolver for resolving symb [...] adds 76cb2053263 [TableGen] Enforce constraints on attributes adds 55014813e33 Adds dependence analysis support for iteration domains [...] adds d0d1b2a30de Fix bug in LoopTiling where creation of tile-space loop [...] adds 6fa3181329e Remove the non-postorder walk functions from Function/B [...] adds 4e40c832915 Deduplicate constant folding logic in ConstantFold and [...] adds dca21299cb4 Fix a few warnings for missing parentheses around '||' [...] adds a8f4b9eeeb9 Iterate on the operations to fold in TestConstantFold i [...] adds 0cd589c337e Create a LoopUtil function to return perfectly nested loop set adds a83181cd20b NFC: Fix erroneous use of 'OpaqueType' with 'Type' when [...] adds 64f10da5eee Introduce a new class, MultiOperandTraitBase, to dedupl [...] adds c4a5386e481 NFC: Replace usages of iterator_range<operand_iterator> [...] adds 623e4b9711d Linalg portion of the tutorial - part 3-3 adds 0a6cb916158 Add mention that we don't (yet) accept contributions in [...] adds d33a9dcc732 Add Chapter 4 for the Toy tutorial: shape inference, fu [...] adds fde21c6fafb NFC: Fix a few typos in the tutorials and one in the co [...] adds 92df395068f Linalg portion of the tutorial - part 4 adds 01e8ec94c33 Fix CMake build: account for renamed files and add miss [...] adds b5235d1a9ce [TableGen] Support array attribute subclasses and constraints adds 7d60cd898ce Add mentions of requirements before the build instructions adds 7a640e65e9e Fix CMake build: reflect that a new file Utils/Constant [...] adds 33285de9374 ExecutionEngine: allow for running MLIR passes during J [...] adds 6196c8a9fdc Linalg3 example: implement JIT-compilation and execution adds 465ef55088e Tidy up the links in the documents and fix any broken ones. adds 4cda344e7b9 Add methods for building array attributes in Builder adds e4628b79fb8 Add new utilities for RTTI Operation casting: dyn_cast_ [...] adds a1b4cae30a9 Post commit cleanups to the Linalg dialect adds fe1211edf2c Add attr constraint support to constrain IntegerArray a [...] adds 67653d98813 Add iterator support to DenseIntElementsAttr and DenseF [...] adds 637eb2fc76d Remove/replace TPU-specific instruction references and memr [...] adds 3f93d93367c Introduce support for parsing pretty dialect types, cur [...] adds 72441fcbf20 Change the asmprinter to use pretty syntax for dialect [...] adds ed84d7000c6 Provide a default implementation for matching: most Dia [...] adds f40634ef3a1 Filter DialectConversion pattern to be considered only [...] adds 85bc5d07765 Documentation fix - complex type is a standard type adds de2a119451d Documentation fix - use '_' instead of '.' in the type alia [...] adds 6271e7a758e Fix cond_br example. adds 364b7e624e9 Add support for f64 type conversion for Linalg dialect [...] adds fea05608162 Fix Linalg3 lowering to use the floating point element [...] adds f9c4c60320e Do not mark llvm.return, llvm.br, llvm.cond_br operatio [...] adds 7286d439202 Introduce std.varargs attribute to mark variadic argume [...] adds 89d5d369644 Fix bug in Toy tutorial where IR emission stopped after [...] adds a8a5c069614 Add and and or bitwise operations to StandardOps. adds 8e193e617cb Change initialization syntax for ScopedContext in examples adds adb0ca07323 Example Linalg3: manually register the Linalg dialect adds ca89e7167de Fix build for the Linalg example dialect with MacOS adds af016ba7a4e Add xor bitwise operation to StandardOps. adds 046a993967f Add CMakeLists rules for Linalg adds 70546104ffe Add TabelGen support to logically AND a list of attribu [...] adds 1ee07e7fdea De-templatize TensorContractionBase (Linalg example/tutorial) adds 04b6d2f3c13 [TableGen] Make sure op in pattern has the same number [...] adds 6b18e34de43 Use c++14 for building with CMake adds a43f216fd57 Automated rollback of changelist 242546977. adds c39592b09c5 Toy tutorial Chapter 5: Lowering to Linalg and LLVM adds c4dee61c0eb Fix Toy cmake build: add missing includes adds 6c6ed466a6d Expose `setupTargetTriple` as a public static method on [...] adds dfd98764f7a Start a Linalg doc adds 70a416de14c Fix typos in LoopFusion adds 44f6dffbf8e Factor code to compute dependence components out of loo [...] adds d6037276af4 Add conversion of StandardOps and, or and xor to LLVM dialect. adds 9ec5fcf1fa8 Use hexadecimal constants instead of binary constants adds 2e7895d5f1b Add parentheses in various asserts to group predicates adds bdd56eca49f Remove checks guaranteed to be true by the type adds dfcc02b1119 [TableGen] Support naming rewrite rules adds b0055ab5c30 Update the FxpMathOps to better reflect what is needed [...] adds d468eaccfc9 Update custom rewrite example, which seems to have drifted [...] adds fe59ba19afb Add support for statically shaped and typed tensors adds 0836f670f16 Add missing dependencies for EDSC and linalg libraries adds e552a63aa12 Update documentation for the DialectOpconversion class: [...] adds 4d243f138a0 Update the Rationale's description about signed/unsigne [...] adds 48a6aa6c513 [TableGen] Better support for predicate and rewrite rul [...] adds 138c972d11b [TableGen] Use `tgfmt` to format various predicates and [...] adds 2dc6d205acb [TableGen] Allocate `Operator` object on heap in `Recor [...] adds 0047ef97650 NFC: Simplify named attribute in TableGen generators adds 074cb4292f9 Fix CHECK-EMPTY directives without trailing colon adds 09c053bfd0a Expand the pretty dialect type system to support arbitr [...] adds 8bb8351710b [TableGen] Fix support for ops whose names have a leadi [...] adds 62885039758 TypedTuple: Add support for tuples with type constraint [...] adds 5d783ab3bd8 Abort via report_fatal_error if dialect has been registered. adds b8dc04a0050 [TableGen] Fix builder for ops with one variadic input [...] adds 0fe2f009f25 Fix SliceAnalysis comment adds e01260bf75f Add DebugStringHelper, which makes it easier to get a s [...] adds ee7bdddfb3f Add NewLine for Attribute dump() adds a2e08eb384b Bring naming of some quant ops in alignment with docs a [...] adds c9f21cf355e Move QuantTypes out of QuantOps to match the file struc [...] adds 7905da656ed Loop invariant code motion. adds 4aa9235ae0e Fix LLVM_DEBUG instances adds cfdffd90a0c Use proper C++ casts in Location.h adds 5b0c2420f7c Use proper C++ casts in Types.h adds 2d79bcb7cd6 Simplify build instructions. adds 13285ee907b [TableGen] Simplify NOperands trait generation adds 05dfb1c7e00 Fix MLIRTableGenTests target_link_libraries typo adds 8370cc74921 Start a Linalg dialect adds 75be1fe82b1 [Linalg] Add a simple buffer type with alloc/dealloc ops adds 7977e62b96b Fix typo (transpose -> reshape). adds e8d551e2bda Implement lowering of element-wise fixed point add and [...] adds 1d5dc840e76 [Linalg] Add a view type with base_view op adds 0b47f740376 [Linalg] Add a slice op adds 4292294a65e Simplify and enable pretty-parsing/printing of the unif [...] adds 159d07254e0 Add references to the EuroLLVM talks in the README adds 82a586e6583 Use StringRef::drop_while() to simplify a while loop adds f7f2760c30c Update lib path in whole_archive_link. adds 09b623aa937 [TableGen] Capture bound source ops in PatternState adds d0e2019d39d [TableGen] Unify cOp and tAttr into NativeCodeCall adds 10bcc34a685 [TableGen] Clean up comments regarding op and result adds 5c757087c74 Apply patterns repeatly if the function is modified adds 8189e6ef908 Implement lowering of quant.dcast to the fxpmathops and [...] adds 017cf6c7b80 Fix unused variable warning in opt build adds ea86e7652e8 ExecutionEngine: update to reflect LLVM API changes adds 06ca99530d2 Factor out thread-safe uniqu'ing backed by vector in ML [...] adds ff6804c0456 Minor typo in integer type definition. adds a2e7775441b [Linalg] Add basic linalg ops adds 1423acc03cd Rename isa_nonnull to isa_and_nonnull to match the upst [...] adds 8034407f543 Use -force_load instead of -all_load on MacOS adds 5f801366d1a Fix flaky Linalg roundtrip test. This removes an invali [...] adds 9f934f2a59a Add MultiResultTraitBase adds 4beef47b350 Introduce functionality for defining region ancestor relation adds ce128753334 [TableGen] Refine OpTrait classes and defs to be consistent adds 69cdceae733 GetMemRefType failed on 0-D tensors. Loosened check to [...] adds 22ad45a7aa8 Add support for Unit Attributes. adds 6749c21d6ec [TableGen] Support multiple variadic operands/results adds 880df8f6ad8 Refactor the generic storage object uniquing functional [...] adds 65ccb8cfd57 Add a new NVVM dialect that extends the LLVM dialect wi [...] adds 24d0f60d312 Start building SDBM infrastructure adds 40ab8e0fb31 Enable multi-threading in the pass manager by default. adds 8a5f88191b7 Decouple region argument parsing from their type assignment adds 9de199676fe Implement the conversion between SDBMExpr and AffineExpr adds 54ee709e887 Add LLVM Conversion Tutorial adds a8ef8fa182b Update the wording of a comment in the LangRef now that [...] adds 1316db3baa1 Add support for a NoneType. adds c9b0540b9c4 Make identity cast operations with the same operand and [...] adds 4c74f1bf38d Rename "convert-to-llvmir" to "lower-to-llvm" (NFC) adds aae8a7446e3 Start GPU Dialect adds 0ea6154b2a0 Add Dialect in op definition to capture prefix and docu [...] adds c5abd6b6c94 Link MLIRSupport to IR in OSS adds 56c7a957bfc Parsing support for Range, View and Slice operations adds 3ea13d2db05 Fixup MLIRGPU to mlir-opt in cmake. adds 9fd19578521 Fix opt build failure. adds 9ecf6887d6e Add an "any" quantized type, which contains the underly [...] adds 041e961802f Add extraClassDeclaration field for ops. adds 5d7231d8128 Add transformation of the NVVM dialect to an LLVM modul [...] adds 72ce58e23e2 ExtractElementsOp asserts for >1 operator however it ac [...] adds 0f89ef30b74 Refactor Attribute uniquing to use StorageUniquer inste [...] adds 0bd0571e722 Reserve the required capacity to avoid pointer invalida [...] adds 17d3acf40c7 Ensure that every Attribute contains a Type. If an Attr [...] adds e402d4330d7 Fix namespaces on a few pass factory functions. adds 007a4acece7 Remove NumericAttr. Now that all attributes contain a t [...] adds 21d9dc4f299 [Linalg] Add a primitive tiling pass adds eaf7f6b6713 Start sketching out a new diagnostics infrastructure. C [...] adds b14c4b4ca8c Add support for basic remark diagnostics. This is the m [...] adds 45c8245cca9 Substitute getI64IntegerAttr for the more verbose code [...] adds bedc5af9ae9 Fix a typo. adds e3be54cd4ac Fix a minor formatting issue. adds dd726ea99d5 Update to address missing cmake target & qualify make_pair. adds 920b8a9bdaa Simplify TypeUniquer/AttributeUniquer to not require mu [...] adds 8adc3f0ec79 Add a primitive linalg-lower-to-llvm-dialect pass adds b9b59ef9cdb [ODS] Define ConstantOp. adds 2d5e7f53cc3 [TableGen] Add the `TCopVTEtAreSameAt` PredOpTrait adds 13caf8b3109 Add FxpMathOps real_matmul and real_matmul_bias. adds b91aea1516b NFC: Move AttributeStorage and AttributeUniquer into a [...] adds 752ce8e0c86 Be consistent w.r.t. struct/class in forward declaration adds c720dd1ab82 Add missing SameValueType trait to a couple of quantiza [...] adds 1e217ccacde Start developer guide doc. adds 9c66417569c Fix bug in LoopTiling where a loop with trip count of 1 [...] adds 8c9fbb7eb83 Accept additional conversions in the LLVM lowering adds ff6e7cf5581 Introduce a new API for emitting diagnostics with Diagn [...] adds 258e8d9ce2e Prepend an "affine-" prefix to Affine pass option names - NFC adds baa656352a0 Add the ability to attach notes to Diagnostic/InFlightD [...] adds ffa0246bc21 Add an MLIRContext::emitWarning utility method. adds 777e7b4f4f6 Make the Twine parameter of the current diagnostic emit [...] adds 9233df9045e Fix -Wmismatched-tags warning. adds b2806e197ea Remove the ability to directly print affine structures [...] adds 78c13b776e7 Remove erroneous cast. adds 1a2f2d12164 Add a section in the DeveloperGuide for the naming conv [...] adds 00dea78fdcb Add a section in the DeveloperGuide about avoiding unsi [...] adds 4db06d84d8f Automated rollback of changelist 246610168. adds 2fe8ae4f6ca Fix up some mixed sign warnings. adds cad369b667c Minor fixes (formatting/typos) to the DeveloperGuide adds b52d6e9148c [TableGen] Couple of small updates to OpBase adds 3b930b0d706 Add explicit friendship with Operation to each derived [...] adds dcab80115ff Add SameOperandsAndResultElementType trait. adds 4ea887be411 Namespaceify a few explicit template specializations to [...] adds 7fea30b9dd4 Remove redundant ; adds 3f27c606889 Add a static utility to FloatAttr for converting an APF [...] adds e2e89f5c834 Specify Regions in LangRef adds d3380a504fe Change syntax of regions in the generic form of operations adds b7b75cf74cb GPU dialect: introduce custom syntax for gpu.launch adds 465df0d916e Add the "gpu.launch_func" op to the GPU dialect. adds 535a8450115 Fix the indentation of CHECKs in test/GPU/ops.mlir. adds fb8a0fc25e8 Fix MacOS build: static constexpr must be defined adds 3df7a802655 Simplify the emission of various diagnostics emitted by [...] adds 94afc426e26 Refactor the support for AffineMap and IntegerSet alias [...] adds 983e0eea953 Simplify several usages of attributes now that they alw [...] adds c4891378e26 Add split-input-file to constant fold test adds c34386e3e59 CmpFOp. Add float comparison op adds ae9f4f21570 Simplify the emission of various diagnostics created in [...] adds 6ccf90147ca NFC: Convert the ParseResult enum into a simple struct [...] adds b7dc252683b NFC: Make ParseResult public and update the OpAsmParser [...] adds b28bafd74f3 Add operations to produce block/index ids and dimension [...] adds cffed537a1b Fix a few typos in the Toy tutorial documentation adds 323e1bf7f8e Inline a string used in lambda function to fix capture error adds fa6eb9bfafc Add a new ClassID utility class that allows for generat [...] adds ce4fa9f6527 Add support for using the new diagnostics infrastructur [...] adds a1b24a0e085 Verify that attribute type and constant op return type [...] adds b4684e229bd Add utility to accept any tensor type. adds e088f93f0da Simplify the parser/printer of ConstantOp now that all [...] adds 8ad33205575 Rename DialectTypeRegistry to DialectSymbolRegistry in [...] adds 334d57ef41b Add an AttrBase class to simplify defining derived Attr [...] adds 4bc23a40f49 Add a utility diagnostic handler class, SourceMgrDiagno [...] adds a4b56174bd3 Move the definitions of AllocOp and DeallocOp to tablegen. adds e05eda9d223 Simplify the emission of a few op parser diagnostics. T [...] adds 530439075ab Add gpu.launch_func builder. adds 45c87e4d3b2 Fix builder for LLVM::Alloca operation. adds dbb9608de8f Conversion to LLVM Dialect: integrate TypeConverter int [...] adds 6254a42d583 Fix bug in DmaGenerate pass where MemRefRegion union wa [...] adds 0412bf6f098 Add memref dimension bounds as upper/lower bounds on Me [...] adds a054f7af95c Update mlir::interleaveComma to work on ranges with typ [...] adds 07f777f6cd5 Fix OSS build (Linux) adds 33449c3e6c0 Pipe Linalg to LLVM via mlir-cpu-runner adds b4c06416df0 Move edsc python tests to Filecheck adds 0e481bae68e Add support in the SourceMgrDiagnosticHandler for handl [...] adds b0be00c7468 Only forbid mixing tensor and vector when considering b [...] adds 5fd4ec1b781 Move the diagnostic verification functionality out of m [...] adds 211ceb9fd56 Add override keyword on overidden virtual method (NFC) adds 6459c821bfe Fix class/struct mismatch between declaration/definition (NFC) adds 52d0dbbd2a5 Make header-defined method inline instead of static (NFC) adds e0949c9cdbd Remove unused MLIRContext member from MutableAffineMap [...] adds 051925bd34e Remove unused PassID member from PassRegistry (NFC) adds 0a21ab70fad Pass for outlining gpu.launch operation bodies into ker [...] adds 29712d7ffaa Add gpu.launch_func builder taking KernelDim3 arguments (NFC). adds df0296742b7 Annotate outlined kernel functions with the attribute ` [...] adds 43547ccfac8 Verify that kernel functions referenced by gpu.launch_f [...] adds 685f9484814 Add support to SourceMgrDiagnosticHandler for handling [...] adds 6bdd13f1072 Reorder edsc python tests - NFC adds fa97d3a2cfd Emit cast instead of dyn_cast_or_null where attribute i [...] adds b42747eec2b Templatize the integer constructors for DiagnosticArgum [...] adds 1d309e00825 Make header-defined function inline instead of static (NFC) adds c86dc1c1270 Remove unused `hasSingleNonZeroAt` function (NFC) adds 83cce46b96b Remove unused Vectorize constructor (NFC) adds 9e363a1f3f4 Refactor the SourceMgrDiagnosticHandlers to support mor [...] adds a5ca314c4cf Replace dyn_cast<> with isa<> when the returned value i [...] adds 91f0781000e Remove extra `;` after function definition (NFC) adds e68a4caebee Use `uint8_t` storage for enum class adds 8a34566515e Remove unused `signature()` from `OpMethod` class (priv [...] adds 32ae5dd16ca Remove unused method `parseIntegerSetInline` and `parse [...] adds bd8ed0d215c Fix unused variable warning in the Toy tutorial (NFC) adds ff5d021c396 Add llvm_unreachable in unreachable path to silence GCC [...] adds aa99db18094 Add support to the SourceMgrDiagnosticHandlers to auto- [...] adds 53a3483cc80 Ensure that all attributes are registered with a dialec [...] adds 77c333ca626 Move the definitions of BranchOp, DimOp, and ExtractEle [...] adds 4a6264f5c5d Move the definitions for CallOp and IndirectCallOp to t [...] adds df5000fd314 [TableGen] Return base attribute's name for anonymous O [...] adds 85bf79851eb Change the diagnostic handler to accept Diagnostic inst [...] adds ecd4c7d67af Revert "Pass for outlining gpu.launch operation bodies into [...] adds 0134b5df3a0 Cleanups and simplifications to code, noticed by inspec [...] adds fe7b23792d6 Remove some unnecessary or duplicated header includes f [...] adds 81e478adca9 rename -memref-dependence-check to -test-memref-depende [...] adds e686a115233 Remove several heavy includes from Diagnostics.h by a m [...] adds 360f8a209e2 Rename Op::isClassFor to Op::classof to match the LLVM [...] adds 02e03b9bf4a Add support for using llvm::dyn_cast/cast/isa for opera [...] adds 41d90a85bd7 Automated rollback of changelist 247778391. adds c5ecf9910a2 Add support for using llvm::dyn_cast/cast/isa for opera [...] adds adca3c2edcd Replace Operation::cast with llvm::cast. adds d5b60ee8407 Replace Operation::isa with llvm::isa. adds d7c467ded1e Remove the explicit "friend Operation" statement from e [...] adds 90d4023c9b0 Factor out loop interchange code from LoopFusion into L [...] adds 3d62ef80181 Update region documentation adds 6a6cb40f23c Refactor the includes of Function.h now that the depend [...] adds 2d20cbd1fdc Update cmakelist to reflect renamed filename. adds 9cc5747a7b6 Add test for affine-loop-tile pass with a loop of trip count 1 adds 5c64d2a6c44 Pipe Linalg to a cblas call via mlir-cpu-runner adds 59100a0177a Move Affine Expressions and Affine Structures documenta [...] adds bc30a01b62f Change a few errors emitted by the parser to be notes instead. adds e18a55f142f NFC: Cleanup the definitions of the Location classes. adds 17cc065da0d Move the definition of Return op to the Op Definition G [...] adds 5d7546470dd Move MemRefCastOp and TensorCastOp to the Op Definition [...] adds d39a30626ed Use the DialectSymbolRegistry to reserve space in the A [...] adds bc5c7378b29 Add a utility method to MLIRContext get a registered di [...] adds c82e1da2687 Remove unused function and avoid unused variable warning. NFC. adds 3427d87719f Fix -Wsign-compare in Toy LateLowering. adds 635bebaac97 Update "Table-driven Op Definition Specification" doc adds cad382406f4 Refactor NameLoc so that it also holds a child location [...] adds cf3959f49d1 Add a linalg.dim adds 1a2ad06bae2 Fix lingering sign compare warnings in exposed by "ninj [...] adds 30356de1db1 Add initial support to the SourceMgrDiagnosticHandler f [...] adds c6c989f1798 Move specification of print, parse and verify to Std_Op base. adds ed47f59c2f3 [ODS] Add definition for TypeAttr adds 6264fccd3a4 When converting a location to an SMLoc, advance to the [...] adds d4dcf7de9e6 Move Quantization -> Dialect/QuantOps, FxpMathOps -> Di [...] adds 8eb32a9051c Add an AffineExpr matcher adds cde4d5a6d90 Remove unnecessary C++ specifier in CPP files. NFC. adds fa01679e7c1 Add support for a Linalg base op class adds d4d8dc8db99 Start to introduce the "Quantizer" tool, which is respo [...] adds 636b7f6f54a Add a new document detailing the diagnostics infrastructure. adds a0514338b80 Make Linalg tiling a FunctionPass instead of a ModulePa [...] adds 9ec6b5b7495 Remove some extraneous const qualifiers on Type, and 0b [...] adds 8d5bd823b08 Add support for parsing/printing dialect defined attrib [...] adds 6aa5cc8b06e Cleanup linalg integration test adds 2e1bbb8ca80 Fixed Attributes.h comment typo from vecctor to vector adds 79265887ff1 Upstreaming Quantizer tool (part 2). adds 742863b4977 Add a new tutorial document that details how to define [...] adds b3888fa9cc4 Store the child function analysis maps of a ModuleAnaly [...] adds 090662c5f35 Rename VectorOrTensorType to ShapedType adds a4317d1a598 Add a linalg.range_intersect op. adds 13dbad87f68 Add linalg.range_intersect conversion to LLVM. adds 1982afb145b Unify the 'constantFold' and 'fold' hooks on an operati [...] adds e489e592467 Don't fail verifying unranked shapes as being the same [...] adds 7dc7de39f31 Expand ReturnOp error to include types. NFC. adds 27e517f15a3 Simplify the verification of ExtractElementop. adds 12e31761ce2 Fixes a small bug in computing dependence direction vec [...] adds f471c91afdc Update cmake dependencies. adds 487b5223a48 LLVM API updates. adds f06ab26acf7 Implement SDBM and conversion between SDBM and lists of [...] adds 69ef8642dff Overload arithmetic operators for SDBM expressions adds 7e11eb1f871 Fix use of variables only used in asserts. This oth [...] adds 98292945581 Refactor Attribute and Type to use 'classof' instead of [...] adds 13017246815 Allow for the case where ShapedType is a MemRef in fixe [...] adds 31833943281 Enable EDSC API test running through lit adds e095f9e72ad Also visit memref element type in AsmPrinter adds eb5ec039607 Refactor PatternRewriter to inherit from FuncBuilder in [...] adds 1a100849c46 Add support for saving and restoring the insertion poin [...] adds 8e5bfb85c44 Upstream the Quantizer tool (part 3). adds b5ecbb7fd60 Clean up tablegen vector and tensor types adds 3de0c7696b9 Rewrite the DialectOpConversion patterns to inherit fro [...] adds 22a8bc6ec39 Make shape matching work for any shaped type. adds 8780d8d8ebc Add user iterators to IRObjects, i.e. Values. adds 1966d34da45 Move the ConversionListBuilder utility to PatternMatch. [...] adds 1e2d2f5d66a Add a utility function 'Operation::replaceUsesOfWith' t [...] adds 3090a651b70 Update the rewrite methods of each of the DialectConver [...] adds 7ffdf2cddda Add support for streaming Operations into Diagnostics. adds a23b728034e Allow a function to take the name of another existing f [...] adds 6241cf132e9 Refactor the DialectConversion process to clone each fu [...] adds 68250edbfac NFC: Tidy up DialectConversion.cpp and rename DialectOp [...] adds 039800bfb6f Add support for streaming an OperationName into a Diagnostic. adds 164c3c7ac5e Fix debug build: static constexpr data member must have [...] adds 44082282696 ExecutionEngine: drop PassManager integration adds 34cbd26d64f Use FileCheck to test SDBM adds 9b58691e749 Add lowering of LinalgLibraryOps to linalg.load + linal [...] adds 05df9d121a3 Fix stride computation bug when lowering linalg.view to llvm adds aabb44f66d5 Fix Linalg/llvm_ir test adds 20e0cedfbd9 [ODS] Allow dialect to specify C++ namespaces adds f6590eeaa0c Delete IntegerBase and FloatBase tablegen classes adds 3be4346cdf2 Rename "AnyOf" and "AllOf" combined predicates to "Or" [...] adds 62b4c997e66 Fix automatic description for AnyTypeOf adds bedff17ec8e Add CMakeLists.txt entry for Linalg/Transforms/LowerToLoops adds c3777ea1038 Define a string join tablegen utility adds 70f85c0bbf2 Fix MacOS test: use %shlibext in lit command line to ex [...] adds fdbbb3c2744 Use lambdas for nesting edsc constructs. adds 80884d28ac3 [LoopFusion] Don't count terminator op in compute cost. adds d48ff10f015 When changing the type of a Function, also update the t [...] adds 5065839da7d Upstream the Quantizer tool (part 4). adds 75f1a4fcc3a Change getParent() to be a const function. This is only [...] adds 37d0d097a99 Drop AffineExpr::Null adds c74996d199e AffineExpr: factor uniqu'ing out of MLIRContext.cpp adds 6c6f192b2cb Small cleanup. * Use `cast` rather than `dyn_cast` [...] adds 35c1ef99269 Linalg: avoid deriving from MultiOperandTraitBase multi [...] adds 1b94395ed82 Fix -Wsign-compare in OperationSupportTest.cpp adds e62a12316e0 SDBMExpr: factor uniqu'ing out of MLIRContext.cpp adds 6804cf2429b Move SDBM infrastructure into a new SDBM dialect adds 3b500c694de Move SDBM uniquer into the SDBM dialect adds 6aae7b2e9ad CMake build: force-link SDBM lib into SDBM unit tests adds da37b0a536f Clean up container type names in OpBase adds 64a21667a9c Fix a bug in toy LateLowering where a type conversion w [...] adds 3902cef954e Make the ParallelDiagnosticHandler used by the pass man [...] adds 7a4869e3164 Simplify container type definitions adds 099355524c5 Make static shape tensor container match other container types adds 44014c870df Add a new interleaveComma that allows specifying a unar [...] adds cf8f1ea9187 NFC: Fix the name of a comment header block in Diagnost [...] adds d16b4708090 Update Attribute::getDialect/Type::getDialect to return [...] adds d15d107da10 Refactor DialectConversion to operate on functions in-p [...] adds 29c7929b13b Make EDSC builder test more robust to the order of evaluation adds d5397f4efe1 Return nullptr on Region::getContainingOperation()/getC [...] adds c33862b0ed8 Refactor FunctionAttr to hold the internal function ref [...] adds 5953d12b959 Add thread-safe utilities to LLVMType to allow construc [...] adds ca9bd9d3af1 Added the ability to run a mapping function across the [...] adds 51feed5518a Automated rollback of changelist 249538085. adds b52112275d4 Add LLVM::IntToPtrOp and LLVM::PtrToIntOp to LLVM dialect. adds 6a31f9a7e34 Automated rollback of changelist 247713812. adds c0f41e5bb3d Fix Linalg lowering to loops adds 14d1cfbccba Decouple running a conversion from the DialectConversio [...] adds 4958ec2414b Apply operation rewrites before updating arguments. adds e2b715fe41c Added the ability to run a mapping function across the [...] adds c84286773c2 Remove a stale declaration in FunctionAttr. adds 997c7c4a8d4 Fix Linalg tiling for the partial tile case. adds 6d241dfd539 Rename Float/Integer to AnyFloat/AnyInteger adds 5bfe37691ce Add a new TestDialect directory in tests/. This directo [...] adds 3ccbc0bcec7 Make TupleOf take a list of allowed types. adds 4165885a90e Add pattern file location to generated code to trace or [...] adds 5185acca0dc Introduce a new common diagnostic handler ScopedDiagnos [...] adds 22f1af4400d Move explicit calls to Module::getNamedFunction outside [...] adds cb348dff8aa Add support for llvm.constant with StringAttr as value. adds fe2716aee37 Detemplatize convertRegion in DialectConversion adds ae1651368f5 NFC: Rename DialectConversionPattern to ConversionPattern. adds a560f2c646d Affine Loop Fusion Utility Module (1/n). *) Adds Lo [...] adds e53b7d2c02c Add LoopFusionUtils.cpp to CMakeLists. adds 06734badbcd Add operand type iterators to Operation and cleanup usa [...] adds ba104f871ca Add TestLoopFusion.cpp to CMakeLists.txt adds 9f1f91e7703 Add a type-constrained nested tuple type. adds 8b4c2140461 Use TestDialect to test traits instead of unittest. adds 58a766705bc Limit the number of places where shaped type has to exp [...] adds 15075d5a226 Replace checks for rank -1 with direct calls to hasRank adds ca885b3c810 Move the definitions of CmpIOp, CmpFOp, and SelectOp to [...] adds 5a5cdb94fe7 Move the definitions of LoadOp and StoreOp to the ODG f [...] adds c2d069323b8 Rename DialectConversion to TypeConverter and split out [...] adds 83f5669cee1 Update the m_Constant matcher to enable matching derive [...] adds 9cb3ea8fe4e Update the type printer for Diagnostic to automatically [...] adds 09438a412f1 Fix incorrect result type inference for nested tuples & [...] adds 647f8cabb97 Add support to RewritePattern for specifying the potent [...] adds 9edcd99feb4 Address some build warnings. adds b0a26768ec9 Make scope explicit to avoid misleading-indentation warnings. adds 2f50b6c401f Use fused location for rewritten ops in generated rewrites. adds 9e21ab8f522 Add a templated wrapper around RewritePattern that allo [...] adds fba1d50b85c [spirv] Start the SPIR-V dialect adds b33a7232a26 Add a 'getDialectNamespace' utility to a few dialects. adds 4ed50a14b20 NFC: Cleanup a switch statement that only has a default case. adds be9b20ff575 NFC: Add a missing include for std::isalnum and std::digit. adds a945ec86e0b Avoid unused variable warning. adds 46d657a277f Move the 'is_detected' utility out of StorageUniquer an [...] adds f0ee052d9e4 Use SourceMgrDiagnosticHandler in mlir-translate for tr [...] adds f7ba70f8ea3 Change pattern test to use TestDialect instead. adds ffc4cf70919 Fix correspondence between trait names in ODS and C++ c [...] adds d4c071cc695 Decouple affine->standard lowering from the pass adds 8d703af2f8b Fix translation of NVVM special registers to intrinsics. adds c2d105811a7 Do not assume Blocks belong to Functions adds d4c8c8de423 [ODS] Support numRegions in Op definition adds c3b8ef2e665 Tidy up a few parser functions in the ModuleParser. Thi [...] adds 0281603f3c6 Fix mismatched-tags warning. adds dce701ab867 NFC: Replace Function::args_iterator with Block::args_i [...] adds e828c7e1e11 Remove unused IsSingleResult template adds 3ad0fa95d1e Add a linalg.for operation to support non-affine loop c [...] adds 33dc9566470 EDSC: use llvm::function_ref instead of std::function adds 0eac031fac9 Add lowering linalg.for to LLVM IR adds 861c55e1504 Add a rank op to MLIR. Example: adds e5a69049144 Get rid of redundant verifier, which is implied by the [...] adds 22e3aa75948 [spirv] Add ModuleOp adds aa7ee31cbe0 [TableGen] Making printer support $cppClass substitutio [...] adds 661f062f6b6 NFC: Switch std::vector to SmallVector. This fixes a co [...] adds 06b0db5311f Remove the Toy/* file path from the location check line [...] adds c455ecef229 Add an example of accessing the impl storage to the 'De [...] adds 1fd1c7a8bbf Replace the Function reference methods from the OpAsmPa [...] adds 1ebbb135cc5 Disable the mlir-cpu-runner tests on win32. llvm orc do [...] adds 16ebc48c9d1 Change elements literal parsing to not rely on shaped t [...] adds bffba61d480 Add whole_archive_link support for MSVC. adds a7b862240c5 Change "may never" to "must never" adds 1de0f97fff7 LoopFusionUtils CL 2/n: Factor out and generalize slice [...] adds 5a91b9896ce Remove "size" property of affine maps. adds 66e84bf88c7 Make it clear that ElementsAttr is only for static shap [...] adds 9ebab7bc30b Avoid dyn_cast to ShapedType adds 17022b1bc51 Check for Vector or Tensor Type rather than ShapedType [...] adds 1c681a7cafc Exclude all ShapedType subclasses other than TensorType [...] adds e2af847a2eb Move CondBranchOp to the ODG framework. adds d407a85169a Use hasRank instead of comparing rank to -1 adds 9abdbb31892 NFC: Inline toString as operations can be streamed dire [...] adds 4a697a91de4 Fix 5 ClangTidy - Readability findings. adds 11e485ca19f Replace usages of 'add_executable' with 'add_llvm_executable'. adds c59538977ed Add keywords in target_link_libraries post add_llvm_exe [...] adds 077bf9b2669 Avoid unspecified files error by explicitly including for now. adds 29073d999cd Allow argument and result names replacement in predicates. adds 97505013c6a Make getRank abort for unranked type adds 4fd012cda21 Replace a usage of std::vector with SmallVector to allo [...] adds 60d6249fbd7 Replace checks against numDynamicDims with hasStaticShape adds 3650df50ddf [ODS] Support region names and constraints adds 9c430353ae3 Disable named attribute in ODG for ArgOrResultElementTy [...] adds 94541563dca Abstract the internal storage of the NamedAttributeList [...] adds 58e40178fcc Remove the newline from the mlir-opt 'split-input-file' [...] adds 37732b17590 Fix an msan warning for use of an uninitialized variable. adds 8eca4cc30de Don't use ShapedType to indicate vector or tensor type adds 32de860a093 Make MemRefType subclass ShapedType adds ac4b0a1e7b2 Some cleanup of ShapedType now that MemRef subclasses it. adds 65eae3f75f2 Get rid of separate getRank() on MemRef now that it sub [...] adds 1e104f22eba Fix CMake builds: sources not used in every targets mus [...] adds 05bb27fac2c NFC: Cleanup method definitions within Parser and add h [...] adds 7a43da60608 Loop invariant code motion - remove reliance on getForw [...] adds e7b337acf85 Add support for providing an output stream to the Sourc [...] adds c912981bbd6 Static cast size_t -> int64_t instead of vice versa for [...] adds daefaded4a3 Consistently use int64_t for shape-related values in sh [...] adds 8c4ae76b274 Use size_t for tuple type size adds 05b0527ab76 Move NamedAttributeList::get() method out-of-line (fix [...] adds af98d824761 [spirv] Add a script to update SPIRVBase.td with new en [...] adds 482d39eb982 Avoid failure due to incomplete type specification. adds c914976c721 Allow constant of unit type. adds b1393c2cd0c NFC: Split up Parser::parseAttribute into multiple smaller [...] adds 3ea85750585 Cleanup the Linalg trait ViewRanks. * Fix a miscompile on o [...] adds 252de8eca01 Introduce OpOperandAdaptors and emit them from ODS adds c263ae91040 Restructure the parser to support nested name scopes. This [...] adds f5e736c4481 SDBM: fix the order of variables in the stripe-induced ineq [...] adds c014f5699f1 Add Windows build instructions. adds 62cbdd51faf Start defining a new operation 'FuncOp' that replicates all [...] adds 11fcecf15db Support type casting Type to itself adds 95eaca3e0fa Refactor the dialect conversion framework to support multi- [...] adds 93d522c6965 Make MemRefOf tablegen type subclass ShapedContainerType adds e2032c7d4ed Replace comments referring to "vector or tensor" with "shap [...] adds 2cef9f07d2c [ODS] Add support for TypeArrayAttr adds 42c19e8272a Add a utility function to OperationName for extracting the [...] adds f7b9ac82458 Align NVVM operation names with names from GPU dialect. adds 3f517af9ad5 [ODG] Add iterators for results in Operator adds 70db033190f Add support to FuncOp for managing argument attributes. The [...] adds ecfd5f8cade Make it explicit that the IR printing instrumentation shoul [...] adds 9fc4193eea9 Adding additional dialect parsing utilities, conversion wra [...] adds 9b4a02c1e9b NFC: Rename FoldHelper to OperationFolder and split a large [...] adds 11d18a4a5e0 Add a utility function to Op that allows for checking if an [...] adds 23cf3b39e0a [spirv] Basic validity of SPV_ModuleOp adds f59f64e838c Add support to AffineApplyOp::fold for folding dim and symb [...] adds f1b848e4701 NFC: Rename FuncBuilder to OpBuilder and refactor to take a [...] adds 7438dcb71f4 ODG: Always deference operand/result when using named arg/result. adds 08d407f243c Add a few utility overloads for OpAsmParser methods: * Add [...] adds 0d2492eb2ed When cleaning up after a failed legalization pattern, make [...] adds 9fc00cf8402 Always remap results when replacing an operation. This prev [...] adds 6f5f5a91783 Add new 'createOrFold' methods to FuncBuilder to immediatel [...] adds bb475a27e26 Fix a typo in error message. adds d9560100279 NFC: Cleanup FunctionParser by removing dead methods, addin [...] adds cc06860394f Fix a warning for missing parentheses around '||' inside of [...] adds d23435d5545 NFC: Rename FunctionParser::builder to opBuilder. This allo [...] adds 0560f153b87 Add utility 'create' methods to OperationFolder that will c [...] adds e9d212c6aa2 NFC: Cleanup the definitions of OpAsmParser and CustomOpAsm [...] adds 952196f3743 Minor change to Linalg Tablegen file to not include OpBase. [...] adds 0840ecfd463 NFC: Rename FunctionParser to OperationParser. There is not [...] adds 82f9be83a39 Add a verify method to FuncOp and check that the type signa [...] adds f55f7dc7695 Support FP16 in getZeroAttr. adds fa187e0f3bb Support constructing DominanceInfo with an Operation. This [...] adds 3ab5c0bfaff Add a general operation property 'IsolatedFromAbove' that g [...] adds e25796ef6e7 Add support for matchAndRewrite to the DialectConversion pa [...] adds e7ccfb2ae84 Add support to ConversionTarget for storing legalization ac [...] adds e6872ce7b7a Simplify DenseElementsAttr by rounding up the storage of od [...] adds cc8a8fa76ac Adding utility to parse optional colon-type-lists. adds b790a2f3968 Remove the explicit attribute kinds for DenseIntElementsAtt [...] adds b8227c9ac31 Add the getDialectNamespace static utility method to the Li [...] adds 36ebf56a19b Internal change adds 0b88d449434 Add free standing getElementTypeOrSelf member. adds 7c50d6afbed NFC: Replace typelist_contains with llvm::is_one_of. This s [...] adds 37f54b3552e Add a convenient getDialect() accessor on Op<> class adds 24723de5c2d Remove unnecessary StandardOps dependency adds 62facfaf42a NFC: Cleanup FuncVerifier and refactor it into a general Op [...] adds 0cadec8ae67 Remove the ability to directly construct a DenseElementsAtt [...] adds 61c3b5df388 NFC: Cleanup the grouping of DenseElementsAttr 'get' method [...] adds b0ee20f9245 Update function comment, since we added FP16 support for ge [...] adds 1be9fc66115 [TableGen] Generating enum definitions and utility functions adds 7f108e60cc9 [ODG] Use getODSOperands() and getODSResults() to back accessors adds 3812d956eae [ODS] Support variadic operand/result verification adds e33e36f1788 Return dependence result enum to distiguish between depende [...] adds 9e95e079870 [ODG] Address compiler warnings of comparing signed and uns [...] adds e5c8bed43ab [spirv] Add array and run-time array types adds 3148d60e605 Expose a minimal type parser to dialects. adds 5392d3badfa [spirv] NFC: use two spaces for indentation in gen_spirv_di [...] adds eb3ed07cd1a [spirv] Add values for enum cases and generate the enum utilities adds 65c94470ed5 Add a general Operation::verify that verifies an operation [...] adds d4491084aee Change a call to FloatAttr::getChecked to FloatAttr::get in [...] adds dfd6b349ea4 Fix MSVC 2019 missing <string> include (NFC) adds 765734c6abf Add bool constant attributes. adds fd6542c12b2 [spirv] Add missing CMake rules for enum utility generation adds 6553b90c826 [ODG] Add support for private methods in class writers adds c680d7d063f [spirv] Include SPIRVStructureOps.td in SPIRVOps.td adds 8ad35b90ec0 Use DialectConversion to lower the Affine dialect to the St [...] adds eb28b309401 NFC: Cleanup the naming scheme for registering legalization [...] adds 420c1f383a5 Add a utility to OpAsmPrinter for printing an optional trai [...] adds d3a601ce331 [spirv] Add a skeleton to translate standard ops into SPIR- [...] adds f3ececd6b31 Simplify trait naming for verifying argument/result constraints. adds a8a4d35d3ff Add a lowering for Linalg matmul to LLVM adds bab53a94849 Add a Linalg fusion pass. adds 5da741f671e Add basic cost modeling to the dialect conversion infrastru [...] adds d8cd96bc8b7 Refactor DenseElementsAttr to support auto-splatting the de [...] adds 705b2b5ea45 Fix OSS build adds d43b8923e09 Update 2 instances of isa<BlockArgument> adds 867867a44d4 Fix static assertion in AttributeDetail.h adds de32c03ebee Add Linalg FillOp adds a3e6f102ca1 [ODG] Fix value indices in verification error messages adds 8c6f1881432 [spirv] Use mlir::parseType in type parsers and add more checks adds b5a34406a8b Update the Parser to support parsing/printing DenseElementA [...] adds d13f670311c [spirv] Add SPV_StorageClassAttr and PointerType adds a566dd92703 GPU Dialect: introduce gpu.return adds 5de1152e2ae Disallow non-index operands and results in affine.apply adds 13461f5c33b Add several utility 'getValues<T>' functions to DenseElemen [...] adds 54b35cec086 Add a definition of the library function to use when Linalg [...] adds d156b83060e Add ability to verify type matching between operands/results adds a0037a04731 NFC: Fix a warning for casting away const qualifiers. adds 2c9269124a7 NFC: Fix a narrowing conversion from size_t to int64_t when [...] adds 6a0555a8754 Refactor SplatElementsAttr to inherit from DenseElementsAtt [...] adds ee6f84aebd5 Convert a nest affine loops to a GPU kernel adds b582338f629 Explicitly construct ArrayRef in AttributeTest.cpp adds 5624bc289ec Add an overloaded 'get' method to DenseElementsAttr that ac [...] adds e7e03cee1f4 Add Linalg CopyOp adds 3682936982a Disallow using NOperands/NResults when N < 2. We have speci [...] adds ebea5767fb7 Start moving conversions to {lib,include/mlir}/Conversion adds 580a77fef5e Remove dead code. adds 06eb2fc06a5 Use braces when building an 'llvm_return' via EDSC intrinsi [...] adds 05cf32162eb Move the Region type out to its own .h/.cpp file instead of [...] adds a14eeacf2c8 Add lowering pass from GPU dialect operations to LLVM/NVVM [...] adds 898cf0e9687 LoopFusion: adds support for computing forward computation [...] adds 4291ae74317 Factor Region::getUsedValuesDefinedAbove into Transforms/Re [...] adds f218519cc2b Introduce std.index_cast and its lowering+translation to LLVM adds 2091ed5e308 [spirv] Add doc regarding the SPIR-V dialect adds 31e2a6efe53 Also consider attributes when getting context for Operation adds cf74e41277d Verification for gpu.launch_func should rely on function ty [...] adds 1d4c0409660 [spirv] Define common types using op definition spec adds 980bf61b4bc [spirv] Add spv.constant adds 74df13fdda9 Refactor generic op printing: extract a public printFunctio [...] adds 92d4eb69b56 Add a TableGen Type predicate to check that an operand type [...] adds 2b67821b909 Fix the detection of boolean splat values in DenseElementsA [...] adds b4ab7763c63 Add mlir::Function::eraseBody helper to remove the body of [...] adds 893374bfa29 Add a pass that translates a CUDA kernel function (tagged w [...] adds e0596a4d631 Use llvm::StringSwitch in lowering of GPU ops to NVVM ops. adds b9beff0384a Make examples/Linalg3 depend on the new standard to LLVM co [...] adds 4cba614c195 Put createGpuKernelOutliningPass in MLIR namespace adds 79ea320c75b Add missing cmake dependency from Linalg to MLIRStandardToLLVM. adds 59b68146ffb Factor fusion compute cost calculation out of LoopFusion an [...] adds 14e2f4a22be Fix GPUToNVVM naming: NNVM should have been NVVM adds 847e15e3c27 Add a setAttrList() method on mlir::Operation adds 23962b0d634 [spirv] Add spv.Variable adds dee282c7da0 Replace usages of 'UniquedFilename' with 'Identifier' and r [...] adds 34cb51743d9 NFC: Append 'Location' to the end of each the location kind [...] adds 18743a33ac0 NFC: Reorder the attribute classes alphabetically to improv [...] adds 30bbd910565 Simplify usages of SplatElementsAttr now that it inherits f [...] adds 9d81081d907 Add a pass that translates GPU.launch_func into a series of [...] adds e31c47ee8b5 Export symbols in cpu runner cblas library adds d7d69569e72 Rename -verify mlir-opt flag to -verify-expected-diagnostics adds fd99b6ce979 Remove unnecessary -verify-diagnostics adds 927b7074a80 Extract the function symbol table functionality, i.e. mappi [...] adds 9764ae3f242 Refactor the TypeConverter to support more robust type conv [...] adds 9552409387f Add missing MLIRStandardOps dependency for MLIRGPU adds 7848505ebd8 Print proper message saying variadic ops are not supported [...] adds d7ba69e811c Add SPIRV Image Type according to the spec described here : [...] adds 7202c4e69d8 Rename ConversionTarget::isLegal to isDynamicallyLegal to b [...] adds 2d6bbabe4ba Add definition for OperandElementTypeIterator and ResultEle [...] adds 25050960af8 TensorFlow operands can be broadcasted with each other and [...] adds e19a0857a29 Fix a warning in enum value ecoding for SPIRV image types. [...] adds 0804750c9b5 Uniformize usage of OpBuilder& (NFC) adds 99d83342620 Add missing override on overridden virtual method (NFC) adds 3e99d995536 Add an overload to 'PatternRewriter::inlineRegionBefore' th [...] adds 235e2fe030e Support for 0-D case in Linalg ops adds d080efefe0a Cache instances of several common attributes(e.g. BoolAttr, [...] adds 704a7fb13ee Add support for 1->N type mappings in the dialect conversio [...] adds 87a88d5353b Clarify documentation for MLIR to indicate that the build i [...] adds 1de41ebb6ce Define the 'reference' type for the OperandType and ResultT [...] adds 5db5ab3d583 Define the 'reference' type for the remaining value-typed i [...] adds 55088075942 NFC: Drop the unnecessary dependence on TransformsUtils fro [...] adds 8f77d2afedb [spirv] Basic serializer and deserializer adds e4f8f3bc350 Simplify PredecessorIterator by using mapped_iterator. adds 36b7c2da1de Refactor the location classes to be attributes instead of s [...] adds 4a1df48f447 Add a Linalg convolution op. adds 9bcf8e6422d Remove dead function adds 25734596e4b Define a ModuleOp that represents a Module as an Operation. adds bf1afdd2763 Add int8 predicates to the tf lite ops adds dbc96d67759 Add missing build dep. adds 48d6cf1ced1 NFC: Remove the 'context' parameter from OperationState. adds bcacef1a70d Add a new dialect hook 'materializeConstant' to create a co [...] adds af9bc7e50d8 Linalg1LLVMConversion should depend on MLIRLLVMIR to ensure [...] adds 650dc4bb657 Allow converting Diagnostic to LogicalResult::Failure. This [...] adds 4dc629fc675 Change string to std::string. adds b67cab4c441 Update CSE to respect nested regions that are isolated from [...] adds 3df510bf425 Add parsing/printing for new affine.load and affine.store o [...] adds 2ff1c010635 Add higher-level linalg.view_slice operation. adds 257a654b72a Split out mlir-opt main into separate file. adds 05c110adf37 Remove leftover change from splitting mlir-opt change. adds 46b755d4056 Use linalg.view_slice in tiling and fusion adds 7e7ed9104ae Cleanup test following bad merge adds 52ba7857585 NFC: Simplify Operation::getContext to use the context with [...] adds 74127bc062e Add SPIR-V Load/Store operations. Currently this only suppo [...] adds 6192978bc01 Cache several common LLVMTypes in the LLVMDialect. adds dac75ae5ff4 Split test-specific passes out of mlir-opt adds 95cfd99616d Fix OSS build adds c32080a1b0f NFC: Move the ArgConverter methods out-of-line to improve r [...] adds 14a10a818b2 Print both type in diagnostic emitted on mismatch between d [...] adds 43c0cf109ff gpu.launch_func: add accessors to grid configuration operands adds f35d0c85709 NVVM target: emit nvvm.annotations for kernel functions adds 594c826578f Add missing dependence to MLIRLLVMIR adds 10f320f7c0d Add gpu::GPUDialect::isKernel helper. adds 2628641b23b GPUtoNVVM: adjust integer bitwidth when lowering special re [...] adds 66ed7d6d83e Update the OperationFolder to find a valid insertion point [...] adds 91f27d025b3 Support printing SSA ids in affine.load/store which do not [...] adds f08dcfaf89e Internal change adds 3ca33a5c62e Move the IndexedAccessorIterator to STLExtras to allow for reuse. adds 9966ba2b3cf Fix unclear sentence. adds 1df5f3159e5 Fix typo in Toy tutorial documentation adds 4842b2d42e9 Modify the syntax of the the ElementsAttrs to print the typ [...] adds 49162524d82 NFC: Uniformize the return of the LocationAttr 'get' method [...] adds 679a3b41911 Change the attribute dictionary syntax to separate name and [...] adds a4c3a6455c4 Move the emitError/Warning/Remark utility methods out of ML [...] adds c72c6c39071 Make GPU to CUDA transformations independent of CUDA runtime. adds 630119f84f2 Add a pass that inserts getters for all cubins found via nv [...] adds d4cf54f2c1d Split out TranslateClParser and add new parse method that r [...] adds 260d3e39ad2 Standardize and refactor Attribute type printing. adds 6ebd6df69fe Add a new AttributeElementIterator to DenseElementsAttr. adds 1533e531594 Support parsing MLIR source from stdin. adds c48675fd877 Fix incorrect type used in forward declaration. adds bda669beea2 Allow attaching a type to StringAttr. adds 7b5f49af769 Parenthesize match expression to avoid operator precedence issues adds 929466b5c9f Cleanup the 'clone' methods and remove the need to explicit [...] adds fd1113f1dde Return an error when parseType doesnt parse the entire stri [...] adds ce1f72a4569 Update cmake depedency. adds 030e45e33da Respect the user provided type when parsing StringAttr. adds 266841751f0 Add buffer size information to Linalg::BufferType. If the s [...] adds 7c755d06aa6 Refactor DialectConversion to use 'materializeConversion' w [...] adds 7b17f4e6477 [spirv] Move conversion passes to a new library adds 6c68596aeed Add new operations affine.dma_start and affine.dma_wait whi [...] adds 799c7b291ac Update CONTRIBUTING.md adds 098d93e0fd0 Update CONTRIBUTING.md adds 4cd3a671576 Update CONTRIBUTING.md adds 8ed1ce9de37 Update CONTRIBUTING.md adds c353d97cb85 Update CONTRIBUTING.md adds 16a60c6df7e Merge pull request tensorflow/mlir#36 from pkanwar23:patch-2 adds b975111fc04 Internal change adds 0acb393fc4a Update link to presentation adds ef763434887 Merge pull request tensorflow/mlir#37 from tensorflow:jpien [...] adds 6a7a1ca25d0 Move BufferAllocOp and BufferDeallocOp to ODS adds 8c47e2ed5cb Extract the automatic function renaming and symbol table ou [...] adds d046b2ddecb Expose AffineToGPUPass for use with PassManager adds e7f51ad08a3 Add a folder-based EDSC intrinsics constructor (NFC) adds 9dd182e0fa3 [ODS] Introduce IntEnumAttr adds 2652be79344 Avoid generating underlying value to symbol conversion func [...] adds 2dc5e194264 Also disable generating underlying value to symbol conversi [...] adds f487d20bf0d Add affine-to-standard lowerings for affine.load/store/dma_ [...] adds a83fd0d2c7c Run FileCheck on test-legalizer.mlir adds 5eef726bc8c TypeConversion: do not materialize conversion of the type t [...] adds 84bd67fc4fd Update the 1->N legalizer test to use "test.return" so that [...] adds 54cd6a7e97a NFC: Refactor Function to be value typed. adds 694975ddbcb Standardize the definition and usage of getAllArgAttrs betw [...] adds 705b80918d1 Generalize the CFG graph printing for Functions to work on [...] adds 0b468b01014 gpu::LaunchOp: canonicalize away constant kernel arguments adds d71b8bae027 Update variable naming to match LLVM coding style. adds 22883036cd2 EnumsGen: remove dangling assertion adds 479a3e06139 NFC: Add several utilities to OpState. adds 25f29e1b150 NFC: Update the Operation 'walk' methods to use llvm::funct [...] adds 32f3c6c74e1 [spirv] Use I32EnumAttr for enum attributes adds 509411c2299 [ODS] NFC: Rename EnumAttr to StrEnumAttr to be consistent [...] adds 5c4ae813ee4 Update readme to reflect accepting contributions. adds 25094e90bdc Resolving buffer operand of linalg.view doesnt have the inf [...] adds b4a2dbc8b6d docs: minor spelling tweaks adds 206e55cc165 NFC: Refactor Module to be value typed. adds 08927308b7f [spirv] Various small improvements adds c73edeec139 Add support for SPIR-V Struct Types. Current support is lim [...] adds 516188bf1cb Add support for promoting Linalg views into new buffers. adds d3f743252dd NFC: Move the Function/Module/Operation::verify methods out [...] adds 0782b37936b NFC: Move Standard to SPIR-V conversion to lib/Conversion adds 611ae950ed5 Add a 'getOps<>' method to Block to only iterate operations [...] adds ff9779e5b4a Add support for getting and setting the dialect attributes [...] adds 95279afbf79 NFC: Allow clearing the functions of a Module and splicing [...] adds 0024ddc4aeb Add a generic loop abstraction to the std dialect adds 28fb7437986 More general subview calculation in tiling adds 2e1187dd25a Globally change load/store/dma_start/dma_wait operations ov [...] adds e7d594bb1c7 Replace the implementation of Function and Module with Func [...] adds 9cde4be7a5f [TableGen] Support creating multi-result ops in result patterns adds 82679d47181 NFC: Refactoring to remove code bloat in SPIRV due to handl [...] adds 9a1b6fec79c Make ConvertStandardToLLVMPass extendable with other patterns adds 1bcaa3185d2 Add missing mlir:: namespace in definition of createConvert [...] adds bd17bd299ff AllocOp: drop redundant verifier check adds e8b21a75f85 Add an mlir-cuda-runner tool. adds 6f7f2bced87 Make TranslateFromMLIRFunction type return LogicalResult in [...] adds abc722a5825 Forward-declare LogicalResult as struct adds fa6b49b095a Fix another incorrect forward declaration of LogicalResult adds 474e3541798 NFC: Remove Region::getContainingFunction as Functions are [...] adds 75ae06acf31 Trivial typo in comment fix. adds 8c6a3ace16f Add ODS accessors for named regions. adds ead1acaef2f ODS: provide a flag to skip generation of default build methods adds 471da08e4e6 Simplify launch_func rewrite pattern in mlir-cuda-runner adds 991040478b9 Add a standard if op adds afadfebe9c4 Move StdForOp to ODS ForOp adds 80381abfd0d Migrate pattern attribute matching tests to use TestDialect adds 7bf65a0086f Migrate NativeCodeCall and AllAttrConstraintsOf tests to us [...] adds 7e74ee8ff7e Use isa instead of dyn_cast as cast value isn't used. adds a89b8aeccab LinalgOp::Model: add missing override specifiers adds 3898e100c81 Include missing header. adds 01d042a1231 Remove std::move of trivially-copyable type. adds b3e7bb04980 Add missing overrides. adds 50a4c89e8f7 [spirv] NFC: Remove functions wrapping spv.module in tests adds 02975d7033e Add 'hasTrait' support to Operation. adds ea2117e567a Remove dead code. adds f2fb3d19094 Add Ops in SPIR-V Dialect corresponding to OpEntryPoint and [...] adds d3a85cc77df NFC: Add AbstractOperation as a friend of 'Op'. adds ce502af9cd6 NFC: Remove the various "::getFunction" methods. adds 504d58affe6 Add missing override. adds 891a7911c2c Add dependencies for standard ops to SPIR-V conversion adds 86580e71d2b Remove dead code. adds 5e4f8b7e7b8 NFC: Make the 'disable-pass-threading' flag a PassManagerOption. adds 626b8b6a5de NFC: Remove `Module::getFunctions` in favor of a general `g [...] adds ee8e8b5539b Generalize the symbol table functionality of ModuleOp into [...] adds 2002087f1ab NFC: Change a usage of StringLiteral to StringRef. adds 80e28710877 Extend AffineToGPU to support Linalg loops adds 9d03f5674f4 Implement parametric tiling on standard for loops adds 7a2e8726e8a Fix a test broken on some systems due to a mis-rebase. adds 4cabebf04d0 Add parentheses around boolean operators in an assertion in [...] adds 89bc449cee6 Standardize the value numbering in the AsmPrinter. adds e0dd5f98c40 Relax the restriction that Modules cannot contain operation [...] adds 847c2355fdb Constrain regex to avoid ordering issues. adds 8c443678918 NFC: Rename Function to FuncOp. PiperOrigin-RevId: 257293379 adds 6b6dc59f301 Update ModuleOp::create(...) to take a Location instead of [...] adds fec20e590f5 NFC: Rename Module to ModuleOp. adds 68edb3ba75c Delete dead code adds b3e28fca531 NFC: Remove Function::getModule. adds 054e25c0792 EDSC: use affine.load/store instead of std.load/store adds 1b247a1247c Drop the trailing newline from the FuncOp syntax. adds 7b530a88d50 PassRegistation: use overloads instead of a default argument adds cb3f0d6f9bc Fix BufferSizeOp type lowering to LLVM. adds 122cab67702 Refactor the parsing/printing of the top-level module. adds 6da343ecfcb NFC: Replace Module::getNamedFunction with lookupSymbol<FuncOp>. adds 801efec9e64 Update the gen_spirv_dialect.py script to add opcodes from [...] adds 7ef559e0f25 mcuMemHostRegister: take into account sizeof(float) adds 4bbfb749bb9 Propagate linalg op attributes in transformations adds 65da460c792 affine.load/store: check for the right number of operands adds 4dfe6d457bd FuncOp::eraseBody: drop all references before erasing blocks adds 9dbef0bf96e Rename FunctionAttr to SymbolRefAttr. adds f93e95ed5fc Add support for serialization/deserialization of OpTypeVoid [...] adds 136ccd49482 Update the dialect attribute verifiers related to functions. adds e50da9efe8d NFC: Remove redundant call to registerPassManagerCLOptions [...] adds f20f347fdb1 LinalgTilingPass: use PassRegistration with a pass constructor adds 2178467dca9 LoopsToGPU: use PassRegistration with constructor adds 884b94e038f [spirv] Add CompositeExtractOp operation. adds cab671d166a Lower affine control flow to std control flow to LLVM dialect adds 60a2983779b Fix a bug in the canonicalizer when replacing constants via [...] adds bd484f17a0f [spirv] Add script to auto-generate SPIR-V op template from spec adds 89568389301 Hide some public API of QuantizedType inherited from Type. adds 8e349a48b68 Remove the 'region' field from OpBuilder. adds 0e3260bc731 Change the IR printing pass instrumentation to ignore the v [...] adds 2566a72a212 Update the PatternRewriter constructor to take a context in [...] adds 63bc37c9c07 [spirv] Various small code improvements adds 9af156757d4 Add serialization and deserialization of FuncOps. To suppor [...] adds fdc2b3f75f8 NFC: Don't print the location of a diagnostic if it is unknown. adds e50a8bd19c4 NFC: Add header blocks to DialectConversion.h to improve re [...] adds 8819b722cac Fix typos adds a764c19d170 Fix a bug in DialectConversion when using RewritePattern. adds cca53e85271 Extract std.for std.if and std.terminator in their own dialect adds c3d166c5325 LLVM Dialect: define ICmpPredicate in ODS adds ec82e1c907a Decouple LLVM dialect from Standard dialect adds 4de019901bf Extend linalg transformations to allow value operands that [...] adds fc044e8929c Introduce loop coalescing utility and a simple pass adds f743f5bf328 Start moving AffineOps to ODS adds 69457bc971d Automated rollback of changelist 258149291. adds 5f01902ac15 LLVMDialect: still depend on standard types. adds 40715789f84 Refactor LowerAffine to use OpRewritePattern instead of Con [...] adds d2246182f02 Extend linalg transformations to allow value operands that [...] adds d52b6c94e16 Linalg Utils: use Doxygen comments where appropriate adds d2f1ed51372 Fix opt build (unused variable in Linalg). adds 7d1e1e67212 Refactor the traversal of operations to Convert in DialectC [...] adds e7a2ef21f9f Update 'applyPatternsGreedily' to work on the regions of an [...] adds 2087bf6386d Remove lowerAffineConstructs and lowerControlFlow in favor [...] adds dec1942cdf6 Forward-declare LogicalResult as struct rather than class adds e78ea03b24b Replace linalg.for by loop.for adds 765b77cc709 Better support for attribute wrapper classes when getting def name adds d36dd94c752 NFC: Move SPIR-V dialect to Dialect/ subdirectory adds 6760ea53386 Move shared cpu runner library to Support/JitRunner. adds 0ede23010f1 Fix build by making LoopOps depend on StandardOps adds a6d22235843 Support signed and unsigned quantization types adds ffc0217bc7f Add a TypeIsPred. adds 2b9855b5b4e Refactor DialectConversion to support different conversion modes. adds 0002e2964dd Move affine.for and affine.if to ODS adds a4cbe4ebe1a Verify that ReturnOp only appears within the region of a FuncOp. adds 491ef84dc44 Add support for explicitly marking dialects and operations [...] adds d81e2376f73 Add an initial TestingGuide document to describe testing in MLIR. adds ee21bb99444 Add tests for broadcastable trait adds 9e3c2650d20 Refactor the conversion of block argument types in DialectC [...] adds cce2f4c4ed4 Relax Broadcastable trait to only reject instances that are [...] adds 775daf7c1fa Update Contributing.md doc to refer to the developer guide adds d097cc6119d Add support for parsing/printing the trailing type of a dia [...] adds 68c409238e8 Simplify broadcastable traits adds ec66bc57a87 Add helper to get flattened tuple types adds c6cfebf1af5 Automatically generate (de)serialization methods for SPIR-V ops adds e558c040aab Add UnitAttr in OpBase.td. adds 9f498f921bf Print boolean values in ElementsAttr as "true"/"false" adds e9c42e35528 Fix script relative path after moving SPIR-V dialect adds 90b5a381ce1 Minor cleanup to LangRef, MLIR stands for "Multi-Level IR" adds 701266c47ab Add an "is_signed" attribute to the quant_ConstFakeQuant op adds 8b447b6cad2 NFC: Expose a ConversionPatternRewriter for use with Conver [...] adds 92918689601 Place generated StandardOps to SPIR-V patterns in anonymous [...] adds 36a26e00334 [spirv] group methods better and improve comments adds 28057ff3daa Add support for providing a legality callback for dynamic l [...] adds 5bc344743c2 Uniformize the API for the mlir::tile functions on AffineFo [...] adds db4cd1c8dc4 Utility function to map a loop on a parametric grid of virt [...] adds d2a872922f1 Refactor stripmineSink for AffineForOp - NFC adds 6204acacc79 Uniformize test name - NFC adds 287d111023d Generalize implicit terminator into an OpTrait adds 03c8303a12e Make SPIR-V spv.EntryPoint and spv.ExecutionMode consistent [...] adds 89a10b73fb7 Add missing MLIRDialect dependency for MLIRDialect adds 6fe99662aa6 Move loop dialect tests into separate files - NFC adds c253c6eb2fe Switch C++14 std::equal usage to for-loop. adds 1331c84fe3d Wrap op (de)serialization methods in anonymous namespace adds e239f9647ed Suppress compiler warnings regarding unused variables adds 9da6e90e1cc Replace bitwiseCast with llvm::bit_cast adds 05ab6487402 [spirv] Avoid printing duplicate trailing type adds 63b4b547b62 Fix a comment about ShapedType::getNumElements() adds 6b436eacbc1 Merge TypeUtilities library into the IR library adds a47704e1e17 Ensure that DenseElementAttr data is 64-bit aligned. adds 2fb53e65ab4 Add (de)serialization of EntryPointOp and ExecutionModeOp adds 00bdc8e070e Refactor region type signature conversion to be explicit vi [...] adds fa86c899170 SingleBlockImplicitTerminator: report the wrong terminator [...] adds 48a1baeb8a5 Refactor LoopParametricTiling as a test pass - NFC adds 17c18840dab [spirv] Remove one level of indirection: processOp to proce [...] adds 52cf6b80445 ODS: introduce ParamNativeOpTrait adds 9d52ceaf165 [spirv] NFC: adjust `encode*` function signatures in Serializer adds c1844220cd6 (De)serialize bool and integer scalar spv.constant adds 83c97a67848 (De)serialize float scalar spv.constant adds 772930f8c60 Update style/clang-format (NFC). adds e5fbcec465c NFC: Update usage of multi-threading flags. adds 3edbd8bf80c NFC: Update the LoopToStd conversion patterns to use Rewrit [...] adds 8b8caa888db (De)serialize composite spv.constant adds 40493a07a3c Emit an error for missing '[' when parsing an AffineMapOfSSAIds. adds b5f8a4be273 Introduce parser library method to parse list of region arguments adds 42a767b23d8 Allow std.constant to hold a boolean value. adds 8543f8aaba3 Introduce LLVMFuncOp adds 0aed5222d88 ODS: support UnitAttr in Operation definitions adds 480d68f8de9 Affine loop parallelism detection: conservatively handle un [...] adds 8cb82c94781 Add sitofp to the standard dialect adds e8bd81ba1a5 Update cmake files. adds 2ad92b6e503 Add a utility function to populate StdOp to SPIRV Conversio [...] adds 1ff95e5120f Enable multi-level Linalg fusion adds 8ebb4281aa8 Cleanup slicing test. adds 046a3f563a1 Disable auto-generated builders for spv.module adds 055d7dedcb1 Move SPIRV dialect tests under test/Dialect adds 36bb03b94d0 NFC: Use ValueOfRange instead of T in Diagnostic::appendRange. adds 60965b4612e Move GPU dialect to {lib,include/mlir}/Dialect adds dd652ce9cc8 Fix backward slice computation to iterate through known con [...] adds 1293708473e Add support for an analysis mode to DialectConversion. adds fc194a4f22f Add support for hexadecimal float literals adds e63f628473b Genericize function-like printer and parser. NFC adds c69e436dceb Use perfect forwarding for OpBuilder::create args (NFC) adds 65520257366 [spirv] Add AccessChainOp operation. adds 387638f9c25 Automated rollback of commit fc194a4f22fe53f46729821d9c4a99 [...] adds 0f1624697b7 Add API for bulk-setting attributes in an OperationState adds fae4d94990f Use "standard" load and stores in LowerVectorTransfers adds 00b48e1a9fa Fix linalg_matmul_impl interfacing with sgemm adds 54175c240a8 Fix backward slice corner case adds 9f02e889467 Support referencing a single value generated by a matched m [...] adds 3708f53219a Add sgemm specializations - NFC adds 13043319267 Automated rollback of commit 3708f53219aa2b201e82e7172c5064 [...] adds f4c6c23ac04 Verify that affine.load/store/dma_start/dma_wait operands a [...] adds 0fa1ea704ca Initialize union to avoid -Wmissing-field-initializers warning. adds b2c2b4bb1df [mlir-tblgen] Emit forward declarations for all the classes [...] adds d5a02fcd964 Add a `HasParent` operation trait to enforce a specific par [...] adds 673bb7cbbec Enable (de)serialization support for spirv::AccessChainOp adds b910d89264d Simplify ODS for loop.if and loop.for traits (NFC) adds 395c70c600a Fix SingleBlockImplicitTerminator traits to catch empty blocks adds c7dab559bae RewriterGen: properly handle zero-result ops adds 4be7e8627f5 Remove dead code. adds 4598c04dfe0 [spirv] Add binary arithmetic operations. adds 4a55bd5f28e [spirv] Add basic infrastructure for negative deserializer tests adds ea56025f1e9 Initial implementation to translate kernel fn in GPU Dialec [...] adds 81a7c322e4f Add std::move in UniformSupport. adds 32f78fe3f26 Link in MLIRGPUtoSPIRVTransforms with mlir-opt adds 3b207d3691a Add support for hexadecimal float literals adds 1de519a753b Add support for (de)serialization of SPIR-V Op Decorations adds 206be96e630 Support hexadecimal floats in tensor literals adds 3867ed86eb2 Add missing include file to StringExtrasTest.cpp adds ce358f9b37e [spirv] Add binary arithmetic operations tensorflow/mlir#2. adds cf66d7bb74c Use operand number during serialization to get the <id>s of [...] adds e44ba1f8bf0 NFC: refactor ODS builder generation adds e032d0dc635 Fix support for auxiliary ops in declarative rewrite rules adds 88b175eea50 Migrate pattern symbol binding tests to use TestDialect adds c72d849eb9b Replace the verifyUnusedValue directive with HasNoUseOf constraint adds 08ae08cbee3 [spirv] Add binary logical operations. adds b5fd117b231 Add FIR, the Flang project's IR, to the dialect registry. adds 00a7b6706d4 [spirv] Add support for specialization constant adds 7768ea9fb3d Qualify StringRef to fix Windows build failure adds 18b8d4352b9 Introduce explicit copying optimization by generalizing the [...] adds 1ddd20bc40e Add missing include to DenseMap in MLIRContext.cpp adds f579079f186 WritingAPass doc: demonstrate registration of a non-default [...] adds 58e66d71e7e AffineDataCopyGeneration: don't use CL flag values inside the pass adds c19b72d3f39 Add StdIndexedValue to EDSC helpers adds 192039e8bef Fully qualify DenseMap. adds 600c47e77b0 Add a generic Linalg op adds 0c3923e1dc7 Fix clang 5.0 by using type aliases for LLVM DenseSet/Map adds 9d7655677f0 [ODS] Add new definitions for non-negative integer attributes adds d043f0025b2 Fix ExecutionEngine post-update in upstream LLVM adds d682877eb3b Remove non-needed includes from ConvertControlFlowToCFG.cpp (NFC) adds b36e3be3fc7 [mlir-translate] Fix test suite. adds 60591226011 Introduce custom syntax for llvm.func adds 496a42f2916 Use SingleBlockImplicitTerminator trait for spv.module adds ceb8d2d20e1 Drop linalg.range_intersect op adds 3657966e839 Fix header guard. adds a0df3ebd15e NFC: Implement OwningRewritePatternList as a class instead [...] adds 68587dfc15f Add TTI pass initialization to pass managers. adds 24647750d48 Refactor Linalg ops to loop lowering (NFC) adds 4b422a51edd Add a region to linalg.generic adds cd1c488ecdc [spirv] Provide decorations in batch for op construction adds 60f78453d7e Emit matchAndRewrite() for declarative rewrite rules adds 641fc7007c5 NFC: Simplify ModuleOp by using the SingleBlockImplicitTerm [...] adds 55f2e24ab34 Remove ops in regions/blocks from worklist when parent op i [...] adds 8920afb0a63 NFC: Simplify ModuleTerminatorOp by using the HasParent tra [...] adds b15e2aec753 Have ValueUseIterator template use OperandType instead of I [...] adds c6a006d4c79 Fix verification of zero-dim memref in affine.load/affine.s [...] adds a477fbaf40b Improve support for opaque types in MLIR, allowing dialects [...] adds 8089f937469 Add utility 'replaceAllUsesWith' methods to Operation. adds ba35dca4fb1 Initialize local variables for opcode to fix MSAN failures adds f56494f537d NFC: Update FuncOp::addEntryBlock to return the newly inser [...] adds 881b238d7e9 Add the LLVM IR unreachable instruction to the LLVMIR dialect. adds b0ea33a7c62 Add canonicalization pattern for linalg.dim adds 70ca59ac502 Parser: treat implicit top-level module as an SSA name scope adds 4d6b5493394 Command toyc should be toyc-ch2 in this chapter adds 0126dcf1f0a Introduce support for variadic function signatures for the [...] adds 44d8637af11 FunctionSupport: wrap around bool to have a more semantic c [...] adds 466b9f100c1 Lexer: NFC: sort helper methods alphabetically adds b448266a092 Add SymbolTable trait to spirv::ModuleOp. adds f525a497eab Build SymbolTable upfront in ModuleOp verification. adds 96371d25c38 Enable TTI for host TargetMachine in JitRunner adds 48fdc8d7a30 Add support for floating-point comparison 'fcmp' to the LLV [...] adds 6d8611b38f5 LLVM Dialect: introduce llvm.global adds 92dc127ab34 Add support for vector ops in the LLVM dialect adds 39f1b9a053a Add a higher-order vector.extractelement operation in MLIR adds d2aba89f2e8 Add a higher-order vector.outerproduct operation in MLIR adds 20f2d3b5981 Allow linalg.view to change the underlying elemental type. adds 59b473c231f External library name mangling support for linalg. adds b9ff2dd87ed Translation to LLVM: support llvm.global adds 68451df267e LLVM dialect and translation: support global strings adds baa1ec22f74 Translation to LLVM IR: use LogicalResult instead of bool adds 41968fb4753 NFC: Update usages of OwningRewritePatternList to pass by & [...] adds ac68637ba94 NFC: Refactoring PatternSymbolResolver into SymbolInfoMap adds 1e42954032c NFC: Standardize the terminology used for parent ops/regions/etc. adds 300a2bda34e Refactor DenseElementAttr::getValues methods to return full [...] adds 40fc948e55c ODS: Round out the definitions of the common integer attrib [...] adds 5290e8c36d4 NFC: Update pattern rewrite API to pass OwningRewritePatter [...] adds 252ada49327 Add lowering of vector dialect to LLVM dialect. adds 2dd38b09c11 LLVM dialect: introduce llvm.addressof to access globals adds fe2ea3003b1 Update typo adds 77ed5247bff Avoid passing in line/col for files not registered with SourceMgr. adds e6365f3d028 Use unreachable post switch rather than default case. adds 532c652d6c5 Add start of textmate language grammar. adds 926fb685dea Express ownership transfer in PassManager API through std:: [...] adds 88de8b2a2bb GenerateCubinAccessors: use LLVM dialect constants adds 5f0a8431442 LLVM dialect: introduce fmuladd intrinsic as operation adds b09dfcb1d76 Fix indexing issue in lowering of linalg.slice adds 12ff145ebfb Add unreachable to avoid GCC -Wreturn-type warning adds a9d4015da94 Add a utility script to auto-generate CHECK commands for ml [...] adds 4286c52ae8f Move linalg.slice to ODS adds 4f10c9b1cef Refactor linalg.view lowering to LLVM - NFC adds ae9ec43e463 Allow the use of the $cppClass template variable in verifie [...] adds f32f291b375 Move remaining linalg ops to ODS - NFC adds a481032a331 Refactor ElementsAttr::getValue and DenseElementsAttr::getS [...] adds 92a7b1080eb Add support for Dialect interfaces. adds 30e9c2fe4fe ExecutionEngine: fix after upstream LLVM ORC update adds d71915420b3 Add BuiltIn EnumAttr to SPIR-V dialect adds cc980aa4165 Simplify the classes that support SPIR-V conversion. adds f826ceef3ce Extend vector.outerproduct with an optional 3rd argument adds c93c938df28 Remove C++11 requirement set in cmakelists adds f79fc1c181a C++14 is now default enabled in LLVM, remove obsolete CMake flag. adds 9c29273ddc4 Refactor DialectConversion to convert the signatures of blo [...] adds cf358017e64 [spirv] Extend spv.array with Layoutinfo adds 3191f9c5e07 Fix minor typos in the documentation adds 36c373129d2 NFC: Move the Type::is* predicates to StandardTypes.cpp adds 4fb971a9c47 NFC: Refactor the PassInstrumentation framework to operate [...] adds c268666f15e NFC: Modernize and cleanup standard ops. PiperOrigin-RevId: [...] adds d745101339f Add spirv::GlobalVariableOp that allows module level defini [...] adds dbf8538b64a NFC: Add header blocks to improve readability. PiperOrigin- [...] adds 79f53b0cf1f Change from llvm::make_unique to std::make_unique adds 33a8642f537 InitLLVM already initializes PrettyStackTraceProgram adds c9f37fca379 Add alignment support for llvm.alloca adds 9bf69e6a2e9 Refactor linalg lowering to LLVM adds 64abcd983dd [spirv] Add spv.ReturnValue adds ba0fa92524c NFC: Move LLVMIR, SDBM, and StandardOps to the Dialect/ dir [...] adds 377bfb3a142 Fix parsing/printing of spv.globalVariable and spv._address_of adds e152f0194fd NFC: Don't assume that all operation traits are within the [...] adds 8165f181d9a Add support for Operation interfaces. adds 36f48063ddb Add alignment support to linalg.buffer_alloc adds 305516fcd38 Allow isolated regions to form isolated SSA name scopes in [...] adds 2277b9fb5c2 Add DictionaryAttr to OpBase.td adds 774b37b89b8 Add a DialectConversion document detailing the conversion i [...] adds b6281940130 Move Linalg and VectorOps dialects to the Dialect subdir - NFC adds 92c485a3b82 Fix minor typos and add missing syntax in the documentation. adds 07ecb011a75 Fix AffineExpr::simplifyAdd bug adds f55ac5c0764 Add support for LLVM lowering of binary ops on n-D vector types adds 0f974817b5a LLVM dialect: prefix operations that correspond to intrinsi [...] adds 0d82a292b0d JitRunner: support entry functions returning void adds 006fcce44a2 ConvertLaunchFuncToCudaCalls: use LLVM dialect globals adds 5c7fd5ff325 Update Ch-2.md -- 406f1e8211f8f5017f44f46af750dec061e707a2 [...] adds 3d32ca97767 Update MLIR code examples in Passes.md doc to use new affin [...] adds 9e6cf0d0258 Fix build of affine load/store with empty map adds 82cf6051ee7 [spirv] Support (de)serialization of spv.struct adds f4934bcc3e3 Add spv.specConstant and spv._reference_of adds ffde975e215 NFC: Move AffineOps dialect to the Dialect sub-directory. P [...] adds 35102ea2c3a NFC: Move the LangRef documentation on StandardOps to a new [...] adds 5e17730cdee NFC: Use a DenseSet instead of a DenseMap for DialectInterf [...] adds ad8b410f161 NFC: Keep the dialect list in the context sorted by namespace. adds 69cf811d5b7 Materialize spv.constants at use sites adds 31cfee60773 Support variadic ops in declarative rewrite rules adds 8d18fdf2d3d [spirv] Support i1 as bool type adds 7e1af594d2d Move the parser extensions for aliases currently on Dialect [...] adds b9dc2e48181 Add iterator support to ElementsAttr and SparseElementsAttr. adds 2e59b86541f NFC: Make the ModuleState field in the ModulePrinter optional. adds b6182213504 Automated rollback of commit b9dc2e481818315f2f0d87455349f4 [...] adds d661eda8114 [TableGen] Add a `StaticShapeMemRefOf` trait. adds c400c9a1ec8 Add a hook to the OpAsmDialectInterface to allow providing [...] adds 8869de5fbc5 NFC: Update in-code documentation for function-type. PiperO [...] adds 35ad095305b Fix minor typos in TestingGuide and OpDefinitions. adds cc0d337620c NFC: Update in-code documentation for type. PiperOrigin-Rev [...] adds 748edce6b83 Remove the wrapping function in SPIR-V (de)serialization adds fe3594f745f Reduce reliance on custom grown Jit implementation - NFC adds 62ced387e02 Remove dead getLLVMLibraryCallImplDefinition in Linalg's Lo [...] adds 1d10eb162c8 Point to spv.AccessChain when reporting spv.AccessChain errors adds 85bc8655f06 Avoid assigning to an unchecked Error. adds b9377d7ec6e Add support for generating operation interfaces from the OD [...] adds 38d4e0b6a1b NFC: Fix path of LinalgLibraryOpInterfaces inc files. Piper [...] adds fa592908afe Let LLVMOpLowering specify a PatternBenefit - NFC adds 0c7f3f7108d Split out parsing location into separate functions per instance adds b1ce4df505d Add Positive{I32,I64}Attr and HasAnyRankOfPred adds 27ed82f99c8 [spirv] Add support for capability (de)serialization adds 140b28ec129 NFC: Avoid reconstructing the OpInterface methods. PiperOri [...] adds 6f1d4bb8dfd Avoid overflow when lowering linalg.slice adds 02c8b068919 NFC: Remove mentions of the TensorFlow dialect from the lan [...] adds 986f93001a8 NFC: Rework and cleanup the High-Level structure and Dialec [...] adds 51cbf97b534 [spirv] Add support for extension (de)serialization adds 9fc1657af09 NFC: Cleanup the type system section of the LangRef. adds fc86c57bd09 NFC: Cleanup the Attribute section in the LangRef. adds d906f84b52a Add iterator support to ElementsAttr and SparseElementsAttr. adds a329d33b4fb Add I32ElementsAttr to OpBase adds f772d2c90cf NFC: Move the operation, region, and block sections to afte [...] adds 988dab0abc2 Fix BufferAllocOp builder. adds 21b77fc11ff [spirv] NFC: move arithmetic and logical ops to separate files adds 00177962ed1 NFC: Update in-code documentation. Make the two grammar def [...] adds 31a003dc3c1 Introduce the ability for "isolated from above" ops to intr [...] adds 0e131d83fe2 [spirv] NFC: move SPIR-V control flow ops to a separate file adds 3d409386a06 Update Linalg slice and subview documentation - NFC adds 7f42b3d7213 Add lowering of linalg.copy to an external C++ library and a test. adds 32052c84171 NFC: Add a note to 'applyPatternsGreedily' that it also per [...] adds 2c2c9ffd80c Add a linalg.transpose op adds 28e28e5d651 Lower linalg.transpose to LLVM dialect adds 46084c03f42 Lower linalg.copy to LLVM dialect in the presence of transposes. adds 4da37417adc NFC: Update Ch.1 of the Toy tutorial. adds 96e96e0243e NFC: Add doc for id-punct PiperOrigin-RevId: 265190168 adds 6a501e3d1b6 Support folding of ops with inner ops in GreedyPatternRewri [...] adds cb8c4515413 Update documentation for custom rewrite specs. adds 23251f9f3a3 NFC: Remove unnecessary context parameters from several Loc [...] adds 761d57d1876 Add FPToSI/FPExt/FPTrunc cast ops to the LLVM dialect. adds 2f59f768763 NFC: Remove the explicit context from Operation::create and [...] adds 8f2dfb51d4a [spirv] Add Block decoration for spv.struct. adds 4ced99c085e Enhance GPU To SPIR-V conversion to support builtins and lo [...] adds 3af6b533812 [spirv] Fix the entry block to start with OpLabel adds 696fcb7520e Add 3 additional intrinsic ops to NVVM dialect, in preparat [...] adds 6f68def852c Update Ch.2 of the Toy tutorial. adds aa2cee9cf53 Refactor / improve replaceAllMemRefUsesWith adds 545c3e489f8 Port mlir-cuda-runner to use dialect conversion framework. adds c60c490356a Add implementation for tensor_load and tensor_store operations. adds 22254116903 Tweak to the pretty type parser to recognize that `->` is a [...] adds 29099e03ce2 Generalize the analysis manager framework to work on any op [...] adds 7dd5efdf2c2 Fix the equality check of two floating point values adds e8d43cafe6a Add vim scripts for indent/syntax adds e90542c03b9 Add verification for dimension attribute on GPUDialect inde [...] adds bc2a543225a fix loop unroll and jam - operand mapping - imperfect nest case adds 4bb6f8ecdb5 Extend map canonicalization to propagate constant operands adds 6de6c2c1382 Add tests to verify 0.0 is quantized correctly adds a085700311c Make dumping using generic form more robust when IR ill-formed adds 4bfae66d70a Refactor the 'walk' methods for operations. adds 3ee3710fd1d Change the parseSource* methods to return OwningModuleRef i [...] adds 4f6c29223ee Add spv.Branch and spv.BranchConditional adds 037742cdf2b Add support for early exit walk methods. adds 8f90a442c3e Added a TableGen generator for structured data adds 06e8101034e Add mechanism to dump JIT-compiled objects to files adds 1dd9bf47393 Generalize the pass hierarchy by adding a general OpPass<Pa [...] adds 140757050b4 Fix StructsGenTest.cpp CMakeFile build error adds 6b1d7f51ef0 Add TensorRankOf for ranked tensor types with specific ranks adds 3d3f62323c8 Splits DictionaryAttr into DictionaryAttrBase and Dictionar [...] adds 9c8a8a7d0da Add a canonicalization to erase empty AffineForOps. adds 20d3e71c3f4 update vim syntax file adds 5a7014c3909 Add missing link dependency to MLIRTableGenTests adds 49c3e4a5081 Add floating-point comparison operations to SPIR-V dialect. adds d4d32f4cb86 Document that non-IR units are passed by non-const referenc [...] adds 2634273c59d Add a link to the rational on lack of const for IR units in [...] adds 765d60fd4d4 Add missing lowering to CFG in mlir-cpu-runner + related cleanup adds 8ce2274d0d2 Add a convenient `clone()` method on the `Op` class that fo [...] adds ce702fc8daf Add a `getUsedValuesDefinedAbove()` overload that takes an [...] adds 6563b1c4463 Add a new dialect interface for the OperationFolder `OpFold [...] adds 5c036e682d7 Refactor the pass manager to support operations other than [...] adds c05890e890d Enable OwningRewritePatternList insert overload with parame [...] adds 2acd0dbf05a Add Select operation to SPIR-V dialect. adds da646505c5b Support bf16 in Builder::getZeroAttr adds c335d9d3137 LLVM dialect: prefix auxiliary operations with "mlir." adds 6eb910a59c0 Remove unused variables adds 61ee7d640c5 Fix an invalid assert when processing escaped strings. adds 2a55998f7cd Add information about the SIG + Open Design meetings to t [...] adds b1ef9dc22c0 Fix affine data copy generation corner cases/bugs adds 5593e005c67 Add folding rule and dialect materialization hook for spv.constant adds 54d674f51e5 Utility to normalize memrefs with non-identity layout maps adds 0c8ad3aafb0 Properly clone Linalg ops with regions adds 7818a60e37c Mention clang-format in the developer guide adds 71d27dfc3b2 Update the syntax of splat attribute in LLVM.md adds 2f13df13b0b Add support for array-typed constants. adds dfd06af562e Make GPU kernel outlining inline constants. adds 63952295090 Move Linalg dialect tests to test/Dialect/Linalg adds 8c9dc690eb5 pipeline-data-transfer: remove dead tag alloc's and improve [...] adds 636bcbade07 Make isIsolatedAbove robuster to invalid IR adds c6f8adad8e7 Move LLVMIR dialect tests from test/LLVMIR to test/Dialect [...] adds b5652720c1f Retain address space during MLIR > LLVM conversion. adds 0369ed34cb3 Updated StructAttr to use the struct name for StorageType a [...] adds cf26e5faf57 Use transform function on llvm::Module in the ExecutionEngine adds 33ac6f043b1 Generalize I32ElementsAttr definition and introduce I64Elem [...] adds 7eb25cd367c Make GPU kernel outlining test independent of value names. adds 0ba00878876 Add the initial inlining infrastructure. adds 916eb980b09 [spirv] Add spv.loop adds 85bc4889b34 Add support for conservatively inlining Affine operations. adds 854a384f509 Integer set + operands / affine if op canonicalization adds 5b62a2ac6d1 Fix typos in Interfaces.md adds 1b8eff8fcd8 Simplify Linalg ABI integration with external function calls. adds 8154370b49b Add custom builder for AffineIfOp adds b78410fd816 Restrict affine inlining to just Function operations. adds 06398f32f61 Fix typo in the documentation for tensor_cast (NFC) adds 6e5d1b9d62c Add doc for declarative rewrite rules adds 53bb528b192 Wrap debug dump in LLVM_DEBUG adds 713ab0dde79 Set mlir-cpu-runner JIT codegen opt level correctly adds 6443583bfd9 Refactor getUsedValuesDefinedAbove to expose a variant taki [...] adds cbb6f09ce84 Use "final" instead of marking method virtual in override (NFC) adds 120509a6b22 Refactor PassTiming to support nested pipelines. adds 42b60d34fc3 Add `parseGenericOperation()` to the OpAsmParser adds 318ff019cf7 Addressing some late review comments on kernel inlining. adds e702875d16b Add support for coalescing adjacent nested pass pipelines. adds 5e65dafbfa8 Add warpsize and laneid intrinsics to NVVM dialect. adds 36508528c71 Overload LLVM::TerminatorOp::build() for empty operands list. adds 893c86fff7e Explicitly declare the OpPassManager move constructor to av [...] adds 27d776fa6d0 Convert per channel fake quant attributes to type adds d3a6dbc0b89 [NFC] Rename ExpressedToUniformQuantizedType to ExpressedTo [...] adds f4ae4762bf7 Add quant.const_fake_quant_per_axis op adds 2660623a88d Add pass generate per block in a function a GraphViz Dot gr [...] adds af27f4c7466 Avoid sign-compare warning adds a23f69a37b3 Remove redundant qualification adds 277b6136ee7 Remove unused variable adds c68d5467d60 Convert ConstFakeQuantPerAxis to qcast and dcast pair adds cf0a7823390 Remove the constraint that min / max should stride zero adds ee8cbccacfc Add folding rule for spv.CompositeExtract adds d732aaf2cb2 Don't leak TargetMachine in ExecutionEngine::setupTargetTriple adds 6f8321f06f0 Fix a typo in comments. The Inequality and Equality explana [...] adds bc9b52f2ed7 Add logical groups to NVVM op definitions. adds 9037f28cb4e Fix typos in SDBMTest.cpp adds e15356f8eda Rename SDBMPositiveExpr to SDBMTermExpr adds a84bc68accc [spirv] Add support for spv.loop (de)serialization adds f39a599e46d NFC: Clean up constant fold tests adds 2ccbb3f1cee Cmpf constant folding for nan and inf adds 1854c64c7cc Log name of the generated illegal operation name in Dialect [...] adds 6cce275301d Fixing typo in documentation. adds 70653ed6003 NFC: Update comments about rank constraints adds 9274ed66ef3 Refactor pass pipeline command line parsing to support expl [...] adds d3787e58654 Improve verifier error reporting on type mismatch (NFC) adds 8a1cdeb31bd Forward diagnostics from untracked threads in ParallelDiagn [...] adds a260436714b Add tablegen class for memrefs with rank constraints adds f1b100c77ba NFC: Finish replacing FunctionPassBase/ModulePassBase with [...] adds 113aadddf99 Update SPIR-V symbols and use GLSL450 instead of VulkanKHR adds efbd3e46101 Add type constraints for shaped types with same rank and el [...] adds d780bdef205 Publicly expose the functionality to parse a textual pass p [...] adds 1e6a93b7cae add missing memref cast fold pattern for dim op adds 4e48beadbb4 Verify that ModuleOps only contain dialect specific attributes. adds f2eb0f02fab Add pattern to canonicalize for loop bounds adds aac8fa8c477 Update QuickstartRewrites.md regarding op definition and rewrites adds 2de18fb84df NFC: Fix stray character in error message: 1 -> ' PiperOrig [...] adds 018cfa94d96 Clean up build trip count analysis method - avoid mutating IR adds 1366467a3ba update normalizeMemRef utility; handle missing failure chec [...] adds 4f32ae61b4b NFC - Move explicit copy/dma generation utility out of pass [...] adds 38e7226606d Add convenience methods to create i8 and i16 attributes in [...] adds cb1bcba69be NFC: Merge OpPass with OperationPass into just OperationPass. adds bbe65b46f56 NFC: Pass PassInstrumentations by unique_ptr instead of raw [...] adds d37777c440a Update the IRPrinter instrumentation to work on non functio [...] adds bbc6d48d1c6 NFC: Update the expected outputs of pass-timing. adds f22011ccbad NFC: Update the PassInstrumentation section. adds 16eac965608 Fix typo in test/AffineOps/ops.mlir adds faaa1ced100 Update the pass registration section and add a sub-section [...] adds 9814b3fa0dd Add mechanism to specify extended instruction sets in SPIR-V. adds 6755dfdec9e Drop makePositionAttr and the like in favor of Builder::get [...] adds 1da0290c4b7 Error out when kernel function is not found while translati [...] adds 0ce64b0bf36 Unify how errors are emitted in LaunchFuncOp verification. adds e94db619d97 Introduce SDBMDirect expression into the SDBM expression hierarchy adds cb3ecb5291a Overhaul the SDBM expression kind hierarchy adds 6934a337f09 [spirv] Add support for BitEnumAttr adds 9619ba10d47 Add support for multi-level value mapping to DialectConversion. adds 8a34d5d18cd [spirv] Add support for function calls. adds 2d86ad79f00 Autogenerate (de)serialization for Extended Instruction Sets adds 62e1faa6f6b Add missing CMake dependency from libAnalysis to the Vector [...] adds bd7de6d4dfb Add rewrite pattern to compose maps into affine load/stores adds b00a522b801 Change MLIR translation functions signature adds b991e8b1e40 Support file-to-file translation in mlir-translate adds 3e2ac62b7d5 Add a preprocess pass to remove sequences that are problema [...] adds af45ca844fb Register a -test-spirv-roundtrip hook to mlir-translate adds 9330c1b9a1d Add (de)serialization support for OpRuntimeArray. adds b58d9aee110 Add support to OpAsmParser for parsing unknown keywords. adds a15e0ce1ba5 Simplify SDBM expressions more aggressively in operators an [...] adds 5709aeb9930 SDBM: support sum expressions on the LHS of stripe expressions adds 1c73be76d84 Unify error messages to start with lower-case. adds 727a50ae2db Support symbolic operands for memref replacement; fix memre [...] adds 35df51086ae Fix nested dominance relationship between parent results an [...] adds 25f0f769aa7 NFC: Remove stray logging from ~Block(). PiperOrigin-RevId: [...] adds 5684a12434f Outline GPU kernel function into a nested module. adds e79bfefb892 Add address space attribute to LLVMIR's GlobalOp. adds 5f86dc5fc9f NFC: Fix return indentation in generated op definitions. Pi [...] adds c8961d408ee Quantize attribute values by per axis quantization parameters adds 2df646bef6e Automated rollback of commit 5684a12434f923d03b6870f2aa1622 [...] adds 9a4f5d2ee32 Allow specification of decorators on SPIR-V StructType members. adds 5002e98b92b Remove unused import and two import forms adds a00b5682776 Add utility to extract strides from layout map in MemRefType. adds daf3b855100 Fix public build adds d8fda38ceac Use SmallVectorImpl in getStrides adds 2797517ecf8 NFC: Pass OpAsmParser by reference instead of by pointer. adds 91125d33ed9 Avoid iterator invalidation when recursively computing patt [...] adds 729727ebc7e NFC: Pass OperationState by reference instead of by pointer. adds 3a643de92b4 NFC: Pass OpAsmPrinter by reference instead of by pointer. adds 33a3a91ba2d Make GlobalOp's value attribute optional. adds 8e4906362ed [ODS] Add support for FloatElementsAttr adds 4d880d09e0c Add a note about the use of recursion in the developer guide adds f559c38c28c Upgrade/fix/simplify store to load forwarding adds 2ec8e2be1f0 [spirv] Add OpControlBarrier and OpMemoryBarrier. adds a26bb0346e8 minor spelling tweaks adds 2c11997d485 Add integer sign- and zero-extension and truncation to standard. adds 6414c085560 Fix undefined reference to mlir::getElementTypeOrSelf(mlir::Type) adds 08ae1bb8301 update layout map examples in doc, drop stale ones adds 541f1945d10 Update TruncateIOp builder to pass OperationState by reference. adds 54f4522a5c9 Specalize f32->i8/u8 Quanitization with C++ native arithmet [...] adds f1442f1eff4 [NFC] Replace std::clamp with inline implementation. adds c900d4994e6 Fix a number of Clang-Tidy warnings. adds b8676da1fc5 Outline GPU kernel function into a nested module. adds 59e3b30af05 Add variants of interleave that take separator adds 4b6b58ec0f3 NFC: Fix warning for uninitialized field. PiperOrigin-RevId [...] adds 3eade430465 Update the Pass, Analysis, and PassManager sections of Writ [...] adds c61991ef01c Refactor DiagnosticEngine to support multiple registered di [...] adds 8965011fadf Add interfaces for call-like/callable operations. adds 8cb405a8bed Add initial callgraph support. adds 55832521736 Add convenience methods to set an OpBuilder insertion point [...] adds 98d1d3fc437 Simplify the way spirv::StructTypes are parsed. adds 4a862fbd633 Use constant's location for reporting errors in parsing of [...] adds 75906bd565a Handle OpMemberName instruction in SPIR-V deserializer. adds 0e7edcfe7e4 Let mlir-translate support -split-input-file adds 69af4687547 Make spirv::RuntimeArrayType part of spirv::CompositeType. adds 6caa4f500b1 [spirv] NFC: clean up (de)serialization tests adds eba6014cdc1 Allow null Attribute for value when building GlobalOp. adds 74cdbf5909e Clone called functions into nested GPU module. adds 42d8fa667bc Normalize lowering of MemRef types adds 458ede8775d Introduce splat op + provide its LLVM lowering adds 635544fc120 Allow attaching descriptions to OpInterfaces and InterfaceMethods. adds f7ad5b411c7 NFC: Add a description to the ODS interface example. PiperO [...] adds cf00feed037 [spirv] Replace bitwiseCast with llvm::bit_cast adds c5284fe85ed Add support for GLSL Binary ops, and use it to implement GL [...] adds 03db4223598 NFC: Add 'const' dereference method to OperandTypeIterator. adds 3a4bee0fe18 Miscellaneous fixes to SPIR-V Deserializer (details below). adds 4e32dc9b8ae Forward declare LogicalResult as a struct to be consistent adds b76c4f87802 Fix memref-stride-calculation on Windows adds 9b7435fb502 Add tablegen verification traits for comparing different pr [...] adds 3848baec69e Emit function name being tested in TestMemRefStrideCalculation adds a2bce652af5 Minor spelling tweaks adds ae13c28f3f6 [spirv] Add SPV_UnaryOp and spv.FNegate adds 47a7021cc3b Change the return type of createPrintCFGGraphPass to match [...] adds 6f0e65441c5 Add spv.Bitcast operation to SPIR-V dialect adds 94298cea933 Remove unused variables and methods to address compiler warnings adds 116dac00baa Add AllReduceOp to GPU dialect with lowering to NVVM. adds 99be3351b87 Drop support for memrefs from JitRunner adds 445232df0b4 Decouple tiling from fusion in Linalg. adds 19841775d4c Make result ops generated output deterministic adds 7385d878956 Disable failing tests adds fee40fef5c3 [ROCm] Adding ROCDL Dialect. adds 18f4a37836a Fix missing links in the documentation adds e39b5a19ba2 Fix Documentation OpDefinitions.md adds 6543e99fe51 Fix JitRunner.cpp Error creation pattern and reactivate tests. adds ddf737c5da7 Promote MemRefDescriptor to a pointer to struct when passin [...] adds 74eabdd14eb NFC - clean up op accessor usage, std.load/store op verify, [...] adds bc4984e4f7c Add TODO to revisit coupling of CallOp to MemRefType lowering adds b569c969f0e Remove spurious debug spew in tests adds 5f8dff936b3 Append a newline when dumping a Value. adds e7c3ca92f84 Tablegen helpers for accessing properties of shaped types adds c57f202c8cb Switch explicit create methods to match generated build's order adds b6cec098f93 Fix syntax of 'call' and 'splat' ops adds 0db0fe3c039 Fix a typo in Toy Chapter 2 tutorial documentation adds f45a3925660 update Rationale.md - remove outdated info adds e5a43186d38 Add InferTypeOpTrait & enable generating its member functio [...] adds 3d9679bde4d Switch comments from GPU dialect terms to CUDA terms (NFC). adds 1ce524623cd Fix MemRefType::getStrides corner case adds a932f0786c2 Use MaybeAlign when setting alignment adds 2f7bb1e25f1 Add support for Logical Ops in SPIR-V dialect adds 2713f3638e5 [DRR] Explain result type deduction in doc adds 923b33ea16a Normalize MemRefType lowering to LLVM as strided MemRef descriptor adds c97a9320a0e Adding some missing SPIR-V core and GLSL extended ops. adds 8e67039e31d NFC: Change `classof` on registered operations to use point [...] adds 0b81eb928b3 Enable autogenerating OpInterface method declarations adds f015b020f3d Add missing file from cmakelist adds 5ef8b2d31e7 Adding signed integer ops for abs, sign, min, and max in th [...] adds 219421ece74 [spirv] Add array length check. adds fb41df9c4ad Format markdown list. adds 1c649d57857 Pass the pointer of the parent pipeline collection pass to [...] adds 66bcd05bb7e Fold away reduction over 0 dimensions. adds f479f816f99 Add integer shift ops to LLVM dialect. adds 8503ffbe3af Add verification error message for ops that require at leas [...] adds 1129931a625 Change all_reduce lowering to support 2D and 3D blocks. adds f8ae7396130 [spirv] NFC: rename SPV_ArithmeticOp to SPV_ArithmeticBinaryOp adds e36337a998a Unify Linalg types by using strided memrefs adds c760f233b30 Fix and simplify CallOp/CallIndirectOp to LLVM::CallOp conversion adds 9e6dde39779 Add a pair of hooks to DominanceInfo. adds 3597711bdd1 [spirv] Change enum case uniquing in gen_spirv_dialect.py adds 2b86e27dbd8 Show type even if elementsattr is elided in graph adds e81b3129b46 [ROCm] Adding pass to lower GPU Dialect to ROCDL Dialect. adds 98594d4dd5f Replace spurious `long` stride type by int64_t - NFC adds 088f4c502f9 Fix example in OpInterfaces documentation adds f294e0e5134 [spirv] Add support for spv.selection adds 9604bb6269b Extract MemRefType::getStridesAndOffset as a free function [...] adds 44ef5e55259 Disallow index types in memrefs. adds e0d78eac238 NFC: rename Conversion/ControlFlowToCFG to Conversion/LoopT [...] adds bd4762502c5 Add parentheses around boolean operators in assert adds 8633b6bc8e5 Give modules a name adds 0b93c092b62 Make Module::getName return Optional<StringRef> adds 218f0e611a6 Add syntactic sugar for strided memref parsing. This CL imp [...] adds 496f4590a1a Generalize parse/printBinaryOp to parse/printOneResultOp. adds 0dfa7fc9082 Add fpext and fptrunc to the Standard dialect and includes [...] adds 8c95223e3c9 Add `axis` attribute to the quant.stats op adds a20d96e4362 Update the Inliner pass to work on SCCs of the CallGraph. adds 5830f71a45d Add support for inlining calls with different arg/result ty [...] adds 85dcaf19c72 Fix typos, NFC. adds d064469f6fe Moving the GPUIndexIntrinsicOpLowering template to a common [...] adds 516f6a34770 Add missing Linalg lowerings to allow roundtrip.mlir to low [...] adds 754ea72794c Replace constexpr MemRefType::kDynamicStrideOrOffset by a M [...] adds 77a809d7a12 Add some utility builder functions for SPIR-V operations. adds 3f8bde40cb2 Add spv.Undef op to support OpUndef instruction in SPIR-V. adds 58e2ead3148 Add missing dependency on the TypeInferOpInterface from the [...] adds c020480fc61 [spirv] Allow return ops to be in control flow ops adds 8b9b72cee81 NFC: Cleanup test ops and traits tests adds 18db4ce493b Allow element type traits to operate on scalars adds 77672c9777a Enable emitting dialect summary & description during op generation adds 7c765d97f98 Support reduction of partial warps. adds da984166df8 Add OpaqueLoc to MLIR locations. adds c07a604f872 Fix CMake build after adding TestOpaqueLoc.cpp adds 27e8efedf86 Add DialectType and generate docs for dialect types adds 9f98bcda47f Support AllocOp terminal in Linalg::AliasAnalysis. adds 3b4f133fb70 Start a minimal mlir_utils runtime library for testing debu [...] adds b66d6e54330 Fix a comment in the OperationInterface example. adds 9f11b0e12f9 Change Block::getParent() to be a const function. This is o [...] adds 89e7a76a1cc fix simplify-affine-structures bug adds ebf584b8134 [spirv] Fix function entry block erase after moving to spv. [...] adds 9e9c3a009a1 Update UndefOp (de)serialization to generate OpUndef at mod [...] adds aeada290b87 Add a new class, OpPrintingFlags, to enable programmatic co [...] adds 5a1108c9a68 [spirv] Disable a crashing spv.loop test adds 37e0e8cf166 Do not add spirv::BitcastOp for cast from signed to unsigned type. adds 6b3462a77b1 Expose `fuseProducerOf` in Linalg/Utils/Utils.h. adds 17606a108b9 Print result types when dumping graphviz. adds a8a73f0640b Add a flag to the AsmPrinter for eliding large ElementsAttrs. adds 780f107a571 Update upgrade some uses of mlir::interleave API to take co [...] adds 90d65d32d69 Use named modules for gpu.launch_func adds 16af5924cb6 Fuse GenerateCubinAccessors pass into LaunchFunctToCuda adds 52e082b6ed9 GPUToCUDA: emit addressof directly instead of wrapping it i [...] adds 11d12670dae GPUToCUDA: attach CUBIN to the nested module rather than to [...] adds 0cdc53a762c Linalg to LLVM lowering: decrease the reliance on symbol lo [...] adds 0dd404e4e10 NFC: Remove unused default cl::opt value. adds ac91e673757 Add support for walking the uses of a symbol. adds 6136f33d596 unroll and jam: fix order of jammed bodies adds 49b29dd1864 Add a PatternRewriter hook for cloning a region into another. adds d21ba951de6 [spirv] Add a pass to decorate the composite types with lay [...] adds 956a8311306 [ROCm] Fix the return type for the device function calls fr [...] adds 71c7962201c Add support for parsing/printing non bare-identifier SymbolRefs. adds 74461512361 Add Instance Specific Pass Options. adds b3a6ae8363b Update the symbol utility methods to handle the case of unk [...] adds 85b46314c04 Allow dynamic but ranked types in ops with SameOperandsAndR [...] adds 395ce4b41b8 NFC: Fully qualify use of std::string. PiperOrigin-RevId: 2 [...] adds 7c67ec0f032 Assert that region is not cloned into itself. adds 48f819c113d Change to doxygen comments. NFC. adds c9c24ca23b6 Add exp operation to LLVMOPs.td. adds 15f8ee62239 Update the usage and comments in define_inst.sh. adds 3451055614a Add support for some multi-store cases in affine fusion adds 171637d4f06 Fix Windows linkage error adds e2ed25bc437 Make SPIR-V lowering infrastructure follow Vulkan SPIR-V va [...] adds 35bb732032a Guard rewriter insertion point during signature conversion. adds ae6946ec11e Add ::printAsTextualPipeline to Pass and OpPassManager. adds 27f400c8137 minor spelling tweaks adds 221e661e911 Pre-allocate space for results from a regex match that uses [...] adds f5813ff8e11 Fix typo in QuantizedType method names adds 309b4556d00 Add test for fix to tablegen for custom folders for ops tha [...] adds 5e7959a3531 Use llvm.func to define functions with wrapped LLVM IR func [...] adds cc145706aa5 NFC: Cleanup of type checking tests adds 82dc6c44921 Mark GPU dialect as illegal when lowering to NVVM. adds ea34c2a7a4e Python bindings: export index_cast adds 438dc176b14 Remove the need to convert operations in regions of operati [...] adds 6b1cc3c6eac Add support for canonicalizing callable regions during inlining. adds 736f80d0ddd Add trait for specified shapes matching adds 28d7f9c052c Add lowering of constant ops to SPIR-V. adds 4dde19f0247 Translation to LLVM: check the validity of module-level Ops adds 08a2ce8a140 Standard-to-LLVM conversion: check that operands have LLVM types adds b245e9519c3 NFC: Initialize pass manager option fields inline instead o [...] adds 7a7dcc171da Add support for generating reproducers on pass crash and failure. adds 978b209d382 NFC: Print the generic op form after pass failure. adds 304e44a6b0e LLVM conversion: harden a test to check for LLVM funcs rath [...] adds 00d2a37e320 Add unary ops and ExpOp to Standard Dialect. adds 7301ac72bc4 Rename LLVM::exp and LLVM::fmuladd to LLVM::ExpOP and LLVM: [...] adds 47596f53455 Drop obsolete code from std to llvm memref lowering adds 71b82bcbf65 LLVM Dialect: introduce llvm.mlir.null operation adds 8c2ea320728 Emit LLVM IR equivalent of sizeof when lowering alloc operations adds a3d084848da Add LLVM IR dialect hooks for FP128 and X86_FP80 types adds c2285b619d4 Add lowering of VectorOps dialect to LLVM to the Linalg LLV [...] adds 5c5d83afb46 Fix linalg.subview behavior in (partially) static cases. adds 24c392f21c6 Use single quotes to wrap '@HOST_LDFLAGS@' in LIT config file adds 96de7091bca Allowing replacing non-root operations in DialectConversion. adds f29731d17f4 NFC: Replace usages of Value::getKind with explicit isa/casts. adds 300112e135f Merge Ch3 of the Toy tutorial into chapter 2. adds 98815cfdd93 AsmPrinter: avoid unused-variable warning adds c50e53c109e Expose mlir::parseType to bindings adds abf5c60af9d Add conversion for splat of vectors of 2+D adds 31c5a41a30a Consistent use of int in mlir_runner_utils.cpp adds 4e85dafeddc Fix typos in LangRef and OpDefinitions adds cd45b0c8d9f Update Chapter 3 to demonstrate pattern match and rewrite o [...] adds f16e89f841c Fix typos in InferTypeOpInterface. adds 29035946355 Fix minor typos adds e03e1519833 [spirv] Add support for SpecId decoration on spv.specConstant adds 1f83316a6be Fix typo adds 050241ed3d1 NFC: Split out ToyOpsIncGen into a separate CMakeLists.txt. adds c0b11f5cf43 Fix typos adds 2fc29f1eabc Fix typo adds 950979745ae Add support for OpBitwiseOr, OpBitwiseXor, and OpBitwiseAnd [...] adds a08482c1ad6 NFC: Various code cleanups for Ch3. adds 98f64b4da1a NFC: Remove NoSideEffect traits from all ops except for Con [...] adds b843cc5d5af Implement simple loop-invariant-code-motion based on dialec [...] adds 2c533e29c23 Fix typo in VectorOps.td adds f1f9e3b8d18 Fix CMake configuration after introduction of LICM and Loop [...] adds dfe09cc621e Add support for PatternRewriter::eraseOp. adds e7b49eef1d6 Allow for remapping argument to a Value in SignatureConversion. adds d2f0f847af3 Support custom accumulator provided as region to gpu.all_reduce. adds 54a84734704 Makes spv.module generated by GPU->SPIRV conversion spec compliant adds a3726a13f73 NFC: Update VectorOrTensor -> Shaped adds e88dbc8c955 Update comments in ast.toy adds 3940b90d84d Update Chapter 4 of the Toy tutorial adds ab79c25d646 Code cleanups on Ch.4 adds a245023c1ce Add ComplexType to TableGen with Tensor support adds 7053a30f4b3 Fix typo in tutorial. adds 7045471913e Add support for inlining toy call operations. adds 1ba9bb05078 Add Ch.5 of the toy tutorial. adds 0e3efb32c6f [spirv] Implement inliner interface adds bdc250c5a74 Fix invalid transpose in example and add proper verification. adds 1358df19ca7 Add LLVM_DEBUG in RewritersGen.cpp and Pattern.cpp adds 603117b2d62 Fix RewriterGen to support using NativeCodeCall as auxiliar [...] adds 23d21af65c4 [DRR] Allow capturing and referencing no-result ops adds 6ebc7318b01 Use a SmallVector instead of an ArrayRef to materialize a t [...] adds 10039d04e27 Rename LoopNestBuilder to AffineLoopNestBuilder - NFC adds 057dc41bf6e Allow '_' when pretty printing dialect symbols adds a560505d1ad [spirv] Add a canonicalization pattern for spv.selection. adds 5b03e692f67 Decouple Linalg promotion from Linalg tiling - NFC adds 0372eb413f1 Add Ch.6 of the Toy tutorial. adds dae0ae68791 NFC: Delete the Linalg tutorial. adds b65c8bb5d6a Add EDSC support for loop.for operations adds 6090643877f Introduce a wrapper around ConversionPattern that operates [...] adds 575405f4d67 Automated rollback of commit b65c8bb5d6ab418bb3fcd0302aee19 [...] adds 2acc220f17b NFC: Remove trivial builder get methods. adds fe0ee32da53 Add gpu.barrier op to synchronize invocations of a local wo [...] adds 234b8e85ba3 Add documentation on restrictions to dialect conversion rewrites adds 3622e1833fa Use StrEnumAttr for gpu.allreduce op instead of StringAttr [...] adds 3e3ab380219 Fix OSS target name GPUtoNVVMTransforms -> MLIRGPUtoNVVMTransforms adds 151e7e61e85 Automated rollback of commit 575405f4d6762830c1c4520569de4e [...] adds 3aae473658d [DRR] Use eraseOp() to replace no-result ops adds 02b3ea6038b Slightly rephrase a difficult-to-parse sentence. adds 2823b685804 Implement lowering of VectorTypeCastOp to LLVM adds 9e7e297da33 Lower vector transfer ops to loop.for operations. adds 9c9a7e9268b Add support for function result attributes. adds c5b9fefddc7 NFC: Rename SPIR-V serializer find*ID() to get*ID() to be c [...] adds d9db842e687 NFC: Add missing include for StringMap. PiperOrigin-RevId: [...] adds 5f6bdd144af NFC: Cleanup the implementation of walkSymbolUses. adds c3e56cd12cf Get active source lane predicate from shuffle instruction. adds bc577eaf441 Use new eraseOp instead of replaceOp with empty values adds f9462da5695 Slight rewording in toy ch2 to make persistence of name clearer adds 5b1345ff763 Add missing include to llvm Allocator.h adds 305dafd3b1b Add missing include to StringMap in Verifier and DialectCon [...] adds 8317bd85e5c Add SourceMgrDiagnosticHandler to toy adds 8bfedb3ca59 Fix minor spelling tweaks (NFC) adds f28c5aca176 Fix minor spelling tweaks (NFC) adds aad15d812e5 [DRR] Address GCC warning by wrapping for statement body with {} adds 0bebd06f9a5 Update Ch1 to reflect new changes in the tutorial. adds 1bdfc9e74df NFC: Fix typo : Retur -> Return PiperOrigin-RevId: 275745931 adds 9ac459e8711 Add a Symbol trait to simplify defining operations that rep [...] adds 03d7be2acad NFC: Elide the value of a UnitAttr within nested attribute [...] adds b74af4aa5c3 Unify GPU op definition names with other dialects. adds 941a1c43320 NFC: Fix remaining usages of MulOp as matrix multiplication. adds 4514cdd5eb4 Cleanup and rewrite Ch-4.md. adds 5f867d26b47 Use LLVM_Type instead of AnyType in the definition of LLVM_CallOp adds d9fe892e422 [spirv] Allow block arguments on spv.Branch(Conditional) adds 020f9eb68c8 [DRR] Allow interleaved operands and attributes adds 057ee97c737 NFC: Add support for parsing attributes programmatically vi [...] adds 0237e52dde1 NFC: Remove a right parenthesis from comment. PiperOrigin-R [...] adds 43de1c43037 Expose optimizations flags in Python bindings adds ad6925f4795 Update loop.for verifier message adds d499976098b Update chapter 3 code snippet to match the actual output of [...] adds 0d33703f2a4 Drop MemRefUtils from the ExecutionEngine adds 5ee610a091c NFC: Remove references to the toy.generic attribute. adds edffbbcdaef Fix "set-but-unused" warning in DialectConversion adds 21ee4e987f4 Add @below and @above directives to verify-diagnostics. adds 9a18ff3d629 Wrap ODS to 80 lines and remove const qualifier for local ` [...] adds d2ce435dba3 Add custom lowering of ExpOp for NVVM and ROCM. adds f56d8187fa4 Add missing dependency on MLIRIR on MLIREDSCInterface adds ef43b565383 Add support for replacing all uses of a symbol. adds 2b61b7979eb Convert the Canonicalize and CSE passes to generic Operatio [...] adds dd2e444325d [spirv] AccessChainOp canonicalization. adds b69e8ee049f Add support for parsing multiple result name groups. adds cde337cfdee Define AnyRankedTensor Type in TableGen adds 780a108d31d Fix include guards and add tests for OpToFuncCallLowering. adds 663f9e0c9fe Lookup function declaration in SymbolTable not ModuleOp. adds e38fe4a7af0 Print reason why dynamic library could not be loaded during [...] adds 2f4d0c085a9 Add support for marking an operation as recursively legal. adds 98226e62ecf Standardize Linalg transformations to take an OpBuilder and [...] adds 66ec24d8331 Parse locations in parseGenericOperation adds ca2538e9a74 [spirv] Support OpPhi using block arguments adds 61225d678e5 Add a convenient operation build method for spirv::SelectOp adds 8656af1e821 [spirv] Use LLVM graph traversal utility for PrettyBlockOrd [...] adds c87c7f57324 Bugfix: Keep worklistMap in sync with worklist in GreedyPat [...] adds 5e932afd5bb Add "[TOC]" to generated documentation adds f3efb60ccc1 [spirv] Mark control flow ops as InFunctionScope adds 80213ba5f0d [spirv] Fix gen_spirv_dialect.py and add spv.Unreachable adds 05a5a414164 Add basic support for declarative Linalg transformations adds cb40e36d3bb Fix segfault when no symbol is given to an constraint operand adds 0568e952b6d Add a utility accessor 'has_single_element' for ranges. adds a32f0dcb5d9 Add support to GreedyPatternRewriter for erasing unreachabl [...] adds 736ad2061c4 Dump op location in createPrintOpGraphPass for easier debugging. adds d024b68e6b3 Use `not` to invert return code in expected to fail tests adds d423d4a3387 [spirv] Add cast operations adds e55bd90bc7c NFC: Simplify UseRange::iterator to just be a std::vector:: [...] adds f9a4d3bdb02 LinalgDependenceGraph: add const modifiers to accessors adds 07b4ce7409c Add a test.symbol_scope operation that has the SymbolTable [...] adds ce9477934a5 Add a test for lowering GPU ops that cover cases where the [...] adds 7432234f3c5 NFC: Use #ifndef in various .td files instead of #ifdef and #else adds 96531e2f871 [mlir][llvm] Add missing cast ops adds bd94a10c02a Add Linalg pattern for producer-consumer fusion adds 9cbbd8f4dfa Support lowering of imperfectly nested loops into GPU dialect. adds 2fa865719b1 Move BitEnumAttr from SPIRVBase.td to OpBase.td adds e20a2aa9f2b Delete spurious file adds f143fbfa77f Add ReferToOp attribute constraint for SymbolRefAttr adds 445cc3f6dd7 Add DialectAsmParser/Printer classes to simplify dialect at [...] adds 2ba4d802e03 Remove the need for passing a location to parseAttribute/pa [...] adds e94a8bfca8f Refactor QuantOps TypeParser to use the DialectAsmParser me [...] adds 68cfc89a0da Refactor LinalgDialect::parseType to use the DialectAsmPars [...] adds 9fc1772776e Drop spurious debug spew. adds e4a912eb5a6 Update the SPV dialect type parser to use the methods on Di [...] adds 1f43d0d0003 [NVVM] Add mma.sync operation. adds 9297a129b16 Rename Region::RegionType to Region::BlockListType adds 6d2432561c7 Emit empty lines after headers when generating op docs adds 2366561a39d Add a PatternRewriter hook to merge blocks, and use it to s [...] adds 8fa9d826066 NFC: Rename parseOptionalAttributeDict -> parseOptionalAttr [...] adds 6b534ecbcb2 [llvm] Add initial import of LLVM modules to mlir-translate adds 250a11ae0f9 [llvm] Allow GlobalOp to take a region for complex initializers adds 500e858e652 Fix typos in the Standard Dialect documentation adds 8e0f4860cdc Add (parse|print)OptionalAttrDictWithKeyword hooks to simpl [...] adds 146f7de50d6 NFC: Remove an extra space when printing the 'attributes' p [...] adds 0d545921ead Add support for the LLVM FNeg instruction adds c38dca7f4b6 Add ViewOp to the StandardOps dialect, which casts a 1D/i8 [...] adds 5967f91770a [DRR] List some limitations clearly in the doc adds b5654d1311f Add ViewOp verification for dynamic strides, and address so [...] adds 68bd3555054 Adding an m_NonZero constant integer matcher. adds 1efc5119d92 Add affine load/store/dma_start/dma_wait to dialect doc. adds 7f6c6084b53 Add lowering of std.view to LLVM adds ffebc8ce1d8 Drop spurious test file adds f6188b5b074 Replace some remnant uses of "inst" with "op". adds 22cfff7043d NFC: Uniformize parser naming scheme in Toy tutorial to cam [...] adds 2fddfcfb14f NFC: Tidy up the implementation of operations in the Toy tutorial adds eee9cbdeb73 Add IndexedGenericOp to Linalg. adds 72040bf7c8f Update Linalg to use std.view adds 7af61f6bcd4 Add compatible query method to infer type interface adds a10d836c6de Fix parameter name and document option in linalg::promoteSubViews adds 5fbdb67b0aa Add canonicalizer for ViewOp which folds constants into the [...] adds 6b4e30b7c80 Add Ch-7 of the toy tutorial detailing how to define new types. adds 8f00b4494d0 Swap operand order in std.view operation so that offset app [...] adds eb47d5ee66e Fix asm printer for affine expr adds 09e8e7107aa mlir-translate: support -verify-diagnostics adds 24f306a22b6 Move description from GenericOpBase to linalg.(indexed_)generic. adds 4697d657b79 [spirv] Add bit ops adds bcfb3d4cd6d Explicitly initialize isRecursivelyLegal adds 9fbf52e330f Look for SymbolRefAttr in KernelOutlining instead of hard-c [...] adds 1328f93e918 Add a short TableGen HowTo to tutorial chapter 2. adds 85612fe6d19 Fix segfault (nullptr dereference) when passing a non-exist [...] adds e04d4bf865b Also consider index constants when folding integer arithmet [...] adds 5cf6e0ce7f0 Adds std.subview operation which takes dynamic offsets, siz [...] adds 9b9c647cefe Add support for nested symbol references. adds 6582489219a Restructure comment lexing to not recurse. adds f51a1553372 Add support for alignment attribute in std.alloc. adds 82d2c43ecae Adds affine.min operation which returns the minimum value f [...] adds 51de3f688ea Add LLVM lowering of std.subview adds 0e2affdf594 Update outdated comment for NativeCodeCall adds a6fac0aa29a Update textmate syntax file adds c4a0883a925 Add a printer flag to use local scope when printing IR. adds f4aca032324 [spirv] Properly return when finding error in serialization adds 104af84f4c8 Add Conversion to lower loop::ForOp to spirv::LoopOp. adds aa9dc9446e2 Expose an isSubclassOf() method on AttrConstraint adds 626e1fd95e6 Add an option to print an operation if a diagnostic is emit [...] adds b259c26eb07 Add support for OpPhi in loop header block adds 9d985141ef8 Make legality check in GPU->SPIR-V lowering of FuncOp kerne [...] adds 8082e3a687d NFC: Change DictionaryAttr::get(StringRef) to use binary se [...] adds 2be53603e92 Add operations needed to support lowering of AffineExpr to SPIR-V. adds 85d7fb3324a Make VariableOp instructions be in the first block in the f [...] adds 6df83699418 Rename the current parseSymbolName to parseOptionalSymbolName adds f45852be6c1 Create and begin writing glossary. adds d985c748839 NFC: Refactor block signature conversion to not erase the o [...] adds 486f2122cde Add FuncOp::eraseArgument adds 40f0c76ee27 Fix glossary formatting. adds 0bd6390b541 Deprecate linalg.subview in favor of std.subview adds 8abda15b3f6 Replace explicit concatenation by llvm::concat adds d1c99e10d05 Do not emit aliases when printing local form adds ee5c2256ef3 Concentrate memref descriptor manipulation logic in one place adds a007d4395a3 [doc] Add debugging tips in ODS and DRR doc regarding mlir-tblgen adds 7c28de4aef6 Use MemRefDescriptor in Linalg-to-LLVM conversion adds f2b6ae99913 Move VectorOps to Tablegen - (almost) NFC adds 62d5b1de452 Adapt code to LLVM API updates. adds bf5916e7a49 Use MemRefDescriptor in Vector-to-LLVM convresion adds b34a861d5a5 Make positions of elements in MemRef descriptor private adds 971b8dd4d88 Move Affine to Standard conversion to lib/Conversion adds 796ca609ebd [ODS] Fix operation argument population to avoid crash adds e0a0ac4b00e Add CMakeLists.txt for AffineToStandard conversion adds a4669cd3b49 Adds canonicalizer to SubViewOp which folds constants from [...] adds a78bd84cf84 NFC: Refactor Dialect Conversion targeting SPIR-V. adds 0b271b7dfe2 Refactor the LowerVectorTransfers pass to use the RewritePa [...] adds 682b9b2b83e Expand on operation definition to clarify the difference be [...] adds 95d5d359582 Add more navigation to the MLIR toy tutorial. adds 9c7bceb4fe5 Mark std.subview as no-sideeffect. adds 57bafc674e6 Mark std.view as no-sideeffect. adds 264a4635c8e Templatize linalg::LowerToLoops - NFC adds 88843ae37cf Use aggregate-parameter builder for ops having autogen type [...] adds 615b9ccdf05 Fix build warnings adds b9fa45864de Use simpler highlighting textmate syntax adds 9d7039b001d Modify tutorial and other documentation for consistency, cl [...] adds a0986bf43d8 NFC: Convert CmpIPredicate in StandardOps to use EnumAttr adds f90d5d703a8 Clarify that identity maps are discarded from the MemRef type adds 68e48ba1116 [spirv] Add bit ops adds 0fbac09473f Fix attribute dict syntax in the docs adds 8ec002cbec1 Fix mismatched-tags warning adds b8dc3fd8127 Rename CLI flags -lower-gpu-ops-to-*-ops to -convert-gpu-to-* adds f0f3b71d67e Implement folding of pattern dim(subview(_)[...][s1, ..., s [...] adds 9732bb533cc Standardize all VectorOps class names to be prefixed by Vec [...] adds 68a8da4a938 Fix Affine Loop Fusion test case reported on github. This C [...] adds 062dd406b1e ConvertStandardToLLVM: replace assertion with graceful failure adds 563b5910a83 Also elide large array attribute in OpGraph Dump adds 6c77e59bfd2 [spirv] Add a canonicalizer for BitcastOp. adds 1f475e316cc Fix gen_spirv_dialect.py regarding 1D/2D/3D Dim symbol name adds 9873a298178 Add a parseAttribute<AttrType> overload for the non-type case. adds a6a287335d7 Fix SubViewOp stride calculation in constant folding. Adds [...] adds 613ace94f2f Drop unnecessary dependences from mlir-translate adds 8c6a5233d51 Lower linalg.indexed_generic to loops. adds d8563c0e3ae Use SmallVectorImpl instead of SmallVector for function par [...] adds c614c92fdc6 Support SPIR-V constant op to take DenseElementsAttr as input. adds 01fb8cf1da7 Fix the shape of the outcome in the example code. adds 9110af5bec6 Add dialect-attribute-entry requirement to docs adds 8961d8e32fc Change conversion CLI flag from -lower-to-llvm to -convert- [...] adds 06fb797b409 Add '*' and '?' and optional brace parse calls to the Parser adds dd5a7cb4883 Add getRemappedValue to ConversionPatternRewriter adds d324c613eaf Add mention to avoid cl::opt for MLIR passes in the develop [...] adds c017704cd96 Add a note on commit messages to our developer guide adds 3732ba4def1 Fix pretty printer corner case in mlir_runner_utils.cpp. adds ee95f6f2594 Add VectorOps.StridedSliceOp adds f868adafee9 Make type and rank explicit in mcuMemHostRegister function. adds 88368a19aa5 Add some CMake rules for installing headers, mlir-tblgen, a [...] adds abb626686d4 Extend kernel outlining to also consider dim worth inlining. adds e50261657f0 Fix 'the the' typo. adds 3825cc46ab7 Fix the comment to Region block iterators. adds 3c055957de7 Add StridedMemRef<>::operator[] - NFC adds eb418559ef2 Add a new OpAsmOpInterface to allow for ops to directly hoo [...] adds fa14d4f6ab2 Implement unrolling of vector ops to finer-grained vector o [...] adds 19212105dd0 Changes to SubViewOp to make it more amenable to canonicalization. adds e4f83c6c269 Add multi-level DCE pass. adds 84f4bbc5eb1 missing outer index %i in search_body adds 1145cebdab3 Verify subview op result has dynamic shape, when sizes are [...] adds d6a70b31be4 Add VectorContractionOp to the VectorOps dialect. adds fafb708b9a0 Merge DCE and unreachable block elimination into a new util [...] adds 75379a684f6 Correctly parse empty affine maps. adds 57ea705f685 Add a document detailing operation traits, how to define th [...] adds 4ea92a0586b NFC: Use Region::getBlocks to fix build failure with drop_b [...] adds d05effb7055 Fixed typo in 2-d tiled layout adds 8bde4aa1bcc Fix OSS build adds b5af3784a6b Don't force newline before function attributes adds c2741d4ea0d Add missing include after LLVM 049043b598ef5b12a5894c0c22db [...] adds 2c4985816f4 Split Linalg declarative patterns from specific test patter [...] adds 663c2f731b2 Drop unused function - NFC adds 0abec2744c0 Fix OSS builds - NFC adds c621e641506 NFC: Add wrappers around DenseIntElementsAttr/DenseFPElemen [...] adds d7c17195a43 Change CUDA tests to use print_memref. adds c35378003c6 Add support for using the ODS result names as the Asm resul [...] adds 6755543af5c Move Linalg Transforms that are actually Conversions - NFC adds f7906c92113 Add more detail about locations in Chapter 2 of tutorial. adds 104777d8e6c Unify vector op names with other dialects. adds 36e8fa84abb Small formatting fix in Tutorial Ch2. adds 6db8530c26c Add more canonicalizations for SubViewOp. adds a5cda4763f4 [spirv] Add a canonicalizer for `spirv::LogicalNotOp`. adds 9a62ec8c965 Fix Windows Build adds b8ee5634491 NFC: Remove unnecessarily guarded tablegen includes. adds 6a101671b04 Make isValidSymbol more powerful adds aaafeac89b4 [spirv] NFC: rename test files and sort tests inside adds ae821fe6266 NFC: Wire up DRR settings for SPIR-V canonicalization patterns adds d2284f1f0ba Support folding of StandardOps with DenseElementsAttr. adds bf4692dc497 Introduce gpu.func adds 01145544aad Add vector.insertelement op adds 1ea231bd39e Allow memref_cast from static strides to dynamic strides. adds bd485afda03 Introduce attributes that specify the final ABI for a spirv [...] adds 9b6e6cef68d De-duplicate EnumAttr overrides by defining defaults adds d60133f89bb Changing directory shortcut for CPU/GPU runner utils. adds 8fc44a4d136 Update VectorContractionOp to take iterator types and index [...] adds 7fd46bf258e Add missing rule to generate SPIR-V ABI Attribute using tbl [...] adds f87b2fd41bc NFC: Actually expose the implementation of createGPUToSPIRV [...] adds 38d7870ee53 Make std.divis and std.diviu support ElementsAttr folding. adds 1012c492f0e Allow LLVM::ExtractElementOp to have non-i32 indices. adds 36469f7d2a6 Add a vector.InsertStridedSliceOp adds 174076a1572 Use vector.InsertStridedSlice in Vector -> Vector unrolling adds 13c6e419ca6 Add support for AttrSizedOperandSegments/AttrSizedResultSegments adds a50f871e8da Some minor corrections and improvements to LangRef adds 109338085d7 Relax restriction on affine_apply dim and symbol operands adds 9059cf392d5 Automated rollback of commit d60133f89bb08341718bb3132b19bc [...] adds 03620fa70ad Misc changes to lowering to SPIR-V. adds 18aec3e2e5b Add OpenMP dialect to the dialect registry adds cf97263cb8c [VectorOps] Add a BroadcastOp to the VectorOps dialect adds f27ceb72618 Add create method that takes equivalent of OperationState w [...] adds e2232fbcee8 [VectorOps] Refine BroadcastOp in VectorOps dialect adds 1fa8c8070b8 Implement Linalg to loops lowering as a pattern adds 9f89c34f4b8 Fixed typo in Toy tutorial (second var e -> var f) adds d4e4387fbfd [spirv] Add folders for spv.IAdd and spv.IMul adds a4d7650230d [spirv] NFC: Add getZero() and getOne() static method to Co [...] adds 5810efe1f12 NFC: A few cleanups for SPIRVLowering adds 0494ef60f71 [Linalg] Change attribute n_loop_types to iterator adds 2f16bf7ac9d Split out FunctionLike printing/parsing into FunctionImplem [...] adds cd556f25dee [spirv] Check that operand of `spirv::CompositeExtractOp` i [...] adds c9721e9a2b3 Fixed typo in Ch-1 of Toy tutorial adds 52a74151787 Fix redundant convert and use NamedAttributeList as value adds 2235333d587 mlir-tblgen: Dump input records when no generator is set adds d5e627f84b4 Introduce Linkage attribute to the LLVM dialect adds 9630fcbc52d Lower linalg.indexed_generic with libcall to LLVM. adds 4231de78974 add missing '>' in Ch-2 adds 0d22a3fdc87 NFC: Update std.subview op to use AttrSizedOperandSegments adds 4982eaf87cf [DRR] Introduce `$_` to ignore op argument match adds da3b305e7f1 Add missing `>` to the description of std.view. adds e7c8e542f41 docs: minor spelling tweaks adds 5e6795070ca Generate dialect documentations in the doc folder for every [...] adds b41162b3af6 [ODS] Generate builders taking unwrapped value and defaults [...] adds 3126004a5a8 [VectorOps] Add legality rules to broadcast adds 364b92fa106 NFC: use `&&` instead of `and` PiperOrigin-RevId: 283392575 adds 16a9296bc8a [spirv] NFC: reorder sections in SPIRVBase.td adds fdbb99cd625 Add linkage support to LLVMFuncOp adds d44e865020e [Linalg] Update/fix documentation for linalg.indexed_generic. adds 1af9633d851 [spirv] Add spv.SubgroupBallotKHROp adds 2125c0e3a8e Extend conversion of SubViewOp to llvm to also support case [...] adds 330d1ff00ea AffineLoopFusion: Prevent fusion of multi-out-edge producer loops adds 993e79e9bd1 Fix ViewOp to have at most one offset operand adds 1df7f4eb9d8 Add python bindings for ArrayAttr, AffineMapAttr. adds 2057733ffac Add Python bindings for affine expressions with binary operators. adds 353fb2bd387 Convert MemRefType to a linearized array in SPIR-V lowering. adds 4741ec6af0d Allow analyses to provide a hook 'isInvalidated' to determi [...] adds 67515e8d7a3 Verifier: Better error message in case of successor operand [...] adds 2c13fd9f172 Add CreateMaskOp to the VectorOps dialect. adds 82f9f9d112c Make diagnostic a bit clearer. adds c5ba37b6ae0 Add a pass to legalize operations before lowering to SPIR-V. adds 50b2b26e70f [spirv] Add spv.GroupNonUniformBallot adds 5c0c51a9979 Refactor dependencies to expose Vector transformations as p [...] adds da0b0b1a0e1 Avoid variable name conflict in MLIR tutorial code snippet adds c8c36e7979e minor spelling tweaks adds 34e1f4aa510 Adds support for unrolling single-result vector operations [...] adds f7c6bc70a92 Added new FAbs, FCeil, Cos, Neg, Sign, Tanh operations. adds 75175134d46 Loop coalescing: fix pointer chainsing in use-chain traversal adds bf45ff6aab0 [spirv] Adding sqrt op in the GLSL extension. adds 0827fa562dc NFC - fix name / comments - isAccessInvariant adds 26484bc0b6c Print out large elementsattr's such that they are parseable. adds 1221918b85c [spirv] Define a few more extensions in SPIRVBase.td adds 31b3e2248b1 NFC: Fix mismatches between LangRef.md and actual parser im [...] adds edfaf925cfa Drop MaterializeVectorTransfers in favor of simpler declara [...] adds 6f895bec7d6 [CSE] NFC: Hash the attribute dictionary pointer instead of [...] adds d20d7632410 Add canonicalization patterns for vector CreateMaskOp and S [...] adds b3f7cf80a7d Add a CL option to Standard to LLVM lowering to use alloca [...] adds 2c930f8d9da Add emitOptional(Error|Warning|Remark) functions to simplif [...] adds d9da8b647a5 Optimize operation ordering to support non-congruent indices. adds b60799b71bb Add MLIRIR as a dependency to LLVM and related dialects adds b8cd0c14864 Move ModuleManager functionality into mlir::SymbolTable. adds b14ee5a9a14 Fix MLIR Build after LLVM upstream JIT changes (getMainJITD [...] adds c0a9de29ad2 [spirv] Fix nested loop (de)serialization adds 780f0c043aa Add a flag to dump the current stack trace when emitting a [...] adds 037044b0ae4 Add spv.AtomicCompareExchangeWeak adds 4d61a79db46 Allow specification of the workgroup size for GPUToSPIRV lowering. adds 33a64540ade Add support for instance specific pass statistics. adds e67acfa4684 [spirv] Add CompositeInsertOp operation adds daff60cd68d Add UnrankedMemRef Type adds da53000fb41 Refactor the IRPrinting instrumentation to take a derivable [...] adds f60bbb6c3b4 [Linalg] Add permutation information to tiling adds 71999ff7f2b Add include path to the TestDialect to fix broken build. adds 12e57cf6c03 NFC: Add documentation for `-mlir-print-op-on-diagnostic` a [...] adds 58adf99ed1a LLVM::AddressOfOp: properly take into account the address space adds 84a6182ddd6 minor spelling tweaks adds 3ade6a7d151 DimOp folding for alloc/view dynamic dimensions adds 9ca53130f38 [spirv] Reorder `erase` and `emplace` to avoid "invalid ite [...] adds 41f8e105fae Unroll vector masks along with their associated vector arguments. adds 79047e1ab56 Use regex to fix failure when stats are disabled. adds 3c69ca1e696 fix examples in comments adds e216a72ab85 Add conversions of GPU func with memory attributions to LLVM/NVVM adds 398f04aa491 Generate builder for ops that use InferTypeOpInterface trai [...] adds b36aaeafb1b [VectorOps] Add lowering of vector.broadcast to LLVM IR adds 9ef9e236820 Provide a way to get the type of a ValueHandle. adds ccc767d63be Move GPU::FuncOp definition to ODS - NFC adds be3ed146587 LLVM::GlobalOp: take address space as builder argument adds d37f27251f1 [VecOps] Rename vector.[insert|extract]element to just vect [...] adds 6e0a2e4e2fe Use named traits in the ODS definition of LLVMFuncOp adds 3230267d0db Move GPU::LaunchOp to ODS. NFC. adds 883f5557263 During serialization do a walk of ops in module to find spv [...] adds e96150eb46d Replace custom getBody method with an ODS-generated in gpu: [...] adds 4add9edd721 Change inferReturnTypes to return LogicalResult and values adds 6500b7e0c08 NFC: Separate implementation and definition in ConvertStand [...] adds fcc215e3997 Fix langref code snippet - NFC adds ca23bd78d4b NFC - update doc, comments, vim syntax file adds 8904e910354 Add a flag to the IRPrinter instrumentation to only print a [...] adds d27bc1db6a6 Improve Linalg documentation following the Structured Ops p [...] adds 9d1a0c72b4a Add a new ValueRange class. adds d6ee6a03106 Update the builder API to take ValueRange instead of ArrayR [...] adds 9a4c2df4805 NFC: Expose constFoldBinaryOp via a header adds ade58a268ca Add a layer of recursive matchers that compose. adds a63f6e0bf98 Replace spurious SmallVector constructions with ValueRange adds 7b19bd5411a Post-submit cleanups in RecursiveMatchers adds 70aeb4566e3 Add RegionRange for when need to abstract over different re [...] adds 91c0074624a [StructuredOps][Linalg] Add a primitive pattern to rewrite [...] adds ae05cf27c62 Minor spelling tweaks adds 312ccb1c0f6 Unify vector op unrolling transformation. adds 4a62019eb88 Add lowering for module with gpu.kernel_module attribute. adds 89cef725f4e ODS: Generate named accessors for raw attributes adds 5a48e40a65f Factor out commonly reusable names across structured ops dialects adds 2c7e8ed7c6a [spirv] Add spv.IAdd, spv.ISub, and spv.IMul folders adds 34265dad651 [spirv] Add CompositeConstruct operation. adds 56da74476c4 Fix minor spelling tweaks. adds 7be6a40ab9b Add new indexed_accessor_range_base and indexed_accessor_ra [...] adds 3f9744a6b74 Refactor the Block support classes. adds 0e963b9c42b [VectorOps] Fix off-by-one error in insert/extract validation adds 1fe65688d42 [VectorOps] Add a ShuffleOp to the VectorOps dialect adds acb23ff48d9 Fix build breakage on gcc-5 adds ac4873322f0 Drop Markdown style annotations adds 90b72dd6169 Add a doc on guidelines for contributing a new dialect to t [...] adds 04fdd33daf5 More convenience build methods for SPIR-V ops. adds 8ccb350979f Add Py API for composing an affine expression with a map. A [...] adds ad38e498064 Uniformize Vector transforms as patterns on the model of Li [...] adds b19fed54153 [Linalg] Add a Linalg iterator permutation transformation adds 9ed22ae5b8c Refactor the various operand/result/type iterators to use i [...] adds 995048d7b71 Fold TestLinalgTilePermutePatterns into TestLinalgTransform [...] adds d1213ae51d2 Move gpu.launch_func to ODS. NFC adds 36a415bcc54 More affine expr simplifications for floordiv and mod adds 4d8ba886103 Add VectorOp transform pattern which splits vector Transfer [...] adds 9826fe5c9fb [VectorOps] Add lowering of vector.insert to LLVM IR adds 98fbf41044d Add initial liveness analysis including test cases. adds bae8a7a7241 [Linalg] Add tiling for IndexedGenericOp with a region. adds b96f86daaf8 Add a function to get lowering patterns from GPU to NVVM. adds 984fdde269f Automated rollback of commit 98fbf41044d3364dbaf18db81b9e8d [...] adds 4b0198acb52 Roll-forward initial liveness analysis including test cases. adds c5fb4c13038 NFC: Fix naming inconsistency: FuncOpLowering -> GPUFuncOpL [...] adds 508d4e672e5 Continue refactoring StructuredOps utilities adds d968f9696d2 [spirv] Add lowering for std.fdiv, std.frem, std.fsub adds 652fc261d7f Expose a convenience function to add interface attributes t [...] adds beda0b2dc8f Fix OSS build adds b909299d205 Add missing CMake dependency for MLIRTestIR. adds 9dfa84a269e Add std.log* and llvm.intr.log* that correspond to the LLVM [...] adds 851a8516d38 Make OpBuilder::insert virtual instead of OpBuilder::create [...] adds f68ac464d81 Switch from shfl.bfly to shfl.down. adds 9b855826824 Automated rollback of commit f68ac464d818629e0fe10c23b44ac7 [...] adds 95b5a4fd675 Move cpu runner utils templates to .h adds f7bffad5a7c Added lowering of `std.tanh` to llvm function call to `tanh [...] adds 1b579d998ad [Linalg] Add test for fusion of GenericOp with IndexedGenericOp. adds 782ae296785 Retire !linalg.buffer type - NFC adds 41a73ddce89 Add type inference variant for separate params builder generated adds 1c81adf362e [VectorOps] Add lowering of vector.shuffle to LLVM IR adds a50cb184a0c Fix logic on when to emit collective type but separate arg builder adds e7aa47ff111 NFC: Cleanup the various Op::print methods. adds 8846557672d Fix maskAndClamp in gpu.all_reduce. adds 7b19d736172 Add a type range for the XLA HLO dialect. adds b030e4a4ec5 Try to fold operations in DialectConversion when trying to [...] adds 7923abd357b Add a layer of EDSC for linalg.GenericOp adds 27ae92516b9 Skip generating C++ for "DeclareOpInterfaceMethods" in op i [...] adds 7ac42fa26e5 Refactor various canonicalization patterns as in-place folds. adds 200beb84461 Apply a level of sugaring to the linalg.generic EDSC - NFC adds 3ef15a80d2b Reconcile struct and class for NestedPatternMatchers - NFC adds 2d22b1e04e7 Add verifyCompatibleShape function overload with shapes adds 97af9322728 Splat op doc - fix misformat / update tablegen op desc. comment adds 44fc7d72b3c Remove LLVM dependency on mlir::Module and instead check Traits. adds 0684aa9a8bc Make memref promotion during std->LLVM lowering the default [...] adds 73ec37c8bbc Adds ExtractSlicesOp to the VectorOps dialect. adds cd5dab8ad7f [VectorOps] Add [insert/extract]element definition together [...] adds c290e993b25 Remove unused variable (fix warning) NFC adds 3ae56c41350 [Linalg] Expose subview promotion as a declarative pattern adds ed749b76897 Make "LowerToCFG" an operation pass adds ab610e8a996 Insert signature-converted blocks into a region with a pare [...] adds 6273fa0c6a8 Plug gpu.func into the GPU lowering pipelines adds 11e92875f07 Add InsertSlicesOp to the VectorOps dialect. adds 3c179b65758 Add edsc::ops for pointwise, conv and dilated_conv adds 659150b570e [spirv] Re-enable nested loop (de)serialization test adds a0557ea9d65 Fix (de)serialization generation for SPV_ScopeAttr, SPV_Mem [...] adds 80ec474a65a Add atomic operations to SPIR-V dialect. adds 4e825c59be4 Update vector op unrolling transformation to generate Extra [...] adds 8d68fe684e6 Replace code with equivalent satisfiesLLVMModule() function call. adds 038ad1d8567 Add pattern rewrite which splits a vector TransferReadOp in [...] adds 6e581e29a47 Integrate from upstream at revision e4fce659a759. adds f44cf232970 Add a new utility class TypeSwitch to ADT. adds 9f45a224412 fix a typo in OpDefinitions doc adds d1fb285b32d Add pattern rewrite to forward vector tuple elements to the [...] adds 651eaa03e8c Homogenize the description of the MemRef conversion to the [...] adds 0bdc72d2df8 StdToLLVM conversion: drop getMemRefElementType utility function adds 62f498dcb75 ConversionToLLVMDialect doc: update the syntax for LLVM types adds 42b3fe83350 Make it possible to override the lowering of MemRef to the [...] adds 319cca3bbe6 Add missing virtual inliner interface method in SPIR-V dialect. adds 6fa3bd5b3e5 Add pattern rewrite which splits a vector TransferWriteOp i [...] adds 74278dd01e5 NFC: Use TypeSwitch to simplify existing code. PiperOrigin- [...] adds 5a0d4803f7a NFC: Use this-> to appease GCC bug related to template lambda. adds c6c6a74d555 Add support for float and string attributes to the C API an [...] adds 40ef46fba4a Harden the requirements to memory attribution types in gpu.func adds abcf5ff0cc6 Fix line break in LangRef adds 24ab8362f20 Move function template definition to the header file. NFC adds 4562e389a43 NFC: Remove unnecessary 'llvm::' prefix from uses of llvm s [...] adds 47034c4bc50 Introduce prefetch op: affine -> std -> llvm intrinsic adds 2666b97314a NFC: Cleanup non-conforming usages of namespaces. adds d7e2cc9bd1d Update code block designations adds 29807ff5e46 Add support for providing a default implementation for an i [...] adds c169852fc5c NFC: Remove forbidden include of <iostream> adds d9b500d3bb1 [VectorOps] Add vector.print definition, with lowering support adds 6054610bbe0 Added LLVM ops and lowering phases from standard dialect fo [...] adds 7b3adda8f4f Move the specializations of VectorTransferRewriter::matchAn [...] adds 553f794b6fc Add a couple useful LLVM_DEBUG's to the inliner. adds a1e84db66ee [VectorOps] Replace iostream with stdio in support lib for [...] adds 50f9be6d2d6 Add runtime utils support for print_memref_i8 adds efadb6b8388 Detemplatize ModuleTranslation::lookupValues adds 15f800f4bc7 [VectorOps] minor cleanup: vector dialect "subscripts" are i32 adds 1bcd8ef32f8 LLVMFuncOp: implement addEntryBlock adds 1d798b1d27f [VectorOps] Add vector ReshapeOp to the VectorOps dialect. adds 6685282253c Restructure and update Linalg ODS and documentation - NFC adds 8020ad3e396 [VectorOps] Update vector transfer_read/write ops to operat [...] adds b6d54a1ba3f Unique trait list during ODS Operator trait construction adds 7811ad3c2b3 Allow dialect to create friendly names for region arguments adds 42d46b4efa9 Add gpu.shuffle op. adds e5691c512f7 fix isValidDim for block arg case adds 67c019ddac3 [VectorOps] remove redundant returns from invalid ops test adds 1d47564a53b [VectorOps] unify vector dialect "subscripts" adds ee71ca1d5c0 NFC: Move the classes related to Pass options into a new he [...] adds dcc14f08656 Make Type and Attribute classes trivially copyable adds 22954a0e408 Add integer bit-shift operations to the standard dialect. adds 35807bc4c5c NFC: Introduce new ValuePtr/ValueRef typedefs to simplify t [...] adds 56222a0694e Adjust License.txt file to use the LLVM license adds f603a501091 ReImplement the Value classes as value-typed objects wrappi [...] adds 268365ab01d Automated rollback of commit f603a50109107b447b835dac11f0eb [...] adds ab46543cebb Resubmit: ReImplement the Value classes as value-typed obje [...] adds a5d5d291250 Update SPIR-V.md adds 5d5bd2e1da2 Change the `notifyRootUpdated` API to be transaction based. adds e62a69561fb NFC: Replace ValuePtr with Value and remove it now that Val [...] adds 21610e66516 Refactor the way that pass options are specified. adds ac6dce12e03 Remove pybind11-based bindings adds 5b4a01d4a63 Adjust some MLIR paths and docs adds 0f0d0ed1c78 Import MLIR into the LLVM tree adds 199700a5cfe DebugInfo: Support dumping any exprloc as an expression adds 1399281d58f NFC: Rename printOptionValue to printValue to fix MSVC build. adds 4b0563f89f9 test: correct flags for Windows adds 01b98e6fd54 [SelectionDAG] Don't repeatedly add a node to the worklist [...] adds e0d855b3997 [SelectionDAG] Change SelectionDAGISel::{funcInfo,SDB} to u [...] adds 0a72515d33b [DebugInfo] Fix v4 macinfo for dwo files. adds 7f047c4c91c Add `mlir` to -DLLVM_ALL_PROJECTS CMake option adds a28b65b2792 [docs] fix typo in Lexicon.rst adds c6a5534ea4f Remove static MLIR doc ; they are already on the website adds 301cb91428e [llvm-readobj] - Remove an excessive helper for printing dy [...] adds 34766da0676 Add the Apache2 with LLVM exceptions license to MLIR adds 83c7a424d96 DebugInfo: Add {} to address -Wdangling-else warning. adds fccac1ec169 DebugInfo: Correct the form of DW_AT_macro_info in .dwo fil [...] adds 42dba633a3b [TypePromotion] Make TypeSize a class member adds 002e07208a6 [clang] [ast] CXXRecordDecl::getVisibleConversionFunctions( [...] adds 2e9bfa12ff3 Revert "[Support] Extend TimeProfiler to support multiple threads" adds c96c606b85c clang-doc remove trailing whitespaces adds 8131c048368 doc: Document that extra-arg/extra-arg-before can be used s [...] adds 4657a397c22 [lldb][NFC] Remove ClangExternalASTSourceCommon adds 95b69a7082a mlir README.md: Fix the syntax adds 2026d7b80a1 VariableName doc: fix the link to the mozilla doc adds 0293b5d6712 [NFC] Remove some dead code from CGBuiltin.cpp. adds 9035fa6b54e AMDGPU/GlobalISel: Lower llvm.amdgcn.else adds e351256c0d9 GlobalISel: Define equivalent node for G_INTRINSIC_TRUNC adds df5c2159d0a AMDGPU/GlobalISel: Legalize some 16-bit round instructions adds c16b3ec597d Fix false positive in magic number checker. adds f58f39137c6 Fix readability-const-return-type identifying the wrong `co [...] adds a12ac7009e9 [lldb][NFC] Move ClangASTContext::m_scratch_ast_source_up t [...] adds 9b616415649 GlobalISel: Fix naming variables "brank" instead of "bank" adds 1aa763a4a08 GlobalISel: Define equivalent node for G_INTRINSIC_ROUND adds 0d47399167e GlobalISel: Update syntax in debug printing adds 93dc40dddde [OPENMP50]Basic support for conditional lastprivate. adds 3cb934c94e5 [OPENMP][DOCS]Update status of OpenMP 5.0 features, NFC. adds a21beccea20 [X86] Add STRICT versions of CVTTP2SI, CVTTP2UI, CMPM, and CMPP. adds 64c6bb37832 test: ensure that we dead-strip in the linker adds 020ca0cf2f1 [mlir] Fix -Wunneeded-internal-declaration adds c06e53119b1 [X86] Use 128-bit vector instructions for f32/f64->i64 conv [...] adds fc356dcc11c [compiler-rt] Adapt stop-the-world for ptrace changes in Ne [...] adds 4b8232d4f0b [compiler-rt] Adapt for ptrace(2) changes in NetBSD-9.99.30 adds ab8a7a29bf1 [lldb] Adapt for NetBSD-9.99.30 ptrace(2) API changes adds 1f054d667e2 AMDGPU/GlobalISel: Fix mapping and selection of llvm.amdgcn [...] adds 3732f4e093f [OPENMP]Add extra checks and initialization for clause modifier. adds 502a77f125f Migrate function attribute "no-frame-pointer-elim" to "fram [...] adds eb16435b5e5 Migrate function attribute "no-frame-pointer-elim-non-leaf" [...] adds a36ddf0aa9d Migrate function attribute "no-frame-pointer-elim"="false" [...] adds 9f6b13e5cce [Support] Fix behavior of StringRef::count with overlapping [...] adds c853c73d3de [Thumb][test] Fix CodeGen/Thumb/PR17309.ll after llvmorg-1 [...] adds 1ac7c50ded4 [WinEH] Delete addFnAttr("no-frame-pointer-elim") which see [...] adds 583ef13f0be [MCJIT] Migrate function attribute "no-frame-pointer-elim" [...] adds 58f324a468f [Attributor] Function level undefined behavior attribute adds 5732f56bbd2 [Attributor] UB Attribute now handles all instructions that [...] adds 52b5fe5f45b [compiler-rt] [netbsd] Define _RTLD_SOURCE to fix build adds 27dc4c319b5 [X86FixupSetCC] Use MachineInstr::readRegister/definesRegis [...] adds 1d5d074aef2 [Attributor] Reach optimistic fixpoint in AAValueSimplify [...] adds 1497a4350e2 [MLIR][NFC] Insert const_cast to avoid warning adds 8304781cae9 Add missing strict_fp_to_int adds 604d7fbfc1e [llvm-readobj/llvm-readelf][test] - Add testing for EI_OSAB [...] adds 1a2d2b492a3 [llvm-readobj] - Merge `gnu-symbols.test` to `symbols.test` [...] new 80c45e49c33 [AMDGPU][MC][DOC] Updated AMD GPU assembler syntax description.
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: .../readability/ConstReturnTypeCheck.cpp | 4 +- .../clang-tidy/readability/MagicNumbersCheck.cpp | 18 +- clang-tools-extra/clang-tidy/utils/LexerUtils.cpp | 33 +- clang-tools-extra/clang-tidy/utils/LexerUtils.h | 14 +- clang-tools-extra/docs/ReleaseNotes.rst | 4 + clang-tools-extra/docs/clang-doc.rst | 8 +- clang-tools-extra/docs/clang-rename.rst | 2 + clang-tools-extra/docs/clang-tidy/index.rst | 2 + .../checkers/readability-const-return-type.cpp | 39 + .../checkers/readability-magic-numbers-todo.cpp | 15 + .../checkers/readability-magic-numbers.cpp | 17 +- clang/docs/OpenMPSupport.rst | 4 +- clang/include/clang/AST/ASTContext.h | 12 + clang/include/clang/AST/DeclCXX.h | 3 +- clang/include/clang/AST/OpenMPClause.h | 34 +- clang/include/clang/Basic/DiagnosticSemaKinds.td | 3 + clang/include/clang/Basic/OpenMPKinds.def | 7 + clang/include/clang/Basic/OpenMPKinds.h | 7 + clang/include/clang/Basic/TargetInfo.h | 6 +- clang/include/clang/Parse/Parser.h | 7 +- clang/include/clang/Sema/Sema.h | 15 +- clang/lib/AST/ASTContext.cpp | 63 + clang/lib/AST/DeclCXX.cpp | 22 +- clang/lib/AST/OpenMPClause.cpp | 18 +- clang/lib/Analysis/CFG.cpp | 2 +- clang/lib/Basic/OpenMPKinds.cpp | 17 +- clang/lib/Basic/Targets/X86.cpp | 19 +- clang/lib/Basic/Targets/X86.h | 15 +- clang/lib/CodeGen/CGBuiltin.cpp | 14 - clang/lib/CodeGen/CodeGenFunction.cpp | 8 +- clang/lib/CodeGen/CodeGenModule.cpp | 54 +- clang/lib/CodeGen/CodeGenModule.h | 8 - clang/lib/Parse/ParseOpenMP.cpp | 81 +- clang/lib/Sema/SemaOpenMP.cpp | 69 +- clang/lib/Sema/SemaStmtAsm.cpp | 13 +- clang/lib/Sema/TreeTransform.h | 10 +- clang/lib/Serialization/ASTReader.cpp | 4 + clang/lib/Serialization/ASTWriter.cpp | 3 + clang/test/CodeGen/backend-unsupported-error.ll | 2 +- clang/test/CodeGen/x86_32-inline-asm.c | 32 + ...istribute_parallel_for_lastprivate_messages.cpp | 11 +- ...bute_parallel_for_simd_lastprivate_messages.cpp | 15 +- .../distribute_simd_lastprivate_messages.cpp | 15 +- clang/test/OpenMP/for_lastprivate_messages.cpp | 13 +- .../test/OpenMP/for_simd_lastprivate_messages.cpp | 17 +- .../master_taskloop_lastprivate_messages.cpp | 10 +- .../test/OpenMP/master_taskloop_simd_ast_print.cpp | 2 +- .../master_taskloop_simd_lastprivate_messages.cpp | 14 +- clang/test/OpenMP/parallel_for_ast_print.cpp | 4 +- .../OpenMP/parallel_for_lastprivate_messages.cpp | 12 +- clang/test/OpenMP/parallel_for_simd_ast_print.cpp | 4 +- .../parallel_for_simd_lastprivate_messages.cpp | 14 +- ...rallel_master_taskloop_lastprivate_messages.cpp | 10 +- .../parallel_master_taskloop_simd_ast_print.cpp | 2 +- ...l_master_taskloop_simd_lastprivate_messages.cpp | 10 +- .../parallel_sections_lastprivate_messages.cpp | 12 +- .../test/OpenMP/sections_lastprivate_messages.cpp | 14 +- clang/test/OpenMP/simd_ast_print.cpp | 4 +- clang/test/OpenMP/simd_lastprivate_messages.cpp | 13 +- .../target_parallel_for_lastprivate_messages.cpp | 10 +- ...rget_parallel_for_simd_lastprivate_messages.cpp | 16 +- clang/test/OpenMP/target_simd_ast_print.cpp | 4 +- .../OpenMP/target_simd_lastprivate_messages.cpp | 14 +- ...arget_teams_distribute_lastprivate_messages.cpp | 8 +- ...istribute_parallel_for_lastprivate_messages.cpp | 7 +- ...bute_parallel_for_simd_lastprivate_messages.cpp | 4 + ..._teams_distribute_simd_lastprivate_messages.cpp | 4 + .../test/OpenMP/taskloop_lastprivate_messages.cpp | 10 +- clang/test/OpenMP/taskloop_simd_ast_print.cpp | 2 +- .../OpenMP/taskloop_simd_lastprivate_messages.cpp | 14 +- .../teams_distribute_lastprivate_messages.cpp | 10 +- ...istribute_parallel_for_lastprivate_messages.cpp | 10 +- ...bute_parallel_for_simd_lastprivate_messages.cpp | 10 +- .../teams_distribute_simd_lastprivate_messages.cpp | 10 +- clang/unittests/Analysis/CFGBuildResult.h | 35 +- clang/unittests/Analysis/CFGTest.cpp | 16 + .../include/sanitizer/netbsd_syscall_hooks.h | 2 +- .../sanitizer_common_interceptors.inc | 89 + .../sanitizer_common/sanitizer_linux_libcdep.cpp | 4 + .../sanitizer_platform_interceptors.h | 8 + .../sanitizer_platform_limits_netbsd.cpp | 14 + .../sanitizer_platform_limits_netbsd.h | 11 + .../sanitizer_stoptheworld_netbsd_libcdep.cpp | 12 +- .../sanitizer_common/sanitizer_syscalls_netbsd.inc | 22 +- compiler-rt/test/msan/qsort.cpp | 78 + compiler-rt/utils/generate_netbsd_syscalls.awk | 18 +- libc/CMakeLists.txt | 3 +- libc/cmake/modules/LLVMLibCRules.cmake | 37 +- libc/config/CMakeLists.txt | 1 + libc/config/linux/CMakeLists.txt | 1 + libc/config/linux/api.td | 54 +- libc/config/linux/platfrom_defs.h.inc | 19 + libc/config/linux/syscall_numbers.h.inc | 2320 ++++++++++ libc/config/linux/x86_64/CMakeLists.txt | 10 + libc/config/linux/x86_64/syscall.h.inc | 93 + libc/config/linux/x86_64/syscall_test.cpp | 40 + libc/include/CMakeLists.txt | 29 + libc/include/__posix-types.h | 16 + libc/include/sys/mman.h.def | 11 + libc/include/sys/syscall.h.def | 12 + libc/lib/CMakeLists.txt | 4 + libc/spec/linux.td | 8 + libc/spec/posix.td | 42 + libc/spec/spec.td | 4 + libc/spec/stdc.td | 3 - libc/src/CMakeLists.txt | 3 + libc/src/__support/CMakeLists.txt | 4 +- libc/src/__support/common.h.def | 8 +- libc/src/__support/linux/entrypoint_macro.h.inc | 13 - libc/src/sys/CMakeLists.txt | 1 + libc/src/sys/mman/CMakeLists.txt | 41 + libc/src/sys/mman/mmap.cpp | 57 + libc/src/sys/mman/mmap.h | 20 + libc/src/sys/mman/mmap_test.cpp | 48 + libc/src/sys/mman/munmap.cpp | 35 + libc/src/sys/mman/munmap.h | 20 + libc/src/unistd/CMakeLists.txt | 9 + libc/src/unistd/syscall.h.def | 9 + lld/test/COFF/Inputs/undefined-symbol-lto-a.ll | 4 +- lld/test/COFF/Inputs/undefined-symbol-lto-b.ll | 2 +- lld/test/COFF/lto-cpu-string.ll | 2 +- lld/test/ELF/lto/cpu-string.ll | 2 +- lld/test/wasm/Inputs/debuginfo1.ll | 6 +- lld/test/wasm/Inputs/debuginfo2.ll | 2 +- lld/test/wasm/debug-removed-fn.ll | 2 +- lldb/cmake/modules/LLDBConfig.cmake | 1 + lldb/include/lldb/Symbol/ClangASTContext.h | 16 +- .../lldb/Symbol/ClangExternalASTSourceCallbacks.h | 5 +- .../lldb/Symbol/ClangExternalASTSourceCommon.h | 82 - .../test/functionalities/dead-strip/Makefile | 3 + .../ExpressionParser/Clang/ClangASTSource.h | 6 +- .../ExpressionParser/Clang/ClangUserExpression.cpp | 1 + .../ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp | 13 +- .../Plugins/Process/NetBSD/NativeProcessNetBSD.cpp | 12 +- .../Plugins/Process/NetBSD/NativeThreadNetBSD.cpp | 11 + lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp | 21 +- .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 11 - lldb/source/Symbol/CMakeLists.txt | 1 - lldb/source/Symbol/ClangASTContext.cpp | 45 +- .../source/Symbol/ClangExternalASTSourceCommon.cpp | 34 - llvm/CMakeLists.txt | 2 +- llvm/docs/AMDGPU/AMDGPUAsmGFX10.rst | 163 +- llvm/docs/AMDGPU/AMDGPUAsmGFX7.rst | 15 +- llvm/docs/AMDGPU/AMDGPUAsmGFX8.rst | 15 +- llvm/docs/AMDGPU/AMDGPUAsmGFX9.rst | 19 +- llvm/docs/AMDGPU/AMDGPUAsmGFX900.rst | 58 + llvm/docs/AMDGPU/AMDGPUAsmGFX904.rst | 58 + llvm/docs/AMDGPU/AMDGPUAsmGFX906.rst | 93 + llvm/docs/AMDGPU/AMDGPUAsmGFX908.rst | 165 + llvm/docs/AMDGPU/gfx900_mad_type_dev.rst | 17 + llvm/docs/AMDGPU/gfx900_mod_vop3_abs_neg.rst | 14 + llvm/docs/AMDGPU/gfx900_src32_0.rst | 17 + llvm/docs/AMDGPU/gfx900_src32_1.rst | 17 + llvm/docs/AMDGPU/gfx900_vdst32_0.rst | 17 + llvm/docs/AMDGPU/gfx904_mad_type_dev.rst | 17 + llvm/docs/AMDGPU/gfx904_mod_vop3_abs_neg.rst | 14 + llvm/docs/AMDGPU/gfx904_src32_0.rst | 17 + llvm/docs/AMDGPU/gfx904_src32_1.rst | 17 + llvm/docs/AMDGPU/gfx904_vdst32_0.rst | 17 + llvm/docs/AMDGPU/gfx906_mad_type_dev.rst | 17 + llvm/docs/AMDGPU/gfx906_mod_dpp_sdwa_abs_neg.rst | 14 + llvm/docs/AMDGPU/gfx906_mod_sdwa_sext.rst | 14 + llvm/docs/AMDGPU/gfx906_mod_vop3_abs_neg.rst | 14 + llvm/docs/AMDGPU/gfx906_src32_0.rst | 17 + llvm/docs/AMDGPU/gfx906_src32_1.rst | 17 + llvm/docs/AMDGPU/gfx906_src32_2.rst | 17 + llvm/docs/AMDGPU/gfx906_type_dev.rst | 14 + llvm/docs/AMDGPU/gfx906_vdst32_0.rst | 17 + llvm/docs/AMDGPU/gfx906_vsrc32_0.rst | 17 + llvm/docs/AMDGPU/gfx908_addr_buf.rst | 22 + llvm/docs/AMDGPU/gfx908_adst1024_0.rst | 17 + llvm/docs/AMDGPU/gfx908_adst128_0.rst | 17 + llvm/docs/AMDGPU/gfx908_adst32_0.rst | 17 + llvm/docs/AMDGPU/gfx908_adst512_0.rst | 17 + llvm/docs/AMDGPU/gfx908_asrc1024_0.rst | 17 + llvm/docs/AMDGPU/gfx908_asrc128_0.rst | 17 + llvm/docs/AMDGPU/gfx908_asrc32_0.rst | 17 + llvm/docs/AMDGPU/gfx908_asrc512_0.rst | 17 + llvm/docs/AMDGPU/gfx908_data_buf_atomic32.rst | 21 + llvm/docs/AMDGPU/gfx908_dst_flat_atomic32.rst | 19 + llvm/docs/AMDGPU/gfx908_mad_type_dev.rst | 17 + llvm/docs/AMDGPU/gfx908_mod_dpp_sdwa_abs_neg.rst | 14 + llvm/docs/AMDGPU/gfx908_mod_sdwa_sext.rst | 14 + llvm/docs/AMDGPU/gfx908_mod_vop3_abs_neg.rst | 14 + llvm/docs/AMDGPU/gfx908_offset_buf.rst | 17 + llvm/docs/AMDGPU/gfx908_opt.rst | 14 + llvm/docs/AMDGPU/gfx908_ret.rst | 14 + llvm/docs/AMDGPU/gfx908_rsrc_buf.rst | 17 + llvm/docs/AMDGPU/gfx908_saddr_flat_global.rst | 19 + llvm/docs/AMDGPU/gfx908_src32_0.rst | 17 + llvm/docs/AMDGPU/gfx908_src32_1.rst | 17 + llvm/docs/AMDGPU/gfx908_src32_2.rst | 17 + llvm/docs/AMDGPU/gfx908_src32_3.rst | 17 + llvm/docs/AMDGPU/gfx908_type_dev.rst | 14 + llvm/docs/AMDGPU/gfx908_vaddr_flat_global.rst | 22 + llvm/docs/AMDGPU/gfx908_vasrc32_0.rst | 17 + llvm/docs/AMDGPU/gfx908_vasrc64_0.rst | 17 + llvm/docs/AMDGPU/gfx908_vdata32_0.rst | 17 + llvm/docs/AMDGPU/gfx908_vdst32_0.rst | 17 + llvm/docs/AMDGPU/gfx908_vsrc32_0.rst | 17 + llvm/docs/AMDGPU/gfx9_mad_type_dev.rst | 17 - llvm/docs/AMDGPUModifierSyntax.rst | 55 +- llvm/docs/AMDGPUOperandSyntax.rst | 60 + llvm/docs/AMDGPUUsage.rst | 38 +- llvm/docs/LangRef.rst | 4 +- llvm/docs/Lexicon.rst | 8 +- llvm/docs/Proposals/VariableNames.rst | 2 +- llvm/docs/ReleaseNotes.rst | 8 +- llvm/docs/SourceLevelDebugging.rst | 2 +- llvm/docs/TableGen/LangIntro.rst | 6 +- llvm/include/llvm/CodeGen/FunctionLoweringInfo.h | 2 +- llvm/include/llvm/CodeGen/SelectionDAGISel.h | 4 +- llvm/include/llvm/Support/TimeProfiler.h | 6 +- .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 2 + llvm/include/llvm/Transforms/IPO/Attributor.h | 26 + llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 14 +- llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp | 14 +- llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp | 2 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 13 +- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 72 +- llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | 52 +- llvm/lib/CodeGen/TypePromotion.cpp | 185 +- llvm/lib/DebugInfo/DWARF/DWARFDie.cpp | 3 +- llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp | 30 +- .../ExecutionEngine/ExecutionEngineBindings.cpp | 6 +- llvm/lib/Object/ELF.cpp | 2 +- llvm/lib/Support/StringRef.cpp | 9 +- llvm/lib/Support/TimeProfiler.cpp | 98 +- llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td | 6 +- llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 30 +- llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 1 + llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 17 +- llvm/lib/Target/X86/X86FixupSetCC.cpp | 18 +- llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 30 +- llvm/lib/Target/X86/X86ISelLowering.cpp | 199 +- llvm/lib/Target/X86/X86ISelLowering.h | 3 + llvm/lib/Target/X86/X86InstrAVX512.td | 180 +- llvm/lib/Target/X86/X86InstrFragmentsSIMD.td | 25 +- llvm/lib/Target/X86/X86InstrSSE.td | 116 +- llvm/lib/Target/X86/X86WinEHState.cpp | 5 - llvm/lib/Transforms/IPO/Attributor.cpp | 125 +- .../test/Analysis/BranchProbabilityInfo/pr22718.ll | 6 +- .../CostModel/SystemZ/intrinsic-cost-crash.ll | 2 +- .../constant_functions_multi_dim.ll | 4 +- .../Analysis/DependenceAnalysis/MIVCheckConst.ll | 2 +- .../NonCanonicalizedSubscript.ll | 2 +- .../invariant.group-bug.ll | 4 +- llvm/test/Analysis/MemorySSA/pr28880.ll | 2 +- llvm/test/Analysis/MemorySSA/pr39197.ll | 2 +- llvm/test/Analysis/MemorySSA/pr40038.ll | 2 +- llvm/test/Analysis/ScalarEvolution/pr22674.ll | 2 +- .../ScalarEvolution/scev-canonical-mode.ll | 2 +- .../Analysis/TypeBasedAliasAnalysis/PR17620.ll | 4 +- .../Analysis/TypeBasedAliasAnalysis/tbaa-path.ll | 2 +- llvm/test/Bitcode/DILocation-implicit-code.ll | 4 +- llvm/test/Bitcode/drop-debug-info.3.5.ll | 2 +- llvm/test/Bitcode/upgrade-tbaa.ll | 2 +- llvm/test/BugPoint/func-attrs-keyval.ll | 2 +- llvm/test/BugPoint/func-attrs.ll | 4 +- .../CodeGen/AArch64/GlobalISel/inline-memcpy.mir | 2 +- .../CodeGen/AArch64/GlobalISel/inline-memmove.mir | 2 +- .../CodeGen/AArch64/GlobalISel/inline-memset.mir | 2 +- .../aarch64-2014-08-11-MachineCombinerCrash.ll | 2 +- .../AArch64/aarch64-a57-fp-load-balancing.ll | 4 +- .../AArch64/aarch64-fix-cortex-a53-835769.ll | 4 +- .../CodeGen/AArch64/aarch64-mov-debug-locs.mir | 4 +- .../test/CodeGen/AArch64/arm64-detect-vec-redux.ll | 2 +- .../AArch64/arm64-fma-combine-with-fpfusion.ll | 2 +- .../CodeGen/AArch64/arm64-indexed-vector-ldst-2.ll | 2 +- .../CodeGen/AArch64/arm64-misched-basic-A53.ll | 2 +- .../CodeGen/AArch64/arm64-misched-basic-A57.ll | 2 +- llvm/test/CodeGen/AArch64/arm64-storebytesmerge.ll | 4 +- .../AArch64/arm64-triv-disjoint-mem-access.ll | 2 +- .../CodeGen/AArch64/branch-relax-block-size.mir | 2 +- llvm/test/CodeGen/AArch64/consthoist-gep.ll | 2 +- llvm/test/CodeGen/AArch64/cxx-tlscc.ll | 2 +- .../test/CodeGen/AArch64/dag-combine-invaraints.ll | 4 +- llvm/test/CodeGen/AArch64/large-stack.ll | 2 +- .../AArch64/loopvectorize_pr33804_double.ll | 2 +- .../CodeGen/AArch64/machine-outliner-all-stack.mir | 2 +- .../machine-outliner-compatible-candidates.mir | 2 +- .../AArch64/machine-outliner-drop-stack.mir | 2 +- .../CodeGen/AArch64/machine-outliner-regsave.mir | 2 +- .../CodeGen/AArch64/machine-outliner-remarks.ll | 2 +- .../machine-outliner-retaddr-sign-regsave.mir | 2 +- .../machine-outliner-retaddr-sign-sp-mod.mir | 2 +- .../CodeGen/AArch64/machine-outliner-size-info.mir | 2 +- .../AArch64/machine-outliner-unsafe-stack-call.mir | 2 +- llvm/test/CodeGen/AArch64/machine-outliner.mir | 2 +- llvm/test/CodeGen/AArch64/preferred-alignment.ll | 4 +- .../test/CodeGen/AArch64/sched-past-vector-ldst.ll | 2 +- llvm/test/CodeGen/AArch64/stack_guard_remat.ll | 2 +- .../test/CodeGen/AArch64/vector_merge_dep_check.ll | 2 +- llvm/test/CodeGen/AArch64/win64_vararg.ll | 2 +- llvm/test/CodeGen/AArch64/wineh-frame5.mir | 4 +- llvm/test/CodeGen/AArch64/wineh-frame6.mir | 4 +- llvm/test/CodeGen/AArch64/wineh-frame7.mir | 4 +- llvm/test/CodeGen/AArch64/wineh-frame8.mir | 2 +- llvm/test/CodeGen/AArch64/wineh5.mir | 4 +- llvm/test/CodeGen/AArch64/wineh_shrinkwrap.mir | 4 +- .../AMDGPU/GlobalISel/inst-select-fceil.mir | 82 + .../AMDGPU/GlobalISel/inst-select-fceil.s16.mir | 93 + .../AMDGPU/GlobalISel/inst-select-frint.s16.mir | 93 + .../GlobalISel/inst-select-intrinsic-trunc.mir | 82 + .../GlobalISel/inst-select-intrinsic-trunc.s16.mir | 69 + .../CodeGen/AMDGPU/GlobalISel/legalize-brcond.mir | 31 + .../CodeGen/AMDGPU/GlobalISel/legalize-fceil.mir | 12 +- .../AMDGPU/GlobalISel/legalize-intrinsic-trunc.mir | 12 +- .../CodeGen/AMDGPU/frame-lowering-fp-adjusted.mir | 2 +- llvm/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll | 2 +- llvm/test/CodeGen/ARM/2010-11-29-PrologueBug.ll | 2 +- llvm/test/CodeGen/ARM/2010-12-07-PEIBug.ll | 2 +- llvm/test/CodeGen/ARM/2011-08-25-ldmia_ret.ll | 2 +- llvm/test/CodeGen/ARM/2014-05-14-DwarfEHCrash.ll | 2 +- .../CodeGen/ARM/2016-05-01-RegScavengerAssert.ll | 2 +- llvm/test/CodeGen/ARM/ARMLoadStoreDBG.mir | 4 +- llvm/test/CodeGen/ARM/Windows/wineh-basic.ll | 4 +- llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll | 24 +- llvm/test/CodeGen/ARM/arm-storebytesmerge.ll | 2 +- llvm/test/CodeGen/ARM/byval_load_align.ll | 4 +- llvm/test/CodeGen/ARM/call-tc.ll | 20 +- llvm/test/CodeGen/ARM/cfguard-module-flag.ll | 2 +- llvm/test/CodeGen/ARM/clang-section.ll | 8 +- llvm/test/CodeGen/ARM/coalesce-dbgvalue.ll | 4 +- llvm/test/CodeGen/ARM/constantpool-promote-dbg.ll | 2 +- llvm/test/CodeGen/ARM/constantpool-promote.ll | 4 +- llvm/test/CodeGen/ARM/cxx-tlscc.ll | 14 +- llvm/test/CodeGen/ARM/debug-info-arg.ll | 2 +- llvm/test/CodeGen/ARM/disable-fp-elim.ll | 4 +- llvm/test/CodeGen/ARM/dwarf-unwind.ll | 2 +- llvm/test/CodeGen/ARM/early-cfi-sections.ll | 2 +- llvm/test/CodeGen/ARM/global-merge-1.ll | 6 +- llvm/test/CodeGen/ARM/hello.ll | 2 +- llvm/test/CodeGen/ARM/ifcvt-iter-indbr.ll | 2 +- llvm/test/CodeGen/ARM/ifcvt10.ll | 2 +- llvm/test/CodeGen/ARM/ifcvt5.ll | 4 +- llvm/test/CodeGen/ARM/insn-sched1.ll | 2 +- llvm/test/CodeGen/ARM/isel-v8i32-crash.ll | 2 +- llvm/test/CodeGen/ARM/ldrd.ll | 18 +- llvm/test/CodeGen/ARM/loopvectorize_pr33804.ll | 2 +- llvm/test/CodeGen/ARM/lsr-unfolded-offset.ll | 2 +- llvm/test/CodeGen/ARM/memcpy-ldm-stm.ll | 4 +- llvm/test/CodeGen/ARM/memfunc.ll | 18 +- llvm/test/CodeGen/ARM/noreturn.ll | 10 +- llvm/test/CodeGen/ARM/out-of-registers.ll | 2 +- llvm/test/CodeGen/ARM/sched-it-debug-nodes.mir | 4 +- .../CodeGen/ARM/stack-protector-bmovpcb_call.ll | 4 +- llvm/test/CodeGen/ARM/stack-size-section.ll | 2 +- llvm/test/CodeGen/ARM/stack_guard_remat.ll | 2 +- llvm/test/CodeGen/ARM/struct-byval-frame-index.ll | 2 +- llvm/test/CodeGen/ARM/swiftself.ll | 12 +- llvm/test/CodeGen/ARM/unschedule-first-call.ll | 2 +- llvm/test/CodeGen/ARM/urem-opt-size.ll | 2 +- llvm/test/CodeGen/ARM/v7k-abi-align.ll | 22 +- llvm/test/CodeGen/ARM/vector-spilling.ll | 2 +- llvm/test/CodeGen/ARM/vldm-sched-a9.ll | 2 +- llvm/test/CodeGen/ARM/warn-stack.ll | 4 +- llvm/test/CodeGen/BPF/BTF/binary-format.ll | 2 +- llvm/test/CodeGen/BPF/BTF/char-no-debuginfo.ll | 2 +- llvm/test/CodeGen/BPF/BTF/extern-global-var.ll | 2 +- llvm/test/CodeGen/BPF/BTF/filename.ll | 2 +- llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll | 2 +- llvm/test/CodeGen/BPF/BTF/func-non-void.ll | 2 +- llvm/test/CodeGen/BPF/BTF/func-source.ll | 2 +- llvm/test/CodeGen/BPF/BTF/func-typedef.ll | 2 +- llvm/test/CodeGen/BPF/BTF/func-unused-arg.ll | 2 +- llvm/test/CodeGen/BPF/BTF/func-void.ll | 2 +- llvm/test/CodeGen/BPF/BTF/local-var.ll | 2 +- .../CodeGen/BPF/BTF/static-var-derived-type.ll | 2 +- llvm/test/CodeGen/BPF/BTF/static-var-inited-sec.ll | 2 +- llvm/test/CodeGen/BPF/BTF/static-var-inited.ll | 2 +- .../CodeGen/BPF/BTF/static-var-readonly-sec.ll | 2 +- llvm/test/CodeGen/BPF/BTF/static-var-readonly.ll | 2 +- llvm/test/CodeGen/BPF/BTF/static-var-sec.ll | 2 +- .../CodeGen/BPF/BTF/static-var-zerolen-array.ll | 2 +- llvm/test/CodeGen/BPF/BTF/static-var.ll | 2 +- llvm/test/CodeGen/BPF/CORE/intrinsic-array.ll | 4 +- llvm/test/CodeGen/BPF/CORE/intrinsic-struct.ll | 4 +- llvm/test/CodeGen/BPF/CORE/intrinsic-union.ll | 4 +- llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll | 2 +- .../CodeGen/BPF/CORE/offset-reloc-multilevel.ll | 2 +- .../BPF/CORE/offset-reloc-struct-anonymous.ll | 2 +- .../CodeGen/BPF/CORE/offset-reloc-struct-array.ll | 2 +- llvm/test/CodeGen/BPF/CORE/offset-reloc-union.ll | 2 +- llvm/test/CodeGen/BPF/dwarfdump.ll | 2 +- llvm/test/CodeGen/BPF/objdump_two_funcs.ll | 2 +- llvm/test/CodeGen/BPF/reloc-btf-2.ll | 2 +- llvm/test/CodeGen/BPF/reloc-btf.ll | 2 +- llvm/test/CodeGen/BPF/warn-stack.ll | 4 +- llvm/test/CodeGen/BPF/xadd.ll | 2 +- llvm/test/CodeGen/Generic/DbgValueAggregate.ll | 2 +- llvm/test/CodeGen/Generic/cfi-sections.ll | 4 +- llvm/test/CodeGen/Hexagon/NVJumpCmp.ll | 2 +- llvm/test/CodeGen/Hexagon/addh-sext-trunc.ll | 2 +- llvm/test/CodeGen/Hexagon/alu64.ll | 2 +- llvm/test/CodeGen/Hexagon/base-offset-addr.ll | 2 +- llvm/test/CodeGen/Hexagon/base-offset-post.ll | 2 +- llvm/test/CodeGen/Hexagon/bit-loop-rc-mismatch.ll | 4 +- llvm/test/CodeGen/Hexagon/builtin-prefetch.ll | 2 +- llvm/test/CodeGen/Hexagon/cfi-offset.ll | 2 +- llvm/test/CodeGen/Hexagon/cmp-extend.ll | 2 +- llvm/test/CodeGen/Hexagon/cmp.ll | 2 +- llvm/test/CodeGen/Hexagon/constp-combine-neg.ll | 2 +- llvm/test/CodeGen/Hexagon/constp-extract.ll | 2 +- llvm/test/CodeGen/Hexagon/constp-physreg.ll | 2 +- llvm/test/CodeGen/Hexagon/dead-store-stack.ll | 4 +- llvm/test/CodeGen/Hexagon/dealloc_return.ll | 2 +- .../CodeGen/Hexagon/early-if-conversion-bug1.ll | 4 +- llvm/test/CodeGen/Hexagon/ehabi.ll | 2 +- llvm/test/CodeGen/Hexagon/fminmax.ll | 2 +- llvm/test/CodeGen/Hexagon/fpelim-basic.ll | 4 +- llvm/test/CodeGen/Hexagon/hasfp-crash1.ll | 2 +- llvm/test/CodeGen/Hexagon/hasfp-crash2.ll | 2 +- .../Hexagon/hexagon_vector_loop_carried_reuse.ll | 2 +- .../hexagon_vector_loop_carried_reuse_constant.ll | 2 +- llvm/test/CodeGen/Hexagon/hwloop-crit-edge.ll | 2 +- llvm/test/CodeGen/Hexagon/hwloop-preheader.ll | 2 +- llvm/test/CodeGen/Hexagon/insert4.ll | 2 +- llvm/test/CodeGen/Hexagon/jt-in-text.ll | 2 +- llvm/test/CodeGen/Hexagon/mem-fi-add.ll | 4 +- llvm/test/CodeGen/Hexagon/memops-stack.ll | 4 +- llvm/test/CodeGen/Hexagon/pic-regusage.ll | 2 +- llvm/test/CodeGen/Hexagon/postinc-offset.ll | 2 +- llvm/test/CodeGen/Hexagon/rdf-dead-loop.ll | 2 +- llvm/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll | 2 +- llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll | 2 +- llvm/test/CodeGen/Hexagon/reg-scavengebug-3.ll | 4 +- llvm/test/CodeGen/Hexagon/runtime-stkchk.ll | 4 +- llvm/test/CodeGen/Hexagon/sdr-shr32.ll | 2 +- .../CodeGen/Hexagon/switch-lut-explicit-section.ll | 2 +- .../CodeGen/Hexagon/switch-lut-function-section.ll | 2 +- .../Hexagon/switch-lut-multiple-functions.ll | 2 +- .../CodeGen/Hexagon/switch-lut-text-section.ll | 2 +- llvm/test/CodeGen/Hexagon/swp-epilog-phi10.ll | 2 +- llvm/test/CodeGen/Hexagon/swp-prolog-phi4.ll | 2 +- llvm/test/CodeGen/Hexagon/swp-stages4.ll | 2 +- llvm/test/CodeGen/Hexagon/usr-ovf-dep.ll | 2 +- llvm/test/CodeGen/Hexagon/v60Intrins.ll | 2 +- llvm/test/CodeGen/Hexagon/v60small.ll | 2 +- llvm/test/CodeGen/Hexagon/v6vec-vprint.ll | 2 +- llvm/test/CodeGen/Hexagon/vec-pred-spill1.ll | 4 +- llvm/test/CodeGen/Hexagon/vect/vect-bad-bitcast.ll | 4 +- llvm/test/CodeGen/Hexagon/vect/vect-extract.ll | 2 +- llvm/test/CodeGen/Hexagon/vect/vect-shuffle.ll | 2 +- llvm/test/CodeGen/Hexagon/vect/vect-v4i16.ll | 2 +- llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll | 2 +- llvm/test/CodeGen/Hexagon/vect/vect-xor.ll | 2 +- llvm/test/CodeGen/MIR/X86/cfi-def-cfa-register.mir | 2 +- llvm/test/CodeGen/MIR/X86/dead-register-flag.mir | 2 +- ...expected-metadata-node-after-debug-location.mir | 2 +- .../X86/expected-metadata-node-after-exclaim.mir | 2 +- .../MIR/X86/fixed-stack-memory-operands.mir | 2 +- .../X86/fixed-stack-object-redefinition-error.mir | 2 +- llvm/test/CodeGen/MIR/X86/fixed-stack-objects.mir | 2 +- .../MIR/X86/instructions-debug-location.mir | 2 +- llvm/test/CodeGen/MIR/X86/metadata-operands.mir | 2 +- .../CodeGen/MIR/X86/register-mask-operands.mir | 2 +- .../X86/spill-slot-fixed-stack-object-aliased.mir | 2 +- .../spill-slot-fixed-stack-object-immutable.mir | 2 +- .../MIR/X86/spill-slot-fixed-stack-objects.mir | 2 +- .../MIR/X86/stack-object-redefinition-error.mir | 2 +- llvm/test/CodeGen/MIR/X86/stack-objects.mir | 2 +- llvm/test/CodeGen/MIR/X86/undef-register-flag.mir | 2 +- .../test/CodeGen/MIR/X86/unknown-metadata-node.mir | 2 +- llvm/test/CodeGen/MSP430/cc_args.ll | 2 +- llvm/test/CodeGen/MSP430/cc_ret.ll | 2 +- .../CodeGen/MSP430/transient-stack-alignment.ll | 2 +- llvm/test/CodeGen/Mips/Fast-ISel/br1.ll | 2 +- llvm/test/CodeGen/Mips/Fast-ISel/loadstore2.ll | 2 +- llvm/test/CodeGen/Mips/Fast-ISel/loadstrconst.ll | 2 +- llvm/test/CodeGen/Mips/Fast-ISel/logopm.ll | 4 +- llvm/test/CodeGen/Mips/Fast-ISel/simplestorefp1.ll | 2 +- llvm/test/CodeGen/Mips/Fast-ISel/simplestorei.ll | 2 +- llvm/test/CodeGen/Mips/beqzc.ll | 2 +- llvm/test/CodeGen/Mips/beqzc1.ll | 2 +- llvm/test/CodeGen/Mips/brsize3.ll | 2 +- llvm/test/CodeGen/Mips/brsize3a.ll | 2 +- llvm/test/CodeGen/Mips/ci2.ll | 2 +- llvm/test/CodeGen/Mips/cmplarge.ll | 4 +- llvm/test/CodeGen/Mips/const1.ll | 2 +- llvm/test/CodeGen/Mips/const4a.ll | 4 +- llvm/test/CodeGen/Mips/const6.ll | 4 +- llvm/test/CodeGen/Mips/const6a.ll | 2 +- llvm/test/CodeGen/Mips/ctlz.ll | 2 +- llvm/test/CodeGen/Mips/delay-slot-fill-forward.ll | 2 +- llvm/test/CodeGen/Mips/f16abs.ll | 4 +- llvm/test/CodeGen/Mips/fp16instrinsmc.ll | 4 +- llvm/test/CodeGen/Mips/fpneeded.ll | 2 +- llvm/test/CodeGen/Mips/fpnotneeded.ll | 2 +- llvm/test/CodeGen/Mips/hf16call32.ll | 4 +- llvm/test/CodeGen/Mips/hf16call32_body.ll | 2 +- llvm/test/CodeGen/Mips/hfptrcall.ll | 4 +- llvm/test/CodeGen/Mips/l3mc.ll | 2 +- llvm/test/CodeGen/Mips/lcb2.ll | 2 +- llvm/test/CodeGen/Mips/lcb3c.ll | 2 +- llvm/test/CodeGen/Mips/lcb4a.ll | 2 +- llvm/test/CodeGen/Mips/lcb5.ll | 2 +- llvm/test/CodeGen/Mips/mbrsize4a.ll | 4 +- llvm/test/CodeGen/Mips/micromips-attr.ll | 4 +- llvm/test/CodeGen/Mips/mips16-hf-attr-2.ll | 12 +- llvm/test/CodeGen/Mips/mips16-hf-attr.ll | 12 +- llvm/test/CodeGen/Mips/mips16_32_1.ll | 2 +- llvm/test/CodeGen/Mips/mips16_32_10.ll | 6 +- llvm/test/CodeGen/Mips/mips16_32_3.ll | 6 +- llvm/test/CodeGen/Mips/mips16_32_4.ll | 6 +- llvm/test/CodeGen/Mips/mips16_32_5.ll | 6 +- llvm/test/CodeGen/Mips/mips16_32_6.ll | 6 +- llvm/test/CodeGen/Mips/mips16_32_7.ll | 6 +- llvm/test/CodeGen/Mips/mips16_32_8.ll | 8 +- llvm/test/CodeGen/Mips/mips16_32_9.ll | 6 +- llvm/test/CodeGen/Mips/no-frame-pointer-elim.ll | 2 +- llvm/test/CodeGen/Mips/nomips16.ll | 4 +- llvm/test/CodeGen/Mips/pbqp-reserved-physreg.ll | 2 +- llvm/test/CodeGen/Mips/powif64_16.ll | 2 +- llvm/test/CodeGen/Mips/s2rem.ll | 4 +- llvm/test/CodeGen/Mips/sel1c.ll | 2 +- llvm/test/CodeGen/Mips/sel2c.ll | 2 +- llvm/test/CodeGen/Mips/simplebr.ll | 4 +- llvm/test/CodeGen/Mips/sr1.ll | 4 +- llvm/test/CodeGen/Mips/stack-alignment.ll | 2 +- llvm/test/CodeGen/Mips/tnaked.ll | 4 +- llvm/test/CodeGen/NVPTX/bug21465.ll | 2 +- llvm/test/CodeGen/NVPTX/bug22322.ll | 2 +- llvm/test/CodeGen/NVPTX/pr17529.ll | 2 +- ...DisableHoistingDueToBlockHotnessProfileData.mir | 2 +- .../PowerPC/NoCRFieldRedefWhenSpillingCRBIT.mir | 2 +- .../CodeGen/PowerPC/aantidep-inline-asm-use.ll | 2 +- llvm/test/CodeGen/PowerPC/addi-offset-fold.ll | 2 +- llvm/test/CodeGen/PowerPC/addisdtprelha-nonr3.mir | 2 +- llvm/test/CodeGen/PowerPC/addrfuncstr.ll | 4 +- llvm/test/CodeGen/PowerPC/asm-constraints.ll | 2 +- llvm/test/CodeGen/PowerPC/asym-regclass-copy.ll | 2 +- ...convert-rr-to-ri-instrs-R0-special-handling.mir | 4 +- .../convert-rr-to-ri-instrs-out-of-range.mir | 2 +- .../CodeGen/PowerPC/convert-rr-to-ri-instrs.mir | 8 +- llvm/test/CodeGen/PowerPC/cr-spills.ll | 2 +- llvm/test/CodeGen/PowerPC/crypto_bifs.ll | 2 +- llvm/test/CodeGen/PowerPC/ctr-cleanup.ll | 2 +- llvm/test/CodeGen/PowerPC/ctrloop-intrin.ll | 2 +- llvm/test/CodeGen/PowerPC/cxx_tlscc64.ll | 2 +- llvm/test/CodeGen/PowerPC/div-e-32.ll | 2 +- llvm/test/CodeGen/PowerPC/div-e-all.ll | 2 +- llvm/test/CodeGen/PowerPC/ec-input.ll | 4 +- llvm/test/CodeGen/PowerPC/eh-dwarf-cfa.ll | 2 +- llvm/test/CodeGen/PowerPC/extra-toc-reg-deps.ll | 4 +- .../CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll | 2 +- llvm/test/CodeGen/PowerPC/frameaddr.ll | 4 +- llvm/test/CodeGen/PowerPC/glob-comp-aa-crash.ll | 6 +- .../CodeGen/PowerPC/ifcvt-forked-bug-2016-08-08.ll | 2 +- llvm/test/CodeGen/PowerPC/isel-rc-nox0.ll | 2 +- llvm/test/CodeGen/PowerPC/negctr.ll | 2 +- llvm/test/CodeGen/PowerPC/no-dup-spill-fp.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc-empty-fs.ll | 2 +- llvm/test/CodeGen/PowerPC/ppc32-lshrti3.ll | 2 +- llvm/test/CodeGen/PowerPC/pr17168.ll | 2 +- llvm/test/CodeGen/PowerPC/pr17354.ll | 2 +- llvm/test/CodeGen/PowerPC/pr18663-2.ll | 6 +- llvm/test/CodeGen/PowerPC/pr24546.ll | 4 +- llvm/test/CodeGen/PowerPC/pr27350.ll | 2 +- llvm/test/CodeGen/PowerPC/pr28130.ll | 2 +- llvm/test/CodeGen/PowerPC/reloc-align.ll | 2 +- .../test/CodeGen/PowerPC/rlwinm_rldicl_to_andi.mir | 2 +- llvm/test/CodeGen/PowerPC/save-bp.ll | 2 +- llvm/test/CodeGen/PowerPC/save-cr-ppc32svr4.ll | 2 +- llvm/test/CodeGen/PowerPC/save-crbp-ppc32svr4.ll | 2 +- llvm/test/CodeGen/PowerPC/setcr_bc.mir | 4 +- llvm/test/CodeGen/PowerPC/setcr_bc2.mir | 4 +- llvm/test/CodeGen/PowerPC/sjlj.ll | 2 +- llvm/test/CodeGen/PowerPC/stwu-sched.ll | 2 +- llvm/test/CodeGen/PowerPC/toc-load-sched-bug.ll | 12 +- llvm/test/CodeGen/PowerPC/unal4-std.ll | 2 +- llvm/test/CodeGen/PowerPC/uwtables.ll | 2 +- llvm/test/CodeGen/PowerPC/zero-not-run.ll | 2 +- llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll | 2 +- llvm/test/CodeGen/RISCV/interrupt-attr.ll | 2 +- llvm/test/CodeGen/SPARC/exception.ll | 2 +- llvm/test/CodeGen/SPARC/inlineasm.ll | 2 +- llvm/test/CodeGen/SystemZ/Large/branch-01.ll | 4 +- llvm/test/CodeGen/SystemZ/cond-move-05.mir | 2 +- llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll | 6 +- llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll | 6 +- llvm/test/CodeGen/SystemZ/ipra-04.ll | 2 +- llvm/test/CodeGen/SystemZ/stack-size-section.ll | 2 +- llvm/test/CodeGen/SystemZ/subregliveness-01.ll | 2 +- llvm/test/CodeGen/SystemZ/subregliveness-02.ll | 2 +- llvm/test/CodeGen/SystemZ/subregliveness-03.ll | 4 +- llvm/test/CodeGen/SystemZ/subregliveness-04.ll | 2 +- llvm/test/CodeGen/SystemZ/subregliveness-05.ll | 2 +- llvm/test/CodeGen/SystemZ/subregliveness-06.mir | 2 +- llvm/test/CodeGen/Thumb/PR17309.ll | 4 +- llvm/test/CodeGen/Thumb/PR35481.ll | 2 +- llvm/test/CodeGen/Thumb/callee_save.ll | 6 +- llvm/test/CodeGen/Thumb/fastcc.ll | 2 +- llvm/test/CodeGen/Thumb/large-stack.ll | 6 +- llvm/test/CodeGen/Thumb/ldm-merge-call.ll | 4 +- llvm/test/CodeGen/Thumb/stack_guard_remat.ll | 2 +- llvm/test/CodeGen/Thumb/stm-merge.ll | 2 +- llvm/test/CodeGen/Thumb/stm-scavenging.ll | 4 +- llvm/test/CodeGen/Thumb2/2009-07-21-ISelBug.ll | 2 +- llvm/test/CodeGen/Thumb2/2010-11-22-EpilogueBug.ll | 2 +- llvm/test/CodeGen/Thumb2/aligned-spill.ll | 6 +- llvm/test/CodeGen/Thumb2/frame-pointer.ll | 16 +- llvm/test/CodeGen/Thumb2/mve-vpt-block.mir | 2 +- llvm/test/CodeGen/Thumb2/mve-vpt-block2.mir | 2 +- llvm/test/CodeGen/Thumb2/mve-vpt-block3.mir | 2 +- llvm/test/CodeGen/Thumb2/mve-vpt-block4.mir | 2 +- llvm/test/CodeGen/Thumb2/mve-vpt-block5.mir | 2 +- llvm/test/CodeGen/Thumb2/mve-vpt-block6.mir | 2 +- llvm/test/CodeGen/Thumb2/mve-vpt-block7.mir | 2 +- llvm/test/CodeGen/Thumb2/mve-vpt-block8.mir | 2 +- llvm/test/CodeGen/Thumb2/stack_guard_remat.ll | 2 +- llvm/test/CodeGen/Thumb2/t2sizereduction.mir | 2 +- llvm/test/CodeGen/Thumb2/thumb2-ldm.ll | 8 +- llvm/test/CodeGen/WebAssembly/indirect-import.ll | 4 +- llvm/test/CodeGen/WebAssembly/negative-base-reg.ll | 2 +- llvm/test/CodeGen/WinCFGuard/cfguard.ll | 4 +- llvm/test/CodeGen/WinEH/wineh-statenumbering.ll | 2 +- llvm/test/CodeGen/X86/2013-03-13-VEX-DestReg.ll | 2 +- llvm/test/CodeGen/X86/2014-08-29-CompactUnwind.ll | 2 +- .../X86/GlobalISel/x86_64-legalize-sitofp.mir | 2 +- .../X86/GlobalISel/x86_64-select-sitofp.mir | 2 +- llvm/test/CodeGen/X86/atom-fixup-lea4.ll | 2 +- llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir | 2 +- llvm/test/CodeGen/X86/avoid-sfb-g-no-change2.mir | 2 +- llvm/test/CodeGen/X86/avoid-sfb-g-no-change3.mir | 2 +- llvm/test/CodeGen/X86/avoid-sfb-overlaps.ll | 2 +- llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll | 2 +- llvm/test/CodeGen/X86/avx512-intrinsics.ll | 28 +- llvm/test/CodeGen/X86/avx512dq-intrinsics.ll | 24 +- llvm/test/CodeGen/X86/avx512dqvl-intrinsics.ll | 120 +- .../CodeGen/X86/avx512vl-intrinsics-fast-isel.ll | 72 +- .../CodeGen/X86/avx512vl-intrinsics-upgrade.ll | 36 +- llvm/test/CodeGen/X86/avx512vl-intrinsics.ll | 12 +- llvm/test/CodeGen/X86/bit-piece-comment.ll | 2 +- llvm/test/CodeGen/X86/bug26810.ll | 12 +- llvm/test/CodeGen/X86/catchpad-regmask.ll | 2 +- llvm/test/CodeGen/X86/catchpad-weight.ll | 6 +- llvm/test/CodeGen/X86/cleanuppad-inalloca.ll | 2 +- .../CodeGen/X86/crash-lre-eliminate-dead-def.ll | 4 +- llvm/test/CodeGen/X86/cxx_tlscc64.ll | 2 +- .../X86/dbg-changes-codegen-branch-folding.ll | 4 +- llvm/test/CodeGen/X86/dbg-changes-codegen.ll | 4 +- llvm/test/CodeGen/X86/dbg-combine.ll | 2 +- llvm/test/CodeGen/X86/debugloc-argsize.ll | 2 +- llvm/test/CodeGen/X86/early-cfi-sections.ll | 2 +- llvm/test/CodeGen/X86/eh-frame-unreachable.ll | 2 +- llvm/test/CodeGen/X86/epilogue-cfi-fp.ll | 2 +- llvm/test/CodeGen/X86/float-conv-elim.ll | 2 +- llvm/test/CodeGen/X86/fold-call-oper.ll | 2 +- llvm/test/CodeGen/X86/fold-tied-op.ll | 2 +- llvm/test/CodeGen/X86/fp-elim-and-no-fp-elim.ll | 4 +- llvm/test/CodeGen/X86/fp-elim.ll | 4 +- llvm/test/CodeGen/X86/fp-intrinsics-flags.ll | 26 +- llvm/test/CodeGen/X86/fp-intrinsics.ll | 124 +- llvm/test/CodeGen/X86/fp-strict-scalar-fptoint.ll | 224 +- llvm/test/CodeGen/X86/fp128-g.ll | 4 +- llvm/test/CodeGen/X86/fp128-i128.ll | 4 +- llvm/test/CodeGen/X86/fp80-strict-scalar.ll | 4 +- llvm/test/CodeGen/X86/frame-order.ll | 4 +- llvm/test/CodeGen/X86/frameregister.ll | 2 +- .../X86/greedy_regalloc_bad_eviction_sequence.ll | 4 +- llvm/test/CodeGen/X86/i386-shrink-wrapping.ll | 2 +- llvm/test/CodeGen/X86/inline-asm-A-constraint.ll | 2 +- llvm/test/CodeGen/X86/label-annotation.ll | 4 +- llvm/test/CodeGen/X86/late-remat-update.mir | 4 +- llvm/test/CodeGen/X86/lea-opt-memop-check-1.ll | 2 +- llvm/test/CodeGen/X86/leaf-fp-elim.ll | 2 +- llvm/test/CodeGen/X86/lifetime-alias.ll | 6 +- llvm/test/CodeGen/X86/limit-split-cost.mir | 4 +- .../test/CodeGen/X86/machine-outliner-debuginfo.ll | 2 +- .../CodeGen/X86/machine-outliner-disubprogram.ll | 2 +- .../test/CodeGen/X86/machine-outliner-noredzone.ll | 2 +- .../test/CodeGen/X86/machine-outliner-tailcalls.ll | 2 +- llvm/test/CodeGen/X86/machine-outliner.ll | 2 +- llvm/test/CodeGen/X86/merge-sp-update-lea.ll | 2 +- .../X86/merge-vector-stores-scale-idx-crash.ll | 2 +- llvm/test/CodeGen/X86/misched-copy.ll | 2 +- llvm/test/CodeGen/X86/misched-matmul.ll | 2 +- .../CodeGen/X86/misched_phys_reg_assign_order.ll | 2 +- llvm/test/CodeGen/X86/movpc32-check.ll | 4 +- llvm/test/CodeGen/X86/ms-inline-asm-avx512.ll | 2 +- llvm/test/CodeGen/X86/nocf_check.ll | 2 +- llvm/test/CodeGen/X86/patchable-prologue.ll | 2 +- llvm/test/CodeGen/X86/pr15705.ll | 2 +- llvm/test/CodeGen/X86/pr18846.ll | 2 +- llvm/test/CodeGen/X86/pr20020.ll | 2 +- llvm/test/CodeGen/X86/pr31045.ll | 2 +- llvm/test/CodeGen/X86/pr32610.ll | 2 +- llvm/test/CodeGen/X86/pr34080-2.ll | 2 +- llvm/test/CodeGen/X86/pr34080.ll | 2 +- llvm/test/CodeGen/X86/pr34629.ll | 2 +- llvm/test/CodeGen/X86/pr34634.ll | 2 +- llvm/test/CodeGen/X86/prolog-push-seq.ll | 2 +- llvm/test/CodeGen/X86/push-cfi-obj.ll | 2 +- llvm/test/CodeGen/X86/push-cfi.ll | 2 +- .../CodeGen/X86/ragreedy-last-chance-recoloring.ll | 2 +- .../CodeGen/X86/regalloc-advanced-split-cost.ll | 2 +- llvm/test/CodeGen/X86/regparm.ll | 2 +- llvm/test/CodeGen/X86/scalar-fp-to-i64.ll | 24 +- llvm/test/CodeGen/X86/seh-catchpad.ll | 8 +- llvm/test/CodeGen/X86/seh-except-finally.ll | 8 +- llvm/test/CodeGen/X86/seh-no-invokes.ll | 4 +- llvm/test/CodeGen/X86/shrinkwrap-hang.ll | 2 +- llvm/test/CodeGen/X86/sjlj-baseptr.ll | 2 +- llvm/test/CodeGen/X86/stack-align.ll | 2 +- .../X86/stack-protector-vreg-to-vreg-copy.ll | 4 +- llvm/test/CodeGen/X86/stack-size-section.ll | 2 +- llvm/test/CodeGen/X86/stack_guard_remat.ll | 2 +- llvm/test/CodeGen/X86/tail-merge-wineh.ll | 2 +- llvm/test/CodeGen/X86/throws-cfi-fp.ll | 2 +- .../test/CodeGen/X86/tls-addr-non-leaf-function.ll | 4 +- llvm/test/CodeGen/X86/tls-shrink-wrapping.ll | 4 +- llvm/test/CodeGen/X86/unused_stackslots.ll | 4 +- llvm/test/CodeGen/X86/uwtables.ll | 2 +- llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll | 769 ++-- llvm/test/CodeGen/X86/vec-strict-fptoint-256.ll | 290 +- llvm/test/CodeGen/X86/vec-strict-fptoint-512.ll | 57 +- .../X86/vector-constrained-fp-intrinsics.ll | 1217 +++-- llvm/test/CodeGen/X86/vector-width-store-merge.ll | 4 +- llvm/test/CodeGen/X86/win-cleanuppad.ll | 4 +- llvm/test/CodeGen/X86/win32-seh-catchpad.ll | 2 +- llvm/test/CodeGen/X86/win32-seh-nested-finally.ll | 4 +- llvm/test/CodeGen/X86/win64_frame.ll | 18 +- llvm/test/CodeGen/X86/win_coreclr_chkstk.ll | 2 +- llvm/test/CodeGen/X86/x86-32-intrcc.ll | 2 +- llvm/test/CodeGen/X86/x86-64-baseptr.ll | 2 +- .../CodeGen/X86/x86-64-double-shifts-Oz-Os-O2.ll | 6 +- llvm/test/CodeGen/X86/x86-64-intrcc.ll | 2 +- .../test/CodeGen/X86/x86-64-stack-and-frame-ptr.ll | 2 +- .../CodeGen/X86/x86-sanitizer-shrink-wrapping.ll | 2 +- llvm/test/CodeGen/X86/x86-shrink-wrap-unwind.ll | 6 +- llvm/test/CodeGen/X86/x86-shrink-wrapping.ll | 4 +- llvm/test/DebugInfo/AArch64/machine-outliner.ll | 2 +- llvm/test/DebugInfo/ARM/PR16736.ll | 2 +- llvm/test/DebugInfo/ARM/lowerbdgdeclare_vla.ll | 2 +- .../ARM/multiple-constant-uses-drops-dbgloc.ll | 2 +- llvm/test/DebugInfo/COFF/array-odr-violation.ll | 2 +- llvm/test/DebugInfo/COFF/asan-module-ctor.ll | 2 +- llvm/test/DebugInfo/COFF/asm.ll | 4 +- llvm/test/DebugInfo/COFF/class-options-common.ll | 2 +- llvm/test/DebugInfo/COFF/comdat.ll | 10 +- llvm/test/DebugInfo/COFF/cpp-mangling.ll | 2 +- llvm/test/DebugInfo/COFF/defer-complete-type.ll | 2 +- llvm/test/DebugInfo/COFF/enum-co.ll | 2 +- llvm/test/DebugInfo/COFF/fpo-argsize.ll | 2 +- llvm/test/DebugInfo/COFF/fpo-csrs.ll | 4 +- llvm/test/DebugInfo/COFF/fpo-funclet.ll | 4 +- llvm/test/DebugInfo/COFF/fpo-realign-alloca.ll | 4 +- llvm/test/DebugInfo/COFF/fpo-realign-vframe.ll | 4 +- llvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll | 4 +- llvm/test/DebugInfo/COFF/fpo-stack-protect.ll | 4 +- llvm/test/DebugInfo/COFF/frameproc-flags.ll | 14 +- llvm/test/DebugInfo/COFF/function-options.ll | 2 +- llvm/test/DebugInfo/COFF/global-constants.ll | 4 +- llvm/test/DebugInfo/COFF/global-type-hashes.ll | 4 +- llvm/test/DebugInfo/COFF/global_visibility.ll | 4 +- llvm/test/DebugInfo/COFF/inheritance.ll | 4 +- llvm/test/DebugInfo/COFF/inlining-files.ll | 2 +- llvm/test/DebugInfo/COFF/inlining-header.ll | 2 +- llvm/test/DebugInfo/COFF/inlining-levels.ll | 2 +- llvm/test/DebugInfo/COFF/inlining-padding.ll | 2 +- llvm/test/DebugInfo/COFF/inlining.ll | 2 +- llvm/test/DebugInfo/COFF/lambda.ll | 4 +- llvm/test/DebugInfo/COFF/lexicalblock.ll | 2 +- llvm/test/DebugInfo/COFF/lines-difile.ll | 6 +- llvm/test/DebugInfo/COFF/local-constant.ll | 4 +- llvm/test/DebugInfo/COFF/local-variable-gap.ll | 6 +- llvm/test/DebugInfo/COFF/local-variables.ll | 4 +- llvm/test/DebugInfo/COFF/long-name.ll | 2 +- llvm/test/DebugInfo/COFF/multifile.ll | 4 +- llvm/test/DebugInfo/COFF/multifunction.ll | 4 +- llvm/test/DebugInfo/COFF/nrvo.ll | 4 +- llvm/test/DebugInfo/COFF/parameter-order.ll | 2 +- llvm/test/DebugInfo/COFF/pieces.ll | 8 +- llvm/test/DebugInfo/COFF/purge-typedef-udts.ll | 2 +- llvm/test/DebugInfo/COFF/register-variables.ll | 4 +- llvm/test/DebugInfo/COFF/retained-types.ll | 2 +- llvm/test/DebugInfo/COFF/scopes.ll | 2 +- llvm/test/DebugInfo/COFF/simple.ll | 4 +- llvm/test/DebugInfo/COFF/static-methods.ll | 4 +- .../COFF/tail-call-without-lexical-scopes.ll | 4 +- llvm/test/DebugInfo/COFF/thunk.ll | 10 +- llvm/test/DebugInfo/COFF/type-quals.ll | 2 +- llvm/test/DebugInfo/COFF/types-array.ll | 4 +- llvm/test/DebugInfo/COFF/types-basic.ll | 6 +- llvm/test/DebugInfo/COFF/types-calling-conv.ll | 4 +- llvm/test/DebugInfo/COFF/types-cvarargs.ll | 4 +- llvm/test/DebugInfo/COFF/types-data-members.ll | 4 +- .../DebugInfo/COFF/types-method-ref-qualifiers.ll | 2 +- llvm/test/DebugInfo/COFF/types-recursive-struct.ll | 2 +- .../test/DebugInfo/COFF/types-recursive-unnamed.ll | 2 +- llvm/test/DebugInfo/COFF/udts.ll | 2 +- llvm/test/DebugInfo/COFF/unnamed.ll | 2 +- llvm/test/DebugInfo/COFF/vframe-csr.ll | 4 +- llvm/test/DebugInfo/COFF/vframe-fpo.ll | 4 +- llvm/test/DebugInfo/COFF/vftables.ll | 8 +- llvm/test/DebugInfo/COFF/virtual-method-kinds.ll | 8 +- llvm/test/DebugInfo/COFF/virtual-methods.ll | 8 +- llvm/test/DebugInfo/COFF/vtable-optzn-array.ll | 4 +- .../Generic/2010-05-03-DisableFramePtr.ll | 2 +- llvm/test/DebugInfo/Generic/PR20038.ll | 4 +- llvm/test/DebugInfo/Generic/block-asan.ll | 4 +- llvm/test/DebugInfo/Generic/constant-pointers.ll | 2 +- llvm/test/DebugInfo/Generic/cross-cu-inlining.ll | 4 +- llvm/test/DebugInfo/Generic/cross-cu-linkonce.ll | 2 +- llvm/test/DebugInfo/Generic/cu-range-hole.ll | 2 +- llvm/test/DebugInfo/Generic/cu-ranges.ll | 2 +- llvm/test/DebugInfo/Generic/dead-argument-order.ll | 2 +- .../DebugInfo/Generic/debug-info-always-inline.ll | 6 +- llvm/test/DebugInfo/Generic/def-line.ll | 4 +- llvm/test/DebugInfo/Generic/directives-only.ll | 4 +- llvm/test/DebugInfo/Generic/discriminator.ll | 4 +- llvm/test/DebugInfo/Generic/enum-types.ll | 2 +- llvm/test/DebugInfo/Generic/enum.ll | 2 +- .../DebugInfo/Generic/extended-loc-directive.ll | 4 +- llvm/test/DebugInfo/Generic/global-sra-array.ll | 2 +- llvm/test/DebugInfo/Generic/global.ll | 2 +- .../Generic/incorrect-variable-debugloc.ll | 6 +- .../Generic/incorrect-variable-debugloc1.ll | 4 +- .../test/DebugInfo/Generic/inline-no-debug-info.ll | 2 +- llvm/test/DebugInfo/Generic/inline-scopes.ll | 4 +- llvm/test/DebugInfo/Generic/inlined-arguments.ll | 4 +- llvm/test/DebugInfo/Generic/inlined-strings.ll | 2 +- llvm/test/DebugInfo/Generic/lto-comp-dir.ll | 4 +- llvm/test/DebugInfo/Generic/mainsubprogram.ll | 2 +- llvm/test/DebugInfo/Generic/member-order.ll | 2 +- .../DebugInfo/Generic/missing-abstract-variable.ll | 4 +- llvm/test/DebugInfo/Generic/multiline.ll | 4 +- llvm/test/DebugInfo/Generic/namespace.ll | 2 +- .../Generic/namespace_function_definition.ll | 2 +- .../namespace_inline_function_definition.ll | 4 +- llvm/test/DebugInfo/Generic/piece-verifier.ll | 2 +- llvm/test/DebugInfo/Generic/recursive_inlining.ll | 4 +- llvm/test/DebugInfo/Generic/restrict.ll | 2 +- llvm/test/DebugInfo/Generic/tu-composite.ll | 2 +- .../test/DebugInfo/Generic/unconditional-branch.ll | 2 +- llvm/test/DebugInfo/Generic/version.ll | 2 +- llvm/test/DebugInfo/Inputs/gmlt.ll | 4 +- llvm/test/DebugInfo/Inputs/line.ll | 2 +- .../DebugInfo/MIR/X86/dbg-stack-value-range.mir | 2 +- llvm/test/DebugInfo/MIR/X86/kill-after-spill.mir | 2 +- .../DebugInfo/MIR/X86/live-debug-values-spill.mir | 4 +- llvm/test/DebugInfo/MIR/X86/mlicm-hoist.mir | 2 +- llvm/test/DebugInfo/Mips/fn-call-line.ll | 4 +- llvm/test/DebugInfo/NVPTX/cu-range-hole.ll | 2 +- llvm/test/DebugInfo/NVPTX/debug-info.ll | 2 +- llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll | 4 +- llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll | 2 +- llvm/test/DebugInfo/Sparc/gnu-window-save.ll | 4 +- llvm/test/DebugInfo/WebAssembly/dbg-loop-loc.ll | 2 +- .../test/DebugInfo/X86/DW_AT_calling-convention.ll | 2 +- .../DebugInfo/X86/DW_AT_stmt_list_sec_offset.ll | 2 +- llvm/test/DebugInfo/X86/addr_comments.ll | 2 +- llvm/test/DebugInfo/X86/arguments.ll | 2 +- llvm/test/DebugInfo/X86/coff_debug_info_type.ll | 2 +- llvm/test/DebugInfo/X86/coff_relative_names.ll | 2 +- .../X86/containing-type-extension-rust.ll | 6 +- llvm/test/DebugInfo/X86/cu-ranges-odr.ll | 2 +- llvm/test/DebugInfo/X86/cu-ranges.ll | 2 +- llvm/test/DebugInfo/X86/dbg_value_direct.ll | 4 +- llvm/test/DebugInfo/X86/debug-dead-local-var.ll | 2 +- llvm/test/DebugInfo/X86/debug-info-blocks.ll | 2 +- llvm/test/DebugInfo/X86/debug-loc-asan.mir | 2 +- llvm/test/DebugInfo/X86/debug-loc-offset.mir | 4 +- .../DebugInfo/X86/debug-macinfo-split-dwarf.ll | 5 + llvm/test/DebugInfo/X86/debug-ranges-offset.ll | 4 +- llvm/test/DebugInfo/X86/decl-derived-member.ll | 6 +- llvm/test/DebugInfo/X86/discriminator.ll | 2 +- llvm/test/DebugInfo/X86/discriminator2.ll | 4 +- llvm/test/DebugInfo/X86/discriminator3.ll | 4 +- .../DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll | 4 +- llvm/test/DebugInfo/X86/dwarf-linkage-names.ll | 2 +- llvm/test/DebugInfo/X86/dwarf-pubnames-split.ll | 2 +- .../DebugInfo/X86/dwarfdump-rnglists-dwarf64.s | 1 + llvm/test/DebugInfo/X86/dwarfdump-rnglists.s | 1 + llvm/test/DebugInfo/X86/fission-inline.ll | 4 +- llvm/test/DebugInfo/X86/fission-no-inlining.ll | 4 +- llvm/test/DebugInfo/X86/fission-ranges.ll | 2 +- llvm/test/DebugInfo/X86/generate-odr-hash.ll | 2 +- llvm/test/DebugInfo/X86/ghost-sdnode-dbgvalues.ll | 2 +- llvm/test/DebugInfo/X86/gnu-public-names-gmlt.ll | 4 +- llvm/test/DebugInfo/X86/gnu-public-names.ll | 2 +- llvm/test/DebugInfo/X86/inline-member-function.ll | 2 +- llvm/test/DebugInfo/X86/inline-seldag-test.ll | 2 +- llvm/test/DebugInfo/X86/invalid-unit-header.s | 29 + llvm/test/DebugInfo/X86/lexical_block.ll | 2 +- llvm/test/DebugInfo/X86/line-info.ll | 2 +- llvm/test/DebugInfo/X86/low-pc-cu.ll | 2 +- llvm/test/DebugInfo/X86/mi-print.ll | 2 +- llvm/test/DebugInfo/X86/no_debug_ranges.ll | 2 +- llvm/test/DebugInfo/X86/nodebug.ll | 2 +- llvm/test/DebugInfo/X86/nodebug_with_debug_loc.ll | 4 +- llvm/test/DebugInfo/X86/objc-property-void.ll | 2 +- llvm/test/DebugInfo/X86/pieces-1.ll | 2 +- llvm/test/DebugInfo/X86/pieces-3.ll | 2 +- llvm/test/DebugInfo/X86/pieces-4.ll | 4 +- llvm/test/DebugInfo/X86/pr19307.mir | 4 +- llvm/test/DebugInfo/X86/pr28270.ll | 4 +- llvm/test/DebugInfo/X86/safestack-byval.ll | 2 +- llvm/test/DebugInfo/X86/single-dbg_value.ll | 2 +- llvm/test/DebugInfo/X86/spill-nospill.ll | 4 +- .../DebugInfo/X86/split-dwarf-multiple-cu-hash.ll | 2 +- llvm/test/DebugInfo/X86/sret.ll | 6 +- llvm/test/DebugInfo/X86/sroasplit-2.ll | 2 +- llvm/test/DebugInfo/X86/stack-value-dwarf2.ll | 2 +- llvm/test/DebugInfo/X86/tls.ll | 2 +- llvm/test/DebugInfo/X86/tu-to-non-named-type.ll | 2 +- llvm/test/DebugInfo/X86/void-typedef.ll | 2 +- .../AddressSanitizer/global_metadata.ll | 2 +- .../AddressSanitizer/global_metadata_array.ll | 2 +- .../AddressSanitizer/global_metadata_windows.ll | 4 +- .../Instrumentation/DataFlowSanitizer/debug.ll | 2 +- .../MemorySanitizer/store-origin.ll | 2 +- .../SanitizerCoverage/coverage-dbg.ll | 2 +- .../SanitizerCoverage/coverage2-dbg.ll | 2 +- .../Instrumentation/SanitizerCoverage/wineh.ll | 6 +- llvm/test/JitListener/multiple.ll | 2 +- llvm/test/JitListener/simple.ll | 2 +- llvm/test/LTO/X86/objc-detection-i386.ll | 2 +- llvm/test/LTO/X86/objc-detection.ll | 2 +- .../test/Linker/Inputs/thinlto_funcimport_debug.ll | 4 +- .../Linker/Inputs/type-unique-inheritance-a.ll | 2 +- .../Linker/Inputs/type-unique-inheritance-b.ll | 6 +- llvm/test/Linker/Inputs/type-unique-simple2-a.ll | 2 +- llvm/test/Linker/Inputs/type-unique-simple2-b.ll | 6 +- llvm/test/Linker/thinlto_funcimport_debug.ll | 2 +- llvm/test/Linker/type-unique-simple-a.ll | 2 +- llvm/test/Linker/type-unique-simple-b.ll | 6 +- llvm/test/Linker/type-unique-type-array-a.ll | 4 +- llvm/test/Linker/type-unique-type-array-b.ll | 4 +- llvm/test/MC/AArch64/coff-debug.ll | 2 +- llvm/test/MC/ARM/inline-asm-srcloc.ll | 2 +- llvm/test/MC/COFF/cv-compiler-info.ll | 2 +- llvm/test/MC/ELF/cfi-version.ll | 4 +- llvm/test/MC/Hexagon/extended_relocations.ll | 4 +- llvm/test/MC/MachO/tlv-bss.ll | 2 +- llvm/test/MC/WebAssembly/debug-info.ll | 2 +- llvm/test/MC/WebAssembly/dwarfdump.ll | 2 +- llvm/test/MC/X86/Inputs/align-branch-64-1.s | 43 + llvm/test/MC/X86/Inputs/align-branch-64-2.s | 27 + llvm/test/MC/X86/align-branch-64-1a.s | 49 +- llvm/test/MC/X86/align-branch-64-1b.s | 2 +- llvm/test/MC/X86/align-branch-64-1c.s | 2 +- llvm/test/MC/X86/align-branch-64-1d.s | 4 +- llvm/test/MC/X86/align-branch-64-2a.s | 29 +- llvm/test/MC/X86/align-branch-64-2b.s | 2 +- llvm/test/MC/X86/align-branch-64-2c.s | 2 +- llvm/test/Other/attribute-comment.ll | 2 +- llvm/test/Other/print-module-scope.ll | 4 +- llvm/test/Transforms/ADCE/2016-09-06.ll | 2 +- .../ADCE/blocks-with-dead-term-nondeterministic.ll | 2 +- llvm/test/Transforms/AddDiscriminators/basic.ll | 2 +- .../Transforms/AddDiscriminators/call-nested.ll | 4 +- llvm/test/Transforms/AddDiscriminators/call.ll | 4 +- llvm/test/Transforms/AddDiscriminators/diamond.ll | 4 +- .../Transforms/AddDiscriminators/first-only.ll | 2 +- llvm/test/Transforms/AddDiscriminators/invoke.ll | 6 +- llvm/test/Transforms/AddDiscriminators/multiple.ll | 2 +- .../AddDiscriminators/no-discriminators.ll | 2 +- llvm/test/Transforms/AddDiscriminators/oneline.ll | 2 +- .../Attributor/IPConstantProp/naked-return.ll | 2 +- .../Transforms/Attributor/undefined_behavior.ll | 146 + .../CodeGenPrepare/ARM/bitreverse-recognize.ll | 2 +- .../Transforms/CodeGenPrepare/bitreverse-hang.ll | 2 +- llvm/test/Transforms/CodeGenPrepare/dom-tree.ll | 2 +- llvm/test/Transforms/ConstantHoisting/X86/ehpad.ll | 4 +- llvm/test/Transforms/Coroutines/coro-debug.ll | 4 +- llvm/test/Transforms/Coroutines/coro-split-dbg.ll | 8 +- llvm/test/Transforms/DeadArgElim/dbginfo.ll | 4 +- .../DeadStoreElimination/mda-with-dbg-values.ll | 2 +- .../FunctionImport/Inputs/funcimport_debug.ll | 2 +- .../Transforms/FunctionImport/funcimport_debug.ll | 4 +- llvm/test/Transforms/GCOVProfiling/global-ctor.ll | 2 +- llvm/test/Transforms/GCOVProfiling/linezero.ll | 4 +- llvm/test/Transforms/GCOVProfiling/return-block.ll | 4 +- llvm/test/Transforms/GVN/cond_br2.ll | 6 +- .../Transforms/GVNHoist/hoist-unsafe-pr31729.ll | 2 +- llvm/test/Transforms/GVNHoist/pr30499.ll | 4 +- .../test/Transforms/IPConstantProp/naked-return.ll | 2 +- llvm/test/Transforms/IndVarSimplify/widen-nsw.ll | 2 +- .../Transforms/Inline/alloca-dbgdeclare-merge.ll | 4 +- .../Inline/debug-info-duplicate-calls.ll | 6 +- llvm/test/Transforms/Inline/inline-vla.ll | 4 +- .../optimization-remarks-hotness-threshold.ll | 2 +- .../Inline/optimization-remarks-passed-yaml.ll | 2 +- .../test/Transforms/Inline/optimization-remarks.ll | 6 +- .../test/Transforms/InstCombine/bitreverse-hang.ll | 2 +- llvm/test/Transforms/InstCombine/copysign.ll | 14 + .../test/Transforms/InstCombine/div-shift-crash.ll | 2 +- .../InstCombine/mem-par-metadata-memcpy.ll | 2 +- llvm/test/Transforms/InstCombine/not.ll | 142 + .../InstCombine/select-extractelement.ll | 2 +- llvm/test/Transforms/JumpThreading/ddt-crash3.ll | 2 +- llvm/test/Transforms/LICM/volatile-alias.ll | 2 +- llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll | 2 +- .../different-addrspace-addressing-mode-loops.ll | 2 +- .../Transforms/LoopStrengthReduce/X86/pr17473.ll | 4 +- llvm/test/Transforms/LoopStrengthReduce/pr18165.ll | 4 +- .../LoopStrengthReduce/two-combinations-bug.ll | 2 +- .../LoopUnroll/runtime-epilog-debuginfo.ll | 2 +- .../Transforms/LoopVectorize/AArch64/pr33053.ll | 2 +- .../LoopVectorize/ARM/arm-ieee-vectorize.ll | 4 +- .../X86/illegal-parallel-loop-uniform-write.ll | 2 +- .../LoopVectorize/X86/int128_no_gather.ll | 4 +- .../Transforms/LoopVectorize/X86/scatter_crash.ll | 2 +- .../X86/tail_folding_and_assume_safety.ll | 2 +- .../X86/vectorization-remarks-profitable.ll | 2 +- llvm/test/Transforms/LoopVectorize/dbg.value.ll | 2 +- llvm/test/Transforms/LoopVectorize/debugloc.ll | 2 +- .../LoopVectorize/diag-missing-instr-debug-loc.ll | 2 +- .../LoopVectorize/diag-with-hotness-info-2.ll | 2 +- .../LoopVectorize/diag-with-hotness-info.ll | 2 +- .../Transforms/LoopVectorize/incorrect-dom-info.ll | 2 +- .../Transforms/LoopVectorize/metadata-width.ll | 2 +- .../LoopVectorize/multiple-address-spaces.ll | 2 +- .../LoopVectorize/runtime-check-address-space.ll | 2 +- .../runtime-check-readonly-address-space.ll | 2 +- .../Transforms/LoopVectorize/scev-exitlim-crash.ll | 4 +- .../Transforms/LoopVectorize/vectorize-once.ll | 2 +- .../Transforms/MergeICmps/X86/int64-and-ptr.ll | 2 +- llvm/test/Transforms/MergeICmps/X86/pr41917.ll | 4 +- llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll | 2 +- llvm/test/Transforms/NewGVN/cond_br2.ll | 6 +- llvm/test/Transforms/NewGVN/equivalent-phi.ll | 2 +- llvm/test/Transforms/NewGVN/memory-handling.ll | 6 +- llvm/test/Transforms/NewGVN/phi-edge-handling.ll | 2 +- llvm/test/Transforms/NewGVN/pr31483.ll | 4 +- llvm/test/Transforms/NewGVN/pr31501.ll | 2 +- llvm/test/Transforms/NewGVN/pr33187.ll | 2 +- llvm/test/Transforms/NewGVN/pr33305.ll | 4 +- llvm/test/Transforms/NewGVN/pr34430.ll | 2 +- llvm/test/Transforms/NewGVN/pr34452.ll | 2 +- .../Reassociate/reassociate-landingpad.ll | 2 +- .../NVPTX/non-vectorizable-intrinsic.ll | 2 +- .../SLPVectorizer/X86/consecutive-access.ll | 2 +- .../Transforms/SLPVectorizer/X86/crash_bullet3.ll | 2 +- .../Transforms/SLPVectorizer/X86/crash_flop7.ll | 2 +- .../Transforms/SLPVectorizer/X86/crash_smallpt.ll | 2 +- .../Transforms/SLPVectorizer/X86/debug_info.ll | 2 +- .../X86/insert-element-build-vector.ll | 2 +- llvm/test/Transforms/SLPVectorizer/X86/pr16899.ll | 2 +- .../Transforms/SLPVectorizer/X86/vector_gep.ll | 2 +- llvm/test/Transforms/SROA/mem-par-metadata-sroa.ll | 2 +- llvm/test/Transforms/SafeStack/ARM/debug.ll | 6 +- llvm/test/Transforms/SafeStack/X86/debug-loc.ll | 4 +- llvm/test/Transforms/SafeStack/X86/debug-loc2.ll | 4 +- llvm/test/Transforms/SampleProfile/branch.ll | 6 +- .../Transforms/SampleProfile/entry_counts_cold.ll | 4 +- .../SampleProfile/entry_counts_missing_dbginfo.ll | 4 +- llvm/test/Transforms/SampleProfile/gcc-simple.ll | 4 +- llvm/test/Transforms/SampleProfile/inline-act.ll | 2 +- llvm/test/Transforms/SampleProfile/offset.ll | 2 +- llvm/test/Transforms/SampleProfile/propagate.ll | 6 +- llvm/test/Transforms/SampleProfile/remarks.ll | 4 +- llvm/test/Transforms/Scalarizer/dbginfo.ll | 2 +- .../SimplifyCFG/Hexagon/switch-to-lookup-table.ll | 2 +- .../Transforms/SimplifyCFG/merge-cleanuppads.ll | 4 +- .../Transforms/SimplifyCFG/volatile-phioper.ll | 4 +- .../StraightLineStrengthReduce/AMDGPU/pr23975.ll | 2 +- llvm/test/Transforms/Util/dbg-user-of-aext.ll | 2 +- .../Transforms/Util/libcalls-fast-math-inf-loop.ll | 4 +- llvm/test/tools/dsymutil/Inputs/frame-dw2.ll | 4 +- llvm/test/tools/dsymutil/Inputs/frame-dw4.ll | 4 +- llvm/test/tools/gold/X86/split-dwarf.ll | 2 +- llvm/test/tools/llvm-dwarfdump/X86/exprloc.s | 101 + llvm/test/tools/llvm-lib/Inputs/arm64.ll | 2 +- llvm/test/tools/llvm-lib/Inputs/i386.ll | 2 +- llvm/test/tools/llvm-lib/Inputs/x86_64.ll | 2 +- .../test/tools/llvm-objdump/AMDGPU/source-lines.ll | 2 +- .../Hexagon/source-interleave-hexagon.ll | 2 +- .../source-interleave-same-line-different-file.ll | 2 +- .../llvm-objdump/X86/Inputs/source-interleave.ll | 2 +- .../X86/disassemble-archive-with-source.ll | 2 +- .../llvm-readobj/ELF/Inputs/relocs.obj.elf-x86_64 | Bin 1984 -> 0 bytes .../ELF/Inputs/symbols-proc-specific.elf-hexagon | Bin 600 -> 0 bytes llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test | 130 +- .../llvm-readobj/ELF/file-header-abi-version.test | 47 + .../tools/llvm-readobj/ELF/file-header-os-abi.test | 305 ++ llvm/test/tools/llvm-readobj/ELF/gnu-symbols.test | 57 - llvm/test/tools/llvm-readobj/ELF/symbols.test | 143 +- llvm/tools/CMakeLists.txt | 1 + llvm/tools/llvm-readobj/ELFDumper.cpp | 90 +- llvm/unittests/ADT/StringRefTest.cpp | 7 + mlir/.clang-format | 2 + mlir/CMakeLists.txt | 108 + mlir/LICENSE.TXT | 234 + mlir/README.md | 3 + mlir/docs/Canonicalization.md | 64 + mlir/docs/ConversionToLLVMDialect.md | 443 ++ mlir/docs/DeclarativeRewrites.md | 690 +++ mlir/docs/DefiningAttributesAndTypes.md | 282 ++ mlir/docs/Diagnostics.md | 402 ++ mlir/docs/DialectConversion.md | 277 ++ mlir/docs/Dialects/Affine.md | 610 +++ mlir/docs/Dialects/GPU.md | 132 + mlir/docs/Dialects/LLVM.md | 429 ++ mlir/docs/Dialects/Linalg.md | 8 + mlir/docs/Dialects/SPIR-V.md | 1039 +++++ mlir/docs/Dialects/Standard.md | 1146 +++++ mlir/docs/Dialects/Vector.md | 14 + mlir/docs/EDSC.md | 132 + mlir/docs/GenericDAGRewriter.md | 415 ++ mlir/docs/Interfaces.md | 200 + mlir/docs/LangRef.md | 1497 ++++++ mlir/docs/MLIRForGraphAlgorithms.md | 403 ++ mlir/docs/OpDefinitions.md | 1210 +++++ mlir/docs/Passes.md | 298 ++ mlir/docs/Quantization.md | 359 ++ mlir/docs/QuickstartRewrites.md | 255 ++ mlir/docs/Rationale.md | 1121 +++++ mlir/docs/RationaleSimplifiedPolyhedralForm.md | 415 ++ mlir/docs/Traits.md | 246 + mlir/docs/Tutorials/Toy/Ch-1.md | 169 + mlir/docs/Tutorials/Toy/Ch-2.md | 577 +++ mlir/docs/Tutorials/Toy/Ch-3.md | 264 ++ mlir/docs/Tutorials/Toy/Ch-4.md | 387 ++ mlir/docs/Tutorials/Toy/Ch-5.md | 357 ++ mlir/docs/Tutorials/Toy/Ch-6.md | 323 ++ mlir/docs/Tutorials/Toy/Ch-7.md | 539 +++ mlir/docs/UsageOfConst.md | 272 ++ mlir/docs/WritingAPass.md | 835 ++++ mlir/docs/includes/img/index-map.svg | 380 ++ mlir/docs/includes/img/view-operation.svg | 580 +++ mlir/examples/CMakeLists.txt | 1 + mlir/examples/toy/CMakeLists.txt | 15 + mlir/examples/toy/Ch1/CMakeLists.txt | 12 + mlir/examples/toy/Ch1/include/toy/AST.h | 242 + mlir/examples/toy/Ch1/include/toy/Lexer.h | 232 + mlir/examples/toy/Ch1/include/toy/Parser.h | 485 ++ mlir/examples/toy/Ch1/parser/AST.cpp | 234 + mlir/examples/toy/Ch1/toyc.cpp | 66 + mlir/examples/toy/Ch2/CMakeLists.txt | 21 + mlir/examples/toy/Ch2/include/CMakeLists.txt | 1 + mlir/examples/toy/Ch2/include/toy/AST.h | 242 + mlir/examples/toy/Ch2/include/toy/CMakeLists.txt | 4 + mlir/examples/toy/Ch2/include/toy/Dialect.h | 44 + mlir/examples/toy/Ch2/include/toy/Lexer.h | 232 + mlir/examples/toy/Ch2/include/toy/MLIRGen.h | 32 + mlir/examples/toy/Ch2/include/toy/Ops.td | 220 + mlir/examples/toy/Ch2/include/toy/Parser.h | 485 ++ mlir/examples/toy/Ch2/mlir/Dialect.cpp | 180 + mlir/examples/toy/Ch2/mlir/MLIRGen.cpp | 452 ++ mlir/examples/toy/Ch2/parser/AST.cpp | 234 + mlir/examples/toy/Ch2/toyc.cpp | 137 + mlir/examples/toy/Ch3/CMakeLists.txt | 31 + mlir/examples/toy/Ch3/include/CMakeLists.txt | 1 + mlir/examples/toy/Ch3/include/toy/AST.h | 242 + mlir/examples/toy/Ch3/include/toy/CMakeLists.txt | 4 + mlir/examples/toy/Ch3/include/toy/Dialect.h | 44 + mlir/examples/toy/Ch3/include/toy/Lexer.h | 232 + mlir/examples/toy/Ch3/include/toy/MLIRGen.h | 32 + mlir/examples/toy/Ch3/include/toy/Ops.td | 226 + mlir/examples/toy/Ch3/include/toy/Parser.h | 485 ++ mlir/examples/toy/Ch3/mlir/Dialect.cpp | 180 + mlir/examples/toy/Ch3/mlir/MLIRGen.cpp | 452 ++ mlir/examples/toy/Ch3/mlir/ToyCombine.cpp | 69 + mlir/examples/toy/Ch3/mlir/ToyCombine.td | 62 + mlir/examples/toy/Ch3/parser/AST.cpp | 234 + mlir/examples/toy/Ch3/toyc.cpp | 157 + mlir/examples/toy/Ch4/CMakeLists.txt | 35 + mlir/examples/toy/Ch4/include/CMakeLists.txt | 1 + mlir/examples/toy/Ch4/include/toy/AST.h | 242 + mlir/examples/toy/Ch4/include/toy/CMakeLists.txt | 9 + mlir/examples/toy/Ch4/include/toy/Dialect.h | 46 + mlir/examples/toy/Ch4/include/toy/Lexer.h | 232 + mlir/examples/toy/Ch4/include/toy/MLIRGen.h | 32 + mlir/examples/toy/Ch4/include/toy/Ops.td | 246 + mlir/examples/toy/Ch4/include/toy/Parser.h | 485 ++ mlir/examples/toy/Ch4/include/toy/Passes.h | 27 + .../toy/Ch4/include/toy/ShapeInferenceInterface.h | 28 + .../toy/Ch4/include/toy/ShapeInferenceInterface.td | 30 + .../toy/Ch4/mlir/DeadFunctionEliminationPass.cpp | 59 + mlir/examples/toy/Ch4/mlir/Dialect.cpp | 261 ++ mlir/examples/toy/Ch4/mlir/MLIRGen.cpp | 452 ++ mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp | 104 + mlir/examples/toy/Ch4/mlir/ToyCombine.cpp | 74 + mlir/examples/toy/Ch4/mlir/ToyCombine.td | 62 + mlir/examples/toy/Ch4/parser/AST.cpp | 234 + mlir/examples/toy/Ch4/toyc.cpp | 167 + mlir/examples/toy/Ch5/CMakeLists.txt | 42 + mlir/examples/toy/Ch5/include/CMakeLists.txt | 1 + mlir/examples/toy/Ch5/include/toy/AST.h | 242 + mlir/examples/toy/Ch5/include/toy/CMakeLists.txt | 9 + mlir/examples/toy/Ch5/include/toy/Dialect.h | 46 + mlir/examples/toy/Ch5/include/toy/Lexer.h | 232 + mlir/examples/toy/Ch5/include/toy/MLIRGen.h | 32 + mlir/examples/toy/Ch5/include/toy/Ops.td | 247 + mlir/examples/toy/Ch5/include/toy/Parser.h | 485 ++ mlir/examples/toy/Ch5/include/toy/Passes.h | 32 + .../toy/Ch5/include/toy/ShapeInferenceInterface.h | 28 + .../toy/Ch5/include/toy/ShapeInferenceInterface.td | 30 + .../toy/Ch5/mlir/DeadFunctionEliminationPass.cpp | 59 + mlir/examples/toy/Ch5/mlir/Dialect.cpp | 261 ++ mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp | 309 ++ mlir/examples/toy/Ch5/mlir/MLIRGen.cpp | 452 ++ mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp | 104 + mlir/examples/toy/Ch5/mlir/ToyCombine.cpp | 74 + mlir/examples/toy/Ch5/mlir/ToyCombine.td | 62 + mlir/examples/toy/Ch5/parser/AST.cpp | 234 + mlir/examples/toy/Ch5/toyc.cpp | 188 + mlir/examples/toy/Ch6/CMakeLists.txt | 53 + mlir/examples/toy/Ch6/include/CMakeLists.txt | 1 + mlir/examples/toy/Ch6/include/toy/AST.h | 242 + mlir/examples/toy/Ch6/include/toy/CMakeLists.txt | 9 + mlir/examples/toy/Ch6/include/toy/Dialect.h | 46 + mlir/examples/toy/Ch6/include/toy/Lexer.h | 232 + mlir/examples/toy/Ch6/include/toy/MLIRGen.h | 32 + mlir/examples/toy/Ch6/include/toy/Ops.td | 247 + mlir/examples/toy/Ch6/include/toy/Parser.h | 485 ++ mlir/examples/toy/Ch6/include/toy/Passes.h | 36 + .../toy/Ch6/include/toy/ShapeInferenceInterface.h | 28 + .../toy/Ch6/include/toy/ShapeInferenceInterface.td | 30 + .../toy/Ch6/mlir/DeadFunctionEliminationPass.cpp | 59 + mlir/examples/toy/Ch6/mlir/Dialect.cpp | 261 ++ mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp | 309 ++ mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp | 204 + mlir/examples/toy/Ch6/mlir/MLIRGen.cpp | 452 ++ mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp | 104 + mlir/examples/toy/Ch6/mlir/ToyCombine.cpp | 74 + mlir/examples/toy/Ch6/mlir/ToyCombine.td | 62 + mlir/examples/toy/Ch6/parser/AST.cpp | 234 + mlir/examples/toy/Ch6/toyc.cpp | 274 ++ mlir/examples/toy/Ch7/CMakeLists.txt | 53 + mlir/examples/toy/Ch7/include/CMakeLists.txt | 1 + mlir/examples/toy/Ch7/include/toy/AST.h | 308 ++ mlir/examples/toy/Ch7/include/toy/CMakeLists.txt | 9 + mlir/examples/toy/Ch7/include/toy/Dialect.h | 100 + mlir/examples/toy/Ch7/include/toy/Lexer.h | 235 + mlir/examples/toy/Ch7/include/toy/MLIRGen.h | 32 + mlir/examples/toy/Ch7/include/toy/Ops.td | 300 ++ mlir/examples/toy/Ch7/include/toy/Parser.h | 678 +++ mlir/examples/toy/Ch7/include/toy/Passes.h | 36 + .../toy/Ch7/include/toy/ShapeInferenceInterface.h | 28 + .../toy/Ch7/include/toy/ShapeInferenceInterface.td | 30 + .../toy/Ch7/mlir/DeadFunctionEliminationPass.cpp | 59 + mlir/examples/toy/Ch7/mlir/Dialect.cpp | 474 ++ mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp | 309 ++ mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp | 204 + mlir/examples/toy/Ch7/mlir/MLIRGen.cpp | 674 +++ mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp | 104 + mlir/examples/toy/Ch7/mlir/ToyCombine.cpp | 92 + mlir/examples/toy/Ch7/mlir/ToyCombine.td | 62 + mlir/examples/toy/Ch7/parser/AST.cpp | 271 ++ mlir/examples/toy/Ch7/toyc.cpp | 275 ++ mlir/examples/toy/README.md | 7 + mlir/include/mlir-c/Core.h | 109 + mlir/include/mlir/ADT/TypeSwitch.h | 176 + mlir/include/mlir/Analysis/AffineAnalysis.h | 131 + mlir/include/mlir/Analysis/AffineStructures.h | 815 ++++ mlir/include/mlir/Analysis/CMakeLists.txt | 9 + mlir/include/mlir/Analysis/CallGraph.h | 253 + mlir/include/mlir/Analysis/CallInterfaces.h | 31 + mlir/include/mlir/Analysis/CallInterfaces.td | 84 + mlir/include/mlir/Analysis/Dominance.h | 141 + mlir/include/mlir/Analysis/InferTypeOpInterface.h | 44 + mlir/include/mlir/Analysis/InferTypeOpInterface.td | 65 + mlir/include/mlir/Analysis/Liveness.h | 148 + mlir/include/mlir/Analysis/LoopAnalysis.h | 88 + mlir/include/mlir/Analysis/NestedMatcher.h | 187 + mlir/include/mlir/Analysis/Passes.h | 36 + mlir/include/mlir/Analysis/SliceAnalysis.h | 206 + mlir/include/mlir/Analysis/Utils.h | 295 ++ mlir/include/mlir/Analysis/Verifier.h | 22 + mlir/include/mlir/CMakeLists.txt | 4 + .../Conversion/AffineToStandard/AffineToStandard.h | 47 + .../mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h | 55 + .../mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h | 29 + .../mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h | 23 + .../mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.h | 29 + .../Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.h | 31 + .../mlir/Conversion/LinalgToLLVM/LinalgToLLVM.h | 30 + .../LoopToStandard/ConvertLoopToStandard.h | 35 + .../mlir/Conversion/LoopsToGPU/LoopsToGPU.h | 77 + .../mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h | 41 + .../StandardToLLVM/ConvertStandardToLLVM.h | 244 + .../StandardToLLVM/ConvertStandardToLLVMPass.h | 109 + .../StandardToSPIRV/ConvertStandardToSPIRV.h | 35 + .../StandardToSPIRV/ConvertStandardToSPIRVPass.h | 28 + .../Conversion/VectorToLLVM/ConvertVectorToLLVM.h | 27 + .../VectorToLoops/ConvertVectorToLoops.h | 27 + mlir/include/mlir/Dialect/AffineOps/AffineOps.h | 677 +++ mlir/include/mlir/Dialect/AffineOps/AffineOps.td | 350 ++ .../mlir/Dialect/AffineOps/AffineOpsBase.td | 31 + mlir/include/mlir/Dialect/AffineOps/CMakeLists.txt | 1 + mlir/include/mlir/Dialect/CMakeLists.txt | 10 + mlir/include/mlir/Dialect/CommonFolders.h | 73 + .../include/mlir/Dialect/FxpMathOps/CMakeLists.txt | 1 + mlir/include/mlir/Dialect/FxpMathOps/FxpMathOps.h | 31 + mlir/include/mlir/Dialect/FxpMathOps/FxpMathOps.td | 277 ++ mlir/include/mlir/Dialect/FxpMathOps/Passes.h | 35 + mlir/include/mlir/Dialect/GPU/CMakeLists.txt | 1 + mlir/include/mlir/Dialect/GPU/GPUDialect.h | 82 + mlir/include/mlir/Dialect/GPU/GPUOps.td | 587 +++ mlir/include/mlir/Dialect/GPU/Passes.h | 27 + mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt | 19 + mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h | 199 + mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td | 52 + mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td | 734 +++ mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h | 36 + mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td | 137 + mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h | 45 + mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td | 92 + .../Dialect/Linalg/Analysis/DependenceAnalysis.h | 134 + mlir/include/mlir/Dialect/Linalg/CMakeLists.txt | 2 + mlir/include/mlir/Dialect/Linalg/EDSC/Builders.h | 229 + mlir/include/mlir/Dialect/Linalg/EDSC/Intrinsics.h | 26 + mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt | 8 + mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td | 111 + mlir/include/mlir/Dialect/Linalg/IR/LinalgDoc.td | 23 + .../mlir/Dialect/Linalg/IR/LinalgLibraryOps.td | 616 +++ mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h | 83 + mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td | 181 + .../mlir/Dialect/Linalg/IR/LinalgStructuredOps.td | 616 +++ mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h | 157 + mlir/include/mlir/Dialect/Linalg/IR/LinalgTypes.h | 61 + mlir/include/mlir/Dialect/Linalg/Passes.h | 48 + .../mlir/Dialect/Linalg/Transforms/CMakeLists.txt | 3 + .../Linalg/Transforms/LinalgTransformPatterns.td | 108 + .../Dialect/Linalg/Transforms/LinalgTransforms.h | 96 + .../include/mlir/Dialect/Linalg/Utils/Intrinsics.h | 29 + mlir/include/mlir/Dialect/Linalg/Utils/Utils.h | 226 + mlir/include/mlir/Dialect/LoopOps/CMakeLists.txt | 1 + mlir/include/mlir/Dialect/LoopOps/LoopOps.h | 48 + mlir/include/mlir/Dialect/LoopOps/LoopOps.td | 147 + mlir/include/mlir/Dialect/QuantOps/CMakeLists.txt | 1 + .../mlir/Dialect/QuantOps/FakeQuantSupport.h | 67 + mlir/include/mlir/Dialect/QuantOps/Passes.h | 41 + mlir/include/mlir/Dialect/QuantOps/QuantOps.h | 41 + mlir/include/mlir/Dialect/QuantOps/QuantOps.td | 258 ++ .../mlir/Dialect/QuantOps/QuantPredicates.td | 63 + mlir/include/mlir/Dialect/QuantOps/QuantTypes.h | 402 ++ mlir/include/mlir/Dialect/QuantOps/QuantizeUtils.h | 61 + .../include/mlir/Dialect/QuantOps/UniformSupport.h | 218 + mlir/include/mlir/Dialect/SDBM/SDBM.h | 197 + mlir/include/mlir/Dialect/SDBM/SDBMDialect.h | 32 + mlir/include/mlir/Dialect/SDBM/SDBMExpr.h | 576 +++ mlir/include/mlir/Dialect/SPIRV/CMakeLists.txt | 19 + mlir/include/mlir/Dialect/SPIRV/LayoutUtils.h | 71 + mlir/include/mlir/Dialect/SPIRV/Passes.h | 40 + .../mlir/Dialect/SPIRV/SPIRVArithmeticOps.td | 537 +++ mlir/include/mlir/Dialect/SPIRV/SPIRVAtomicOps.td | 552 +++ mlir/include/mlir/Dialect/SPIRV/SPIRVBase.td | 1319 ++++++ mlir/include/mlir/Dialect/SPIRV/SPIRVBinaryUtils.h | 49 + mlir/include/mlir/Dialect/SPIRV/SPIRVBitOps.td | 523 +++ mlir/include/mlir/Dialect/SPIRV/SPIRVCastOps.td | 325 ++ .../mlir/Dialect/SPIRV/SPIRVCompositeOps.td | 166 + .../mlir/Dialect/SPIRV/SPIRVControlFlowOps.td | 466 ++ mlir/include/mlir/Dialect/SPIRV/SPIRVDialect.h | 53 + mlir/include/mlir/Dialect/SPIRV/SPIRVGLSLOps.td | 570 +++ mlir/include/mlir/Dialect/SPIRV/SPIRVGroupOps.td | 65 + mlir/include/mlir/Dialect/SPIRV/SPIRVLogicalOps.td | 991 ++++ mlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h | 86 + mlir/include/mlir/Dialect/SPIRV/SPIRVLowering.td | 46 + .../mlir/Dialect/SPIRV/SPIRVNonUniformOps.td | 69 + mlir/include/mlir/Dialect/SPIRV/SPIRVOps.h | 41 + mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td | 468 ++ .../mlir/Dialect/SPIRV/SPIRVStructureOps.td | 461 ++ mlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h | 197 + mlir/include/mlir/Dialect/SPIRV/Serialization.h | 40 + .../mlir/Dialect/StandardOps/CMakeLists.txt | 6 + mlir/include/mlir/Dialect/StandardOps/Ops.h | 342 ++ mlir/include/mlir/Dialect/StandardOps/Ops.td | 1626 +++++++ mlir/include/mlir/Dialect/Traits.h | 80 + .../mlir/Dialect/Utils/StructuredOpsUtils.h | 105 + mlir/include/mlir/Dialect/VectorOps/CMakeLists.txt | 5 + mlir/include/mlir/Dialect/VectorOps/Utils.h | 134 + mlir/include/mlir/Dialect/VectorOps/VectorOps.h | 59 + mlir/include/mlir/Dialect/VectorOps/VectorOps.td | 1152 +++++ .../Dialect/VectorOps/VectorTransformPatterns.td | 26 + .../mlir/Dialect/VectorOps/VectorTransforms.h | 73 + mlir/include/mlir/EDSC/Builders.h | 538 +++ mlir/include/mlir/EDSC/Helpers.h | 258 ++ mlir/include/mlir/EDSC/Intrinsics.h | 276 ++ .../include/mlir/ExecutionEngine/ExecutionEngine.h | 126 + mlir/include/mlir/ExecutionEngine/OptUtils.h | 57 + mlir/include/mlir/IR/AffineExpr.h | 321 ++ mlir/include/mlir/IR/AffineExprVisitor.h | 325 ++ mlir/include/mlir/IR/AffineMap.h | 251 + mlir/include/mlir/IR/AttributeSupport.h | 107 + mlir/include/mlir/IR/Attributes.h | 1440 ++++++ mlir/include/mlir/IR/Block.h | 335 ++ mlir/include/mlir/IR/BlockAndValueMapping.h | 88 + mlir/include/mlir/IR/BlockSupport.h | 144 + mlir/include/mlir/IR/Builders.h | 381 ++ mlir/include/mlir/IR/CMakeLists.txt | 4 + mlir/include/mlir/IR/Diagnostics.h | 649 +++ mlir/include/mlir/IR/Dialect.h | 315 ++ mlir/include/mlir/IR/DialectHooks.h | 73 + mlir/include/mlir/IR/DialectImplementation.h | 333 ++ mlir/include/mlir/IR/DialectInterface.h | 181 + mlir/include/mlir/IR/DialectSymbolRegistry.def | 41 + mlir/include/mlir/IR/Function.h | 201 + mlir/include/mlir/IR/FunctionImplementation.h | 100 + mlir/include/mlir/IR/FunctionSupport.h | 539 +++ mlir/include/mlir/IR/Identifier.h | 134 + mlir/include/mlir/IR/IntegerSet.h | 142 + mlir/include/mlir/IR/Location.h | 332 ++ mlir/include/mlir/IR/MLIRContext.h | 83 + mlir/include/mlir/IR/Matchers.h | 261 ++ mlir/include/mlir/IR/Module.h | 167 + mlir/include/mlir/IR/OpAsmInterface.td | 54 + mlir/include/mlir/IR/OpBase.td | 1872 ++++++++ mlir/include/mlir/IR/OpDefinition.h | 1225 +++++ mlir/include/mlir/IR/OpImplementation.h | 666 +++ mlir/include/mlir/IR/Operation.h | 700 +++ mlir/include/mlir/IR/OperationSupport.h | 688 +++ mlir/include/mlir/IR/PatternMatch.h | 489 ++ mlir/include/mlir/IR/Region.h | 192 + mlir/include/mlir/IR/RegionGraphTraits.h | 85 + mlir/include/mlir/IR/StandardTypes.h | 576 +++ mlir/include/mlir/IR/StorageUniquerSupport.h | 85 + mlir/include/mlir/IR/SymbolTable.h | 233 + mlir/include/mlir/IR/TypeSupport.h | 112 + mlir/include/mlir/IR/TypeUtilities.h | 98 + mlir/include/mlir/IR/Types.h | 301 ++ mlir/include/mlir/IR/UseDefLists.h | 290 ++ mlir/include/mlir/IR/Value.h | 362 ++ mlir/include/mlir/IR/Visitors.h | 143 + mlir/include/mlir/Parser.h | 90 + mlir/include/mlir/Pass/AnalysisManager.h | 328 ++ mlir/include/mlir/Pass/Pass.h | 357 ++ mlir/include/mlir/Pass/PassInstrumentation.h | 153 + mlir/include/mlir/Pass/PassManager.h | 266 ++ mlir/include/mlir/Pass/PassOptions.h | 240 + mlir/include/mlir/Pass/PassRegistry.h | 216 + .../mlir/Quantizer/Configurations/FxpMathConfig.h | 41 + .../include/mlir/Quantizer/Support/Configuration.h | 146 + .../Quantizer/Support/ConstraintAnalysisGraph.h | 360 ++ .../Support/ConstraintAnalysisGraphTraits.h | 49 + mlir/include/mlir/Quantizer/Support/Metadata.h | 101 + mlir/include/mlir/Quantizer/Support/Rules.h | 200 + mlir/include/mlir/Quantizer/Support/Statistics.h | 84 + mlir/include/mlir/Quantizer/Support/TypeUtils.h | 31 + .../mlir/Quantizer/Support/UniformConstraints.h | 60 + .../mlir/Quantizer/Support/UniformSolvers.h | 86 + mlir/include/mlir/Quantizer/Transforms/Passes.h | 42 + mlir/include/mlir/Support/DebugStringHelper.h | 42 + mlir/include/mlir/Support/FileUtilities.h | 41 + mlir/include/mlir/Support/Functional.h | 113 + mlir/include/mlir/Support/JitRunner.h | 38 + mlir/include/mlir/Support/LLVM.h | 98 + mlir/include/mlir/Support/LogicalResult.h | 51 + mlir/include/mlir/Support/MathExtras.h | 56 + mlir/include/mlir/Support/MlirOptMain.h | 31 + mlir/include/mlir/Support/STLExtras.h | 448 ++ mlir/include/mlir/Support/StorageUniquer.h | 262 ++ mlir/include/mlir/Support/StringExtras.h | 74 + mlir/include/mlir/Support/ToolUtilities.h | 41 + mlir/include/mlir/Support/TranslateClParser.h | 38 + mlir/include/mlir/TableGen/Argument.h | 59 + mlir/include/mlir/TableGen/Attribute.h | 218 + mlir/include/mlir/TableGen/Constraint.h | 81 + mlir/include/mlir/TableGen/Dialect.h | 58 + mlir/include/mlir/TableGen/Format.h | 240 + mlir/include/mlir/TableGen/GenInfo.h | 72 + mlir/include/mlir/TableGen/GenNameParser.h | 31 + mlir/include/mlir/TableGen/OpInterfaces.h | 100 + mlir/include/mlir/TableGen/OpTrait.h | 110 + mlir/include/mlir/TableGen/Operator.h | 213 + mlir/include/mlir/TableGen/Pattern.h | 408 ++ mlir/include/mlir/TableGen/Predicate.h | 119 + mlir/include/mlir/TableGen/Region.h | 36 + mlir/include/mlir/TableGen/Type.h | 56 + mlir/include/mlir/Target/LLVMIR.h | 46 + .../include/mlir/Target/LLVMIR/ModuleTranslation.h | 114 + mlir/include/mlir/Target/NVVMIR.h | 35 + mlir/include/mlir/Target/ROCDLIR.h | 36 + mlir/include/mlir/Transforms/CMakeLists.txt | 6 + mlir/include/mlir/Transforms/DialectConversion.h | 675 +++ mlir/include/mlir/Transforms/FoldUtils.h | 143 + mlir/include/mlir/Transforms/InliningUtils.h | 207 + mlir/include/mlir/Transforms/LoopFusionUtils.h | 92 + mlir/include/mlir/Transforms/LoopLikeInterface.h | 26 + mlir/include/mlir/Transforms/LoopLikeInterface.td | 49 + mlir/include/mlir/Transforms/LoopUtils.h | 225 + mlir/include/mlir/Transforms/Passes.h | 131 + mlir/include/mlir/Transforms/RegionUtils.h | 61 + .../include/mlir/Transforms/SideEffectsInterface.h | 64 + mlir/include/mlir/Transforms/Utils.h | 128 + mlir/include/mlir/Transforms/ViewOpGraph.h | 41 + mlir/include/mlir/Transforms/ViewRegionGraph.h | 41 + mlir/include/mlir/Translation.h | 94 + mlir/lib/Analysis/AffineAnalysis.cpp | 886 ++++ mlir/lib/Analysis/AffineStructures.cpp | 2854 ++++++++++++ mlir/lib/Analysis/CMakeLists.txt | 29 + mlir/lib/Analysis/CallGraph.cpp | 256 ++ mlir/lib/Analysis/Dominance.cpp | 171 + mlir/lib/Analysis/InferTypeOpInterface.cpp | 22 + mlir/lib/Analysis/Liveness.cpp | 373 ++ mlir/lib/Analysis/LoopAnalysis.cpp | 388 ++ mlir/lib/Analysis/MemRefBoundCheck.cpp | 53 + mlir/lib/Analysis/NestedMatcher.cpp | 152 + mlir/lib/Analysis/OpStats.cpp | 84 + mlir/lib/Analysis/SliceAnalysis.cpp | 213 + mlir/lib/Analysis/TestMemRefDependenceCheck.cpp | 121 + mlir/lib/Analysis/TestParallelismDetection.cpp | 48 + mlir/lib/Analysis/Utils.cpp | 1007 ++++ mlir/lib/Analysis/VectorAnalysis.cpp | 232 + mlir/lib/Analysis/Verifier.cpp | 266 ++ mlir/lib/CMakeLists.txt | 14 + .../AffineToStandard/AffineToStandard.cpp | 550 +++ .../lib/Conversion/AffineToStandard/CMakeLists.txt | 24 + mlir/lib/Conversion/CMakeLists.txt | 12 + .../GPUCommon/IndexIntrinsicsOpLowering.h | 85 + .../Conversion/GPUCommon/OpToFuncCallLowering.h | 100 + mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt | 16 + .../GPUToCUDA/ConvertKernelFuncToCubin.cpp | 167 + .../GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp | 424 ++ mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt | 18 + mlir/lib/Conversion/GPUToNVVM/GPUToNVVM.td | 21 + .../Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp | 751 +++ mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt | 10 + .../GPUToROCDL/LowerGpuOpsToROCDLOps.cpp | 75 + mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt | 15 + .../Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp | 359 ++ .../GPUToSPIRV/ConvertGPUToSPIRVPass.cpp | 96 + mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt | 15 + mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp | 549 +++ mlir/lib/Conversion/LoopToStandard/CMakeLists.txt | 22 + .../LoopToStandard/ConvertLoopToStandard.cpp | 269 ++ mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt | 21 + mlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp | 528 +++ mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp | 147 + mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt | 24 + .../StandardToLLVM/ConvertStandardToLLVM.cpp | 2278 +++++++++ mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt | 26 + .../StandardToSPIRV/ConvertStandardToSPIRV.cpp | 314 ++ .../StandardToSPIRV/ConvertStandardToSPIRVPass.cpp | 89 + .../StandardToSPIRV/LegalizeStandardForSPIRV.cpp | 181 + .../Conversion/StandardToSPIRV/StandardToSPIRV.td | 35 + mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt | 15 + .../VectorToLLVM/ConvertVectorToLLVM.cpp | 766 ++++ mlir/lib/Conversion/VectorToLoops/CMakeLists.txt | 15 + .../VectorToLoops/ConvertVectorToLoops.cpp | 358 ++ mlir/lib/Dialect/AffineOps/AffineOps.cpp | 2116 +++++++++ mlir/lib/Dialect/AffineOps/CMakeLists.txt | 14 + mlir/lib/Dialect/AffineOps/DialectRegistration.cpp | 13 + mlir/lib/Dialect/CMakeLists.txt | 19 + mlir/lib/Dialect/FxpMathOps/CMakeLists.txt | 15 + .../Dialect/FxpMathOps/IR/DialectRegistration.cpp | 15 + mlir/lib/Dialect/FxpMathOps/IR/FxpMathOps.cpp | 29 + .../FxpMathOps/Transforms/LowerUniformRealMath.cpp | 393 ++ .../FxpMathOps/Transforms/UniformKernelUtils.h | 227 + mlir/lib/Dialect/GPU/CMakeLists.txt | 10 + mlir/lib/Dialect/GPU/IR/DialectRegistration.cpp | 12 + mlir/lib/Dialect/GPU/IR/GPUDialect.cpp | 821 ++++ .../lib/Dialect/GPU/Transforms/KernelOutlining.cpp | 219 + mlir/lib/Dialect/LLVMIR/CMakeLists.txt | 26 + mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp | 1690 +++++++ mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp | 209 + mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp | 73 + .../Dialect/Linalg/Analysis/DependenceAnalysis.cpp | 231 + mlir/lib/Dialect/Linalg/CMakeLists.txt | 31 + mlir/lib/Dialect/Linalg/EDSC/Builders.cpp | 246 + mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp | 822 ++++ mlir/lib/Dialect/Linalg/IR/LinalgTypes.cpp | 66 + mlir/lib/Dialect/Linalg/LinalgRegistration.cpp | 16 + mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp | 346 ++ .../Dialect/Linalg/Transforms/LinalgToLoops.cpp | 600 +++ .../Dialect/Linalg/Transforms/LinalgTransforms.cpp | 238 + mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp | 243 + mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp | 461 ++ mlir/lib/Dialect/Linalg/Utils/Utils.cpp | 146 + mlir/lib/Dialect/LoopOps/CMakeLists.txt | 9 + mlir/lib/Dialect/LoopOps/DialectRegistration.cpp | 13 + mlir/lib/Dialect/LoopOps/LoopOps.cpp | 230 + mlir/lib/Dialect/QuantOps/CMakeLists.txt | 21 + .../Dialect/QuantOps/IR/DialectRegistration.cpp | 15 + mlir/lib/Dialect/QuantOps/IR/QuantOps.cpp | 46 + mlir/lib/Dialect/QuantOps/IR/QuantTypes.cpp | 362 ++ mlir/lib/Dialect/QuantOps/IR/TypeDetail.h | 260 ++ mlir/lib/Dialect/QuantOps/IR/TypeParser.cpp | 382 ++ .../Dialect/QuantOps/Transforms/ConvertConst.cpp | 112 + .../QuantOps/Transforms/ConvertSimQuant.cpp | 149 + .../Dialect/QuantOps/Utils/FakeQuantSupport.cpp | 175 + mlir/lib/Dialect/QuantOps/Utils/QuantizeUtils.cpp | 148 + mlir/lib/Dialect/QuantOps/Utils/UniformSupport.cpp | 102 + mlir/lib/Dialect/SDBM/CMakeLists.txt | 10 + mlir/lib/Dialect/SDBM/SDBM.cpp | 551 +++ mlir/lib/Dialect/SDBM/SDBMDialect.cpp | 11 + mlir/lib/Dialect/SDBM/SDBMExpr.cpp | 734 +++ mlir/lib/Dialect/SDBM/SDBMExprDetail.h | 129 + mlir/lib/Dialect/SPIRV/CMakeLists.txt | 31 + mlir/lib/Dialect/SPIRV/DialectRegistration.cpp | 12 + mlir/lib/Dialect/SPIRV/LayoutUtils.cpp | 156 + mlir/lib/Dialect/SPIRV/SPIRVCanonicalization.td | 40 + mlir/lib/Dialect/SPIRV/SPIRVDialect.cpp | 639 +++ mlir/lib/Dialect/SPIRV/SPIRVLowering.cpp | 253 + mlir/lib/Dialect/SPIRV/SPIRVOps.cpp | 3070 +++++++++++++ mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp | 510 +++ .../lib/Dialect/SPIRV/Serialization/CMakeLists.txt | 17 + .../Dialect/SPIRV/Serialization/Deserializer.cpp | 2423 ++++++++++ .../SPIRV/Serialization/SPIRVBinaryUtils.cpp | 60 + .../lib/Dialect/SPIRV/Serialization/Serializer.cpp | 1821 ++++++++ .../SPIRV/Serialization/TranslateRegistration.cpp | 145 + mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt | 9 + .../DecorateSPIRVCompositeTypeLayoutPass.cpp | 123 + .../SPIRV/Transforms/LowerABIAttributesPass.cpp | 253 + mlir/lib/Dialect/StandardOps/CMakeLists.txt | 14 + .../Dialect/StandardOps/DialectRegistration.cpp | 13 + mlir/lib/Dialect/StandardOps/Ops.cpp | 3000 ++++++++++++ mlir/lib/Dialect/Traits.cpp | 211 + mlir/lib/Dialect/VectorOps/CMakeLists.txt | 13 + mlir/lib/Dialect/VectorOps/DialectRegistration.cpp | 13 + mlir/lib/Dialect/VectorOps/VectorOps.cpp | 1824 ++++++++ mlir/lib/Dialect/VectorOps/VectorTransforms.cpp | 681 +++ mlir/lib/EDSC/Builders.cpp | 487 ++ mlir/lib/EDSC/CMakeLists.txt | 37 + mlir/lib/EDSC/CoreAPIs.cpp | 93 + mlir/lib/EDSC/Helpers.cpp | 52 + mlir/lib/EDSC/Intrinsics.cpp | 76 + mlir/lib/ExecutionEngine/CMakeLists.txt | 20 + mlir/lib/ExecutionEngine/ExecutionEngine.cpp | 307 ++ mlir/lib/ExecutionEngine/OptUtils.cpp | 142 + mlir/lib/IR/AffineExpr.cpp | 918 ++++ mlir/lib/IR/AffineExprDetail.h | 89 + mlir/lib/IR/AffineMap.cpp | 328 ++ mlir/lib/IR/AffineMapDetail.h | 37 + mlir/lib/IR/AsmPrinter.cpp | 2145 +++++++++ mlir/lib/IR/AttributeDetail.h | 595 +++ mlir/lib/IR/Attributes.cpp | 1101 +++++ mlir/lib/IR/Block.cpp | 274 ++ mlir/lib/IR/Builders.cpp | 398 ++ mlir/lib/IR/CMakeLists.txt | 9 + mlir/lib/IR/Diagnostics.cpp | 918 ++++ mlir/lib/IR/Dialect.cpp | 156 + mlir/lib/IR/Function.cpp | 213 + mlir/lib/IR/FunctionImplementation.cpp | 321 ++ mlir/lib/IR/IntegerSet.cpp | 82 + mlir/lib/IR/IntegerSetDetail.h | 36 + mlir/lib/IR/Location.cpp | 137 + mlir/lib/IR/LocationDetail.h | 162 + mlir/lib/IR/MLIRContext.cpp | 641 +++ mlir/lib/IR/Module.cpp | 106 + mlir/lib/IR/Operation.cpp | 1230 +++++ mlir/lib/IR/OperationSupport.cpp | 184 + mlir/lib/IR/PatternMatch.cpp | 204 + mlir/lib/IR/Region.cpp | 230 + mlir/lib/IR/StandardTypes.cpp | 721 +++ mlir/lib/IR/SymbolTable.cpp | 459 ++ mlir/lib/IR/TypeDetail.h | 324 ++ mlir/lib/IR/TypeUtilities.cpp | 105 + mlir/lib/IR/Types.cpp | 81 + mlir/lib/IR/Value.cpp | 54 + mlir/lib/IR/Visitors.cpp | 42 + mlir/lib/Parser/CMakeLists.txt | 10 + mlir/lib/Parser/Lexer.cpp | 394 ++ mlir/lib/Parser/Lexer.h | 73 + mlir/lib/Parser/Parser.cpp | 4825 ++++++++++++++++++++ mlir/lib/Parser/Token.cpp | 155 + mlir/lib/Parser/Token.h | 107 + mlir/lib/Parser/TokenKinds.def | 124 + mlir/lib/Pass/CMakeLists.txt | 9 + mlir/lib/Pass/IRPrinting.cpp | 271 ++ mlir/lib/Pass/Pass.cpp | 755 +++ mlir/lib/Pass/PassDetail.h | 95 + mlir/lib/Pass/PassManagerOptions.cpp | 173 + mlir/lib/Pass/PassRegistry.cpp | 542 +++ mlir/lib/Pass/PassStatistics.cpp | 249 + mlir/lib/Pass/PassTiming.cpp | 464 ++ mlir/lib/Quantizer/CMakeLists.txt | 44 + .../lib/Quantizer/Configurations/FxpMathConfig.cpp | 278 ++ mlir/lib/Quantizer/Support/Configuration.cpp | 39 + .../Quantizer/Support/ConstraintAnalysisGraph.cpp | 172 + mlir/lib/Quantizer/Support/Metadata.cpp | 33 + mlir/lib/Quantizer/Support/Statistics.cpp | 95 + mlir/lib/Quantizer/Support/TypeUtils.cpp | 22 + mlir/lib/Quantizer/Support/UniformConstraints.cpp | 256 ++ mlir/lib/Quantizer/Support/UniformSolvers.cpp | 143 + .../Transforms/AddDefaultStatsTestPass.cpp | 120 + .../Transforms/InferQuantizedTypesPass.cpp | 288 ++ .../Transforms/RemoveInstrumentationPass.cpp | 68 + mlir/lib/Support/CMakeLists.txt | 54 + mlir/lib/Support/FileUtilities.cpp | 47 + mlir/lib/Support/JitRunner.cpp | 293 ++ mlir/lib/Support/MlirOptMain.cpp | 117 + mlir/lib/Support/StorageUniquer.cpp | 197 + mlir/lib/Support/ToolUtilities.cpp | 48 + mlir/lib/Support/TranslateClParser.cpp | 93 + mlir/lib/TableGen/Argument.cpp | 20 + mlir/lib/TableGen/Attribute.cpp | 265 ++ mlir/lib/TableGen/CMakeLists.txt | 17 + mlir/lib/TableGen/Constraint.cpp | 60 + mlir/lib/TableGen/Dialect.cpp | 54 + mlir/lib/TableGen/Format.cpp | 176 + mlir/lib/TableGen/OpInterfaces.cpp | 87 + mlir/lib/TableGen/OpTrait.cpp | 66 + mlir/lib/TableGen/Operator.cpp | 347 ++ mlir/lib/TableGen/Pattern.cpp | 569 +++ mlir/lib/TableGen/Predicate.cpp | 365 ++ mlir/lib/TableGen/Type.cpp | 40 + mlir/lib/Target/CMakeLists.txt | 49 + mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp | 622 +++ mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp | 36 + mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp | 106 + mlir/lib/Target/LLVMIR/ConvertToROCDLIR.cpp | 110 + mlir/lib/Target/LLVMIR/ModuleTranslation.cpp | 516 +++ mlir/lib/Transforms/AffineDataCopyGeneration.cpp | 268 ++ .../Transforms/AffineLoopInvariantCodeMotion.cpp | 239 + mlir/lib/Transforms/CMakeLists.txt | 38 + mlir/lib/Transforms/CSE.cpp | 263 ++ mlir/lib/Transforms/Canonicalizer.cpp | 45 + mlir/lib/Transforms/DialectConversion.cpp | 1846 ++++++++ mlir/lib/Transforms/Inliner.cpp | 296 ++ mlir/lib/Transforms/LoopCoalescing.cpp | 96 + mlir/lib/Transforms/LoopFusion.cpp | 1979 ++++++++ mlir/lib/Transforms/LoopInvariantCodeMotion.cpp | 140 + mlir/lib/Transforms/LoopTiling.cpp | 402 ++ mlir/lib/Transforms/LoopUnroll.cpp | 182 + mlir/lib/Transforms/LoopUnrollAndJam.cpp | 235 + mlir/lib/Transforms/MemRefDataFlowOpt.cpp | 227 + mlir/lib/Transforms/PipelineDataTransfer.cpp | 379 ++ mlir/lib/Transforms/SimplifyAffineStructures.cpp | 108 + mlir/lib/Transforms/StripDebugInfo.cpp | 37 + mlir/lib/Transforms/Utils/CMakeLists.txt | 21 + mlir/lib/Transforms/Utils/FoldUtils.cpp | 246 + .../Utils/GreedyPatternRewriteDriver.cpp | 247 + mlir/lib/Transforms/Utils/InliningUtils.cpp | 356 ++ mlir/lib/Transforms/Utils/LoopFusionUtils.cpp | 480 ++ mlir/lib/Transforms/Utils/LoopUtils.cpp | 1779 ++++++++ mlir/lib/Transforms/Utils/RegionUtils.cpp | 348 ++ mlir/lib/Transforms/Utils/Utils.cpp | 469 ++ mlir/lib/Transforms/Vectorize.cpp | 1292 ++++++ mlir/lib/Transforms/ViewOpGraph.cpp | 170 + mlir/lib/Transforms/ViewRegionGraph.cpp | 85 + mlir/lib/Translation/CMakeLists.txt | 7 + mlir/lib/Translation/Translation.cpp | 111 + mlir/test/APITest.h | 63 + mlir/test/AffineOps/canonicalize.mlir | 528 +++ mlir/test/AffineOps/dma.mlir | 127 + mlir/test/AffineOps/inlining.mlir | 69 + mlir/test/AffineOps/invalid.mlir | 170 + mlir/test/AffineOps/load-store-invalid.mlir | 171 + mlir/test/AffineOps/load-store.mlir | 216 + mlir/test/AffineOps/memref-stride-calculation.mlir | 71 + mlir/test/AffineOps/ops.mlir | 101 + mlir/test/Analysis/test-callgraph.mlir | 52 + mlir/test/Analysis/test-liveness.mlir | 191 + mlir/test/CMakeLists.txt | 71 + mlir/test/Conversion/GPUToCUDA/lit.local.cfg | 2 + .../GPUToCUDA/lower-launch-func-to-cuda.mlir | 36 + .../GPUToCUDA/lower-nvvm-kernel-to-cubin.mlir | 26 + mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir | 150 + .../Conversion/GPUToNVVM/memory-attrbution.mlir | 145 + mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir | 77 + mlir/test/Conversion/GPUToSPIRV/builtins.mlir | 137 + mlir/test/Conversion/GPUToSPIRV/load-store.mlir | 76 + mlir/test/Conversion/GPUToSPIRV/loop.mlir | 43 + mlir/test/Conversion/GPUToSPIRV/simple.mlir | 26 + mlir/test/Conversion/LoopsToGPU/imperfect_2D.mlir | 83 + mlir/test/Conversion/LoopsToGPU/imperfect_3D.mlir | 83 + mlir/test/Conversion/LoopsToGPU/imperfect_4D.mlir | 86 + .../Conversion/LoopsToGPU/imperfect_linalg.mlir | 40 + mlir/test/Conversion/LoopsToGPU/linalg_to_gpu.mlir | 30 + .../LoopsToGPU/perfect_1D_setlaunch.mlir | 26 + mlir/test/Conversion/LoopsToGPU/step_one.mlir | 84 + mlir/test/Conversion/LoopsToGPU/step_positive.mlir | 28 + .../StandardToLLVM/convert-argattrs.mlir | 25 + .../Conversion/StandardToLLVM/convert-funcs.mlir | 60 + .../StandardToLLVM/convert-memref-ops.mlir | 459 ++ .../StandardToLLVM/convert-to-llvmir.mlir | 821 ++++ .../StandardToLLVM/standard-to-llvm.mlir | 30 + .../Conversion/StandardToSPIRV/legalization.mlir | 61 + .../Conversion/StandardToSPIRV/std-to-spirv.mlir | 147 + .../StandardToSPIRV/subview-to-spirv.mlir | 53 + .../Conversion/VectorToLLVM/vector-to-llvm.mlir | 425 ++ .../Conversion/VectorToLoops/vector-to-loops.mlir | 202 + mlir/test/Conversion/convert-to-cfg.mlir | 149 + .../Dialect/FxpMathOps/lower-uniform-casts.mlir | 64 + .../FxpMathOps/lower-uniform-real-math-addew.mlir | 102 + .../FxpMathOps/lower-uniform-real-math-mulew.mlir | 94 + mlir/test/Dialect/GPU/canonicalize.mlir | 28 + mlir/test/Dialect/GPU/invalid.mlir | 431 ++ mlir/test/Dialect/GPU/ops.mlir | 169 + mlir/test/Dialect/GPU/outlining.mlir | 149 + mlir/test/Dialect/LLVMIR/func.mlir | 225 + mlir/test/Dialect/LLVMIR/global.mlir | 179 + mlir/test/Dialect/LLVMIR/invalid.mlir | 384 ++ mlir/test/Dialect/LLVMIR/nvvm.mlir | 70 + mlir/test/Dialect/LLVMIR/rocdl.mlir | 30 + mlir/test/Dialect/LLVMIR/roundtrip.mlir | 220 + mlir/test/Dialect/LLVMIR/terminator.mlir | 21 + mlir/test/Dialect/Linalg/fusion-2-level.mlir | 49 + mlir/test/Dialect/Linalg/fusion.mlir | 441 ++ mlir/test/Dialect/Linalg/invalid.mlir | 439 ++ mlir/test/Dialect/Linalg/llvm.mlir | 198 + mlir/test/Dialect/Linalg/loops.mlir | 358 ++ mlir/test/Dialect/Linalg/promote.mlir | 76 + mlir/test/Dialect/Linalg/roundtrip.mlir | 174 + mlir/test/Dialect/Linalg/tile.mlir | 249 + mlir/test/Dialect/Linalg/tile_conv.mlir | 40 + mlir/test/Dialect/Linalg/tile_indexed_generic.mlir | 104 + mlir/test/Dialect/Linalg/transform-patterns.mlir | 367 ++ mlir/test/Dialect/Loops/invalid.mlir | 115 + mlir/test/Dialect/Loops/ops.mlir | 51 + mlir/test/Dialect/QuantOps/canonicalize.mlir | 24 + mlir/test/Dialect/QuantOps/convert-const.mlir | 193 + .../QuantOps/convert-fakequant-invalid.mlir | 12 + mlir/test/Dialect/QuantOps/convert-fakequant.mlir | 233 + mlir/test/Dialect/QuantOps/parse-any-invalid.mlir | 61 + mlir/test/Dialect/QuantOps/parse-any.mlir | 28 + mlir/test/Dialect/QuantOps/parse-ops-invalid.mlir | 93 + mlir/test/Dialect/QuantOps/parse-ops.mlir | 64 + .../Dialect/QuantOps/parse-uniform-invalid.mlir | 122 + mlir/test/Dialect/QuantOps/parse-uniform.mlir | 147 + .../SPIRV/Serialization/arithmetic-ops.mlir | 79 + mlir/test/Dialect/SPIRV/Serialization/array.mlir | 19 + .../Dialect/SPIRV/Serialization/atomic-ops.mlir | 32 + mlir/test/Dialect/SPIRV/Serialization/barrier.mlir | 24 + mlir/test/Dialect/SPIRV/Serialization/bit-ops.mlir | 49 + .../test/Dialect/SPIRV/Serialization/cast-ops.mlir | 49 + .../Dialect/SPIRV/Serialization/composite-op.mlir | 14 + .../test/Dialect/SPIRV/Serialization/constant.mlir | 195 + .../Dialect/SPIRV/Serialization/entry-point.mlir | 27 + .../SPIRV/Serialization/execution-mode.mlir | 10 + .../Dialect/SPIRV/Serialization/function-call.mlir | 53 + .../SPIRV/Serialization/global-variable.mlir | 36 + .../test/Dialect/SPIRV/Serialization/glsl-ops.mlir | 13 + .../Dialect/SPIRV/Serialization/group-ops.mlir | 10 + .../Dialect/SPIRV/Serialization/logical-ops.mlir | 75 + mlir/test/Dialect/SPIRV/Serialization/loop.mlir | 213 + .../Dialect/SPIRV/Serialization/memory-ops.mlir | 26 + mlir/test/Dialect/SPIRV/Serialization/module.mlir | 30 + .../SPIRV/Serialization/non-uniform-ops.mlir | 10 + mlir/test/Dialect/SPIRV/Serialization/phi.mlir | 248 + .../Dialect/SPIRV/Serialization/selection.mlir | 93 + .../Dialect/SPIRV/Serialization/spec-constant.mlir | 27 + mlir/test/Dialect/SPIRV/Serialization/struct.mlir | 33 + .../Dialect/SPIRV/Serialization/terminator.mlir | 27 + mlir/test/Dialect/SPIRV/Serialization/undef.mlir | 33 + .../Dialect/SPIRV/Transforms/abi-load-store.mlir | 124 + mlir/test/Dialect/SPIRV/Transforms/abi-simple.mlir | 27 + mlir/test/Dialect/SPIRV/Transforms/inlining.mlir | 227 + .../SPIRV/Transforms/layout-decoration.mlir | 99 + mlir/test/Dialect/SPIRV/arithmetic-ops.mlir | 210 + mlir/test/Dialect/SPIRV/atomic-ops.mlir | 166 + mlir/test/Dialect/SPIRV/bit-ops.mlir | 77 + mlir/test/Dialect/SPIRV/canonicalize.mlir | 650 +++ mlir/test/Dialect/SPIRV/composite-ops.mlir | 231 + mlir/test/Dialect/SPIRV/control-flow-ops.mlir | 712 +++ mlir/test/Dialect/SPIRV/glslops.mlir | 109 + mlir/test/Dialect/SPIRV/group-ops.mlir | 11 + mlir/test/Dialect/SPIRV/logical-ops.mlir | 127 + mlir/test/Dialect/SPIRV/non-uniform-ops.mlir | 19 + mlir/test/Dialect/SPIRV/ops.mlir | 1206 +++++ mlir/test/Dialect/SPIRV/structure-ops.mlir | 525 +++ mlir/test/Dialect/SPIRV/types.mlir | 321 ++ mlir/test/Dialect/VectorOps/canonicalize.mlir | 89 + mlir/test/Dialect/VectorOps/invalid.mlir | 891 ++++ mlir/test/Dialect/VectorOps/ops.mlir | 235 + mlir/test/Dialect/VectorOps/vector-transforms.mlir | 304 ++ mlir/test/Dialect/traits.mlir | 153 + mlir/test/EDSC/CMakeLists.txt | 28 + mlir/test/EDSC/builder-api-test.cpp | 941 ++++ mlir/test/EDSC/lit.local.cfg | 1 + mlir/test/Examples/Toy/Ch1/ast.toy | 76 + mlir/test/Examples/Toy/Ch2/ast.toy | 76 + mlir/test/Examples/Toy/Ch2/codegen.toy | 31 + mlir/test/Examples/Toy/Ch2/invalid.mlir | 9 + mlir/test/Examples/Toy/Ch2/scalar.toy | 14 + mlir/test/Examples/Toy/Ch3/ast.toy | 76 + mlir/test/Examples/Toy/Ch3/codegen.toy | 31 + mlir/test/Examples/Toy/Ch3/invalid.mlir | 9 + mlir/test/Examples/Toy/Ch3/scalar.toy | 14 + mlir/test/Examples/Toy/Ch4/ast.toy | 76 + mlir/test/Examples/Toy/Ch4/codegen.toy | 31 + mlir/test/Examples/Toy/Ch4/invalid.mlir | 9 + mlir/test/Examples/Toy/Ch4/scalar.toy | 14 + mlir/test/Examples/Toy/Ch4/shape_inference.mlir | 30 + mlir/test/Examples/Toy/Ch5/affine-lowering.mlir | 65 + mlir/test/Examples/Toy/Ch5/ast.toy | 76 + mlir/test/Examples/Toy/Ch5/codegen.toy | 31 + mlir/test/Examples/Toy/Ch5/invalid.mlir | 9 + mlir/test/Examples/Toy/Ch5/scalar.toy | 14 + mlir/test/Examples/Toy/Ch5/shape_inference.mlir | 30 + mlir/test/Examples/Toy/Ch6/affine-lowering.mlir | 65 + mlir/test/Examples/Toy/Ch6/ast.toy | 76 + mlir/test/Examples/Toy/Ch6/codegen.toy | 31 + mlir/test/Examples/Toy/Ch6/invalid.mlir | 9 + mlir/test/Examples/Toy/Ch6/llvm-lowering.mlir | 23 + mlir/test/Examples/Toy/Ch6/scalar.toy | 14 + mlir/test/Examples/Toy/Ch6/shape_inference.mlir | 30 + mlir/test/Examples/Toy/Ch7/affine-lowering.mlir | 65 + mlir/test/Examples/Toy/Ch7/ast.toy | 76 + mlir/test/Examples/Toy/Ch7/codegen.toy | 31 + mlir/test/Examples/Toy/Ch7/invalid.mlir | 9 + mlir/test/Examples/Toy/Ch7/llvm-lowering.mlir | 23 + mlir/test/Examples/Toy/Ch7/scalar.toy | 14 + mlir/test/Examples/Toy/Ch7/shape_inference.mlir | 30 + mlir/test/Examples/Toy/Ch7/struct-ast.toy | 61 + mlir/test/Examples/Toy/Ch7/struct-codegen.toy | 44 + mlir/test/Examples/Toy/Ch7/struct-opt.mlir | 16 + mlir/test/Examples/lit.local.cfg | 2 + mlir/test/IR/affine-map.mlir | 363 ++ mlir/test/IR/attribute.mlir | 245 + mlir/test/IR/check-help-output.mlir | 4 + mlir/test/IR/core-ops.mlir | 730 +++ mlir/test/IR/invalid-affinemap.mlir | 103 + mlir/test/IR/invalid-func-op.mlir | 75 + mlir/test/IR/invalid-locations.mlir | 100 + mlir/test/IR/invalid-module-op.mlir | 50 + mlir/test/IR/invalid-ops.mlir | 1038 +++++ mlir/test/IR/invalid.mlir | 1217 +++++ mlir/test/IR/locations.mlir | 24 + mlir/test/IR/memory-ops.mlir | 89 + mlir/test/IR/module-op.mlir | 57 + mlir/test/IR/op-stats.mlir | 36 + mlir/test/IR/opaque_locations.mlir | 35 + mlir/test/IR/operand.mlir | 35 + mlir/test/IR/parser.mlir | 1133 +++++ mlir/test/IR/pretty-attributes.mlir | 18 + mlir/test/IR/pretty-locations.mlir | 29 + mlir/test/IR/pretty-region-args.mlir | 12 + mlir/test/IR/print-op-local-scope.mlir | 5 + mlir/test/IR/print-op-on-diagnostic.mlir | 7 + mlir/test/IR/region.mlir | 75 + mlir/test/IR/repro_b120295301.mlir | 110 + mlir/test/IR/result.mlir | 36 + mlir/test/IR/test-func-erase-arg.mlir | 76 + mlir/test/IR/test-func-set-type.mlir | 25 + mlir/test/IR/test-matchers.mlir | 42 + mlir/test/IR/test-symbol-rauw.mlir | 42 + mlir/test/IR/test-symbol-uses.mlir | 40 + mlir/test/IR/traits.mlir | 328 ++ mlir/test/IR/wrapping_op.mlir | 14 + mlir/test/Pass/crash-recovery.mlir | 15 + mlir/test/Pass/ir-printing.mlir | 62 + mlir/test/Pass/pass-timing.mlir | 91 + mlir/test/Pass/pipeline-options-parsing.mlir | 18 + mlir/test/Pass/pipeline-parsing.mlir | 40 + mlir/test/Pass/pipeline-stats.mlir | 25 + mlir/test/Quantizer/matmul.mlir | 51 + mlir/test/Quantizer/remove-instrumentation.mlir | 15 + mlir/test/SDBM/CMakeLists.txt | 19 + mlir/test/SDBM/lit.local.cfg | 1 + mlir/test/SDBM/sdbm-api-test.cpp | 197 + mlir/test/Target/import.ll | 182 + mlir/test/Target/llvmir-intrinsics.mlir | 106 + mlir/test/Target/llvmir-invalid.mlir | 6 + mlir/test/Target/llvmir.mlir | 1041 +++++ mlir/test/Target/nvvmir.mlir | 84 + mlir/test/Target/rocdl.mlir | 35 + mlir/test/Transforms/Vectorize/compose_maps.mlir | 131 + mlir/test/Transforms/Vectorize/normalize_maps.mlir | 58 + mlir/test/Transforms/Vectorize/vector_utils.mlir | 37 + mlir/test/Transforms/Vectorize/vectorize_1d.mlir | 377 ++ mlir/test/Transforms/Vectorize/vectorize_2d.mlir | 142 + mlir/test/Transforms/Vectorize/vectorize_3d.mlir | 28 + .../Vectorize/vectorize_outer_loop_2d.mlir | 34 + .../vectorize_outer_loop_transpose_2d.mlir | 65 + .../Vectorize/vectorize_transpose_2d.mlir | 66 + mlir/test/Transforms/affine-data-copy.mlir | 163 + .../affine-loop-invariant-code-motion.mlir | 507 ++ mlir/test/Transforms/canonicalize-dce.mlir | 162 + mlir/test/Transforms/canonicalize.mlir | 874 ++++ mlir/test/Transforms/constant-fold.mlir | 644 +++ mlir/test/Transforms/cse.mlir | 246 + mlir/test/Transforms/dma-generate.mlir | 654 +++ mlir/test/Transforms/inlining.mlir | 164 + mlir/test/Transforms/loop-coalescing.mlir | 193 + .../Transforms/loop-fusion-dependence-check.mlir | 337 ++ .../Transforms/loop-fusion-slice-computation.mlir | 145 + mlir/test/Transforms/loop-fusion.mlir | 2446 ++++++++++ .../Transforms/loop-invariant-code-motion.mlir | 244 + mlir/test/Transforms/loop-tiling.mlir | 184 + mlir/test/Transforms/lower-affine.mlir | 592 +++ mlir/test/Transforms/memref-bound-check.mlir | 286 ++ mlir/test/Transforms/memref-dataflow-opt.mlir | 282 ++ mlir/test/Transforms/memref-dependence-check.mlir | 906 ++++ mlir/test/Transforms/memref-normalize.mlir | 137 + mlir/test/Transforms/parallelism-detection.mlir | 47 + mlir/test/Transforms/parametric-mapping.mlir | 47 + mlir/test/Transforms/parametric-tiling.mlir | 133 + mlir/test/Transforms/pipeline-data-transfer.mlir | 383 ++ .../Transforms/simplify-affine-structures.mlir | 237 + mlir/test/Transforms/slicing-utils.mlir | 290 ++ mlir/test/Transforms/strip-debuginfo.mlir | 22 + mlir/test/Transforms/test-canonicalize.mlir | 37 + mlir/test/Transforms/test-inlining.mlir | 67 + .../Transforms/test-legalize-remapped-value.mlir | 13 + mlir/test/Transforms/test-legalizer-analysis.mlir | 19 + mlir/test/Transforms/test-legalizer-full.mlir | 60 + mlir/test/Transforms/test-legalizer.mlir | 158 + mlir/test/Transforms/unroll-jam.mlir | 124 + mlir/test/Transforms/unroll.mlir | 592 +++ mlir/test/Unit/lit.cfg.py | 42 + mlir/test/Unit/lit.site.cfg.py.in | 26 + mlir/test/lib/CMakeLists.txt | 5 + mlir/test/lib/DeclarativeTransforms/CMakeLists.txt | 7 + .../TestLinalgTransformPatterns.td | 126 + .../TestVectorTransformPatterns.td | 34 + mlir/test/lib/DeclarativeTransforms/lit.local.cfg | 1 + mlir/test/lib/IR/CMakeLists.txt | 15 + mlir/test/lib/IR/TestFunc.cpp | 58 + mlir/test/lib/IR/TestMatchers.cpp | 147 + mlir/test/lib/IR/TestSymbolUses.cpp | 92 + mlir/test/lib/Pass/CMakeLists.txt | 10 + mlir/test/lib/Pass/TestPassManager.cpp | 127 + mlir/test/lib/TestDialect/CMakeLists.txt | 28 + mlir/test/lib/TestDialect/TestDialect.cpp | 316 ++ mlir/test/lib/TestDialect/TestDialect.h | 53 + mlir/test/lib/TestDialect/TestOps.td | 1047 +++++ mlir/test/lib/TestDialect/TestPatterns.cpp | 504 ++ mlir/test/lib/TestDialect/lit.local.cfg | 1 + mlir/test/lib/Transforms/CMakeLists.txt | 33 + mlir/test/lib/Transforms/TestCallGraph.cpp | 30 + mlir/test/lib/Transforms/TestConstantFold.cpp | 68 + mlir/test/lib/Transforms/TestInlining.cpp | 64 + mlir/test/lib/Transforms/TestLinalgTransforms.cpp | 53 + mlir/test/lib/Transforms/TestLiveness.cpp | 33 + mlir/test/lib/Transforms/TestLoopFusion.cpp | 166 + mlir/test/lib/Transforms/TestLoopMapping.cpp | 56 + .../lib/Transforms/TestLoopParametricTiling.cpp | 59 + .../lib/Transforms/TestMemRefStrideCalculation.cpp | 54 + mlir/test/lib/Transforms/TestOpaqueLoc.cpp | 84 + .../lib/Transforms/TestVectorToLoopsConversion.cpp | 34 + mlir/test/lib/Transforms/TestVectorTransforms.cpp | 38 + .../test/lib/Transforms/TestVectorizationUtils.cpp | 292 ++ mlir/test/lit.cfg.py | 73 + mlir/test/lit.site.cfg.py.in | 54 + mlir/test/mlir-cpu-runner/CMakeLists.txt | 15 + mlir/test/mlir-cpu-runner/cblas.cpp | 47 + mlir/test/mlir-cpu-runner/cblas_interface.cpp | 105 + mlir/test/mlir-cpu-runner/include/cblas.h | 49 + .../mlir-cpu-runner/include/mlir_runner_utils.h | 290 ++ .../mlir-cpu-runner/linalg_integration_test.mlir | 83 + mlir/test/mlir-cpu-runner/lit.local.cfg | 5 + mlir/test/mlir-cpu-runner/mlir_runner_utils.cpp | 85 + mlir/test/mlir-cpu-runner/simple.mlir | 53 + mlir/test/mlir-cpu-runner/unranked_memref.mlir | 59 + mlir/test/mlir-cpu-runner/utils.mlir | 74 + mlir/test/mlir-cuda-runner/all-reduce-op.mlir | 31 + mlir/test/mlir-cuda-runner/all-reduce-region.mlir | 29 + mlir/test/mlir-cuda-runner/gpu-to-cubin.mlir | 29 + mlir/test/mlir-cuda-runner/lit.local.cfg | 2 + mlir/test/mlir-cuda-runner/shuffle.mlir | 32 + mlir/test/mlir-tblgen/dialect.td | 53 + mlir/test/mlir-tblgen/expect-symbol.td | 18 + mlir/test/mlir-tblgen/op-attribute.td | 236 + mlir/test/mlir-tblgen/op-decl.td | 133 + mlir/test/mlir-tblgen/op-interface.td | 34 + mlir/test/mlir-tblgen/op-operand.td | 60 + mlir/test/mlir-tblgen/op-result.td | 109 + mlir/test/mlir-tblgen/pattern.mlir | 349 ++ mlir/test/mlir-tblgen/predicate.td | 94 + mlir/test/mlir-tblgen/return-types.mlir | 29 + mlir/test/mlir-tblgen/types.mlir | 452 ++ mlir/tools/CMakeLists.txt | 5 + mlir/tools/mlir-cpu-runner/CMakeLists.txt | 23 + mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp | 19 + mlir/tools/mlir-cuda-runner/CMakeLists.txt | 74 + .../mlir-cuda-runner/cuda-runtime-wrappers.cpp | 106 + mlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp | 120 + mlir/tools/mlir-opt/CMakeLists.txt | 67 + mlir/tools/mlir-opt/mlir-opt.cpp | 76 + mlir/tools/mlir-tblgen/CMakeLists.txt | 18 + mlir/tools/mlir-tblgen/DocGenUtilities.h | 36 + mlir/tools/mlir-tblgen/EnumsGen.cpp | 433 ++ mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp | 176 + mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp | 1793 ++++++++ mlir/tools/mlir-tblgen/OpDocGen.cpp | 183 + mlir/tools/mlir-tblgen/OpInterfacesGen.cpp | 292 ++ mlir/tools/mlir-tblgen/ReferenceImplGen.cpp | 85 + mlir/tools/mlir-tblgen/RewriterGen.cpp | 1036 +++++ mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp | 725 +++ mlir/tools/mlir-tblgen/StructsGen.cpp | 250 + mlir/tools/mlir-tblgen/mlir-tblgen.cpp | 83 + mlir/tools/mlir-translate/CMakeLists.txt | 17 + mlir/tools/mlir-translate/mlir-translate.cpp | 101 + mlir/unittests/ADT/CMakeLists.txt | 5 + mlir/unittests/ADT/TypeSwitchTest.cpp | 88 + mlir/unittests/CMakeLists.txt | 13 + mlir/unittests/Dialect/BroadcastShapeTest.cpp | 71 + mlir/unittests/Dialect/CMakeLists.txt | 9 + .../Dialect/QuantOps/QuantizationUtilsTest.cpp | 164 + mlir/unittests/Dialect/SPIRV/CMakeLists.txt | 11 + .../Dialect/SPIRV/DeserializationTest.cpp | 286 ++ mlir/unittests/Dialect/SPIRV/SerializationTest.cpp | 115 + mlir/unittests/IR/AttributeTest.cpp | 138 + mlir/unittests/IR/CMakeLists.txt | 9 + mlir/unittests/IR/DialectTest.cpp | 29 + mlir/unittests/IR/OperationSupportTest.cpp | 108 + mlir/unittests/IR/StringExtrasTest.cpp | 65 + mlir/unittests/Pass/AnalysisManagerTest.cpp | 141 + mlir/unittests/Pass/CMakeLists.txt | 6 + mlir/unittests/Quantizer/Support/RulesTest.cpp | 99 + .../Quantizer/Support/UniformSolversTest.cpp | 142 + mlir/unittests/SDBM/CMakeLists.txt | 8 + mlir/unittests/SDBM/SDBMTest.cpp | 447 ++ mlir/unittests/TableGen/CMakeLists.txt | 21 + mlir/unittests/TableGen/EnumsGenTest.cpp | 98 + mlir/unittests/TableGen/FormatTest.cpp | 157 + mlir/unittests/TableGen/StructsGenTest.cpp | 137 + mlir/unittests/TableGen/enums.td | 33 + mlir/unittests/TableGen/structs.td | 20 + mlir/utils/emacs/mlir-mode.el | 79 + mlir/utils/generate-test-checks.py | 208 + mlir/utils/spirv/define_enum.sh | 26 + mlir/utils/spirv/define_inst.sh | 49 + mlir/utils/spirv/define_opcodes.sh | 28 + mlir/utils/spirv/gen_spirv_dialect.py | 729 +++ mlir/utils/textmate/mlir.json | 113 + mlir/utils/vim/README | 9 + mlir/utils/vim/ftdetect/mlir.vim | 1 + mlir/utils/vim/ftplugin/mlir.vim | 12 + mlir/utils/vim/indent/mlir.vim | 75 + mlir/utils/vim/syntax/mlir.vim | 116 + polly/docs/experiments/matmul/matmul.ll | 4 +- polly/docs/experiments/matmul/matmul.normalopt.ll | 8 +- ...atmul.polly.interchanged+tiled+vector+openmp.ll | 6 +- .../matmul.polly.interchanged+tiled+vector.ll | 8 +- .../matmul/matmul.polly.interchanged+tiled.ll | 8 +- .../matmul/matmul.polly.interchanged.ll | 8 +- polly/docs/experiments/matmul/matmul.preopt.ll | 4 +- polly/test/DependenceInfo/fine_grain_dep_0.ll | 2 +- polly/test/ForwardOpTree/atax.ll | 2 +- polly/test/ForwardOpTree/jacobi-1d.ll | 2 +- polly/test/GPGPU/host-statement.ll | 2 +- .../test/GPGPU/kernels-names-across-scops-funcs.ll | 4 +- polly/test/GPGPU/scheduler-timeout.ll | 2 +- polly/test/GPGPU/untouched-arrays.ll | 2 +- .../Isl/Ast/runtime_context_with_error_blocks.ll | 4 +- polly/test/Isl/CodeGen/OpenMP/mapped-phi-access.ll | 2 +- .../reference-argument-from-non-affine-region.ll | 2 +- ...t_load_instruction_referenced_by_parameter_1.ll | 8 +- ...t_load_instruction_referenced_by_parameter_2.ll | 4 +- polly/test/Isl/CodeGen/debug-intrinsics.ll | 2 +- .../error_block_contains_invalid_memory_access.ll | 4 +- polly/test/Isl/CodeGen/hoisting_1.ll | 2 +- polly/test/Isl/CodeGen/hoisting_2.ll | 2 +- polly/test/Isl/CodeGen/intrinsics_lifetime.ll | 2 +- polly/test/Isl/CodeGen/intrinsics_misc.ll | 2 +- .../Isl/CodeGen/invariant_cannot_handle_void.ll | 2 +- .../invariant_load_different_sized_types.ll | 2 +- ...nvariant_load_not_executed_but_in_parameters.ll | 8 +- .../CodeGen/invariant_verify_function_failed.ll | 4 +- .../CodeGen/invariant_verify_function_failed_2.ll | 2 +- .../CodeGen/loop-invariant-load-type-mismatch.ll | 2 +- .../Isl/CodeGen/multiple-types-invariant-load-2.ll | 2 +- polly/test/Isl/CodeGen/out-of-scop-phi-node-use.ll | 2 +- polly/test/Isl/CodeGen/phi-defined-before-scop.ll | 2 +- polly/test/Isl/CodeGen/pr25241.ll | 2 +- .../Isl/CodeGen/scev_expansion_in_nonaffine.ll | 2 +- .../pattern-matching-based-opts-after-delicm.ll | 2 +- .../prevectorization-without-tiling.ll | 2 +- polly/test/ScheduleOptimizer/prevectorization.ll | 2 +- .../test/ScopDetect/error-block-always-executed.ll | 4 +- .../ScopDetect/error-block-referenced-from-scop.ll | 4 +- polly/test/ScopDetect/expand-region-correctly-2.ll | 2 +- polly/test/ScopDetect/intrinsics_1.ll | 4 +- polly/test/ScopDetect/intrinsics_2.ll | 2 +- polly/test/ScopDetect/intrinsics_3.ll | 2 +- polly/test/ScopDetect/report-scop-location.ll | 2 +- .../ReportIrreducibleRegion.ll | 2 +- .../ScopDetectionDiagnostics/ReportLoopBound-01.ll | 2 +- .../ReportLoopHasNoExit.ll | 2 +- .../ReportNonAffineAccess-01.ll | 2 +- .../ScopDetectionDiagnostics/ReportUnprofitable.ll | 2 +- .../ReportVariantBasePtr-01.ll | 2 +- polly/test/ScopInfo/BoundChecks/single-loop.ll | 4 +- polly/test/ScopInfo/BoundChecks/two-loops.ll | 4 +- polly/test/ScopInfo/complex-expression.ll | 2 +- .../ScopInfo/constant_functions_as_unknowns.ll | 4 +- .../test/ScopInfo/constant_functions_multi_dim.ll | 4 +- .../ScopInfo/do-not-model-error-block-accesses.ll | 4 +- .../ScopInfo/early_exit_for_complex_domains.ll | 2 +- polly/test/ScopInfo/expensive-boundary-context.ll | 2 +- polly/test/ScopInfo/intrinsics.ll | 2 +- .../ScopInfo/long-sequence-of-error-blocks-2.ll | 6 +- .../test/ScopInfo/long-sequence-of-error-blocks.ll | 6 +- polly/test/ScopInfo/memcpy-raw-source.ll | 2 +- .../test/ScopInfo/mismatching-array-dimensions.ll | 2 +- polly/test/ScopInfo/multidim_srem.ll | 2 +- polly/test/ScopInfo/remarks.ll | 4 +- .../ScopInfo/scev-div-with-evaluatable-divisor.ll | 2 +- polly/test/ScopInfo/unnamed_stmts.ll | 2 +- polly/test/Simplify/phi_in_regionstmt.ll | 2 +- 2177 files changed, 236900 insertions(+), 4275 deletions(-) create mode 100644 clang-tools-extra/test/clang-tidy/checkers/readability-magic-nu [...] create mode 100644 compiler-rt/test/msan/qsort.cpp create mode 100644 libc/config/CMakeLists.txt create mode 100644 libc/config/linux/CMakeLists.txt create mode 100644 libc/config/linux/platfrom_defs.h.inc create mode 100644 libc/config/linux/syscall_numbers.h.inc create mode 100644 libc/config/linux/x86_64/CMakeLists.txt create mode 100644 libc/config/linux/x86_64/syscall.h.inc create mode 100644 libc/config/linux/x86_64/syscall_test.cpp create mode 100644 libc/include/__posix-types.h create mode 100644 libc/include/sys/mman.h.def create mode 100644 libc/include/sys/syscall.h.def delete mode 100644 libc/src/__support/linux/entrypoint_macro.h.inc create mode 100644 libc/src/sys/CMakeLists.txt create mode 100644 libc/src/sys/mman/CMakeLists.txt create mode 100644 libc/src/sys/mman/mmap.cpp create mode 100644 libc/src/sys/mman/mmap.h create mode 100644 libc/src/sys/mman/mmap_test.cpp create mode 100644 libc/src/sys/mman/munmap.cpp create mode 100644 libc/src/sys/mman/munmap.h create mode 100644 libc/src/unistd/CMakeLists.txt create mode 100644 libc/src/unistd/syscall.h.def delete mode 100644 lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h delete mode 100644 lldb/source/Symbol/ClangExternalASTSourceCommon.cpp create mode 100644 llvm/docs/AMDGPU/AMDGPUAsmGFX900.rst create mode 100644 llvm/docs/AMDGPU/AMDGPUAsmGFX904.rst create mode 100644 llvm/docs/AMDGPU/AMDGPUAsmGFX906.rst create mode 100644 llvm/docs/AMDGPU/AMDGPUAsmGFX908.rst create mode 100644 llvm/docs/AMDGPU/gfx900_mad_type_dev.rst create mode 100644 llvm/docs/AMDGPU/gfx900_mod_vop3_abs_neg.rst create mode 100644 llvm/docs/AMDGPU/gfx900_src32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx900_src32_1.rst create mode 100644 llvm/docs/AMDGPU/gfx900_vdst32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx904_mad_type_dev.rst create mode 100644 llvm/docs/AMDGPU/gfx904_mod_vop3_abs_neg.rst create mode 100644 llvm/docs/AMDGPU/gfx904_src32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx904_src32_1.rst create mode 100644 llvm/docs/AMDGPU/gfx904_vdst32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx906_mad_type_dev.rst create mode 100644 llvm/docs/AMDGPU/gfx906_mod_dpp_sdwa_abs_neg.rst create mode 100644 llvm/docs/AMDGPU/gfx906_mod_sdwa_sext.rst create mode 100644 llvm/docs/AMDGPU/gfx906_mod_vop3_abs_neg.rst create mode 100644 llvm/docs/AMDGPU/gfx906_src32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx906_src32_1.rst create mode 100644 llvm/docs/AMDGPU/gfx906_src32_2.rst create mode 100644 llvm/docs/AMDGPU/gfx906_type_dev.rst create mode 100644 llvm/docs/AMDGPU/gfx906_vdst32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx906_vsrc32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_addr_buf.rst create mode 100644 llvm/docs/AMDGPU/gfx908_adst1024_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_adst128_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_adst32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_adst512_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_asrc1024_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_asrc128_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_asrc32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_asrc512_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_data_buf_atomic32.rst create mode 100644 llvm/docs/AMDGPU/gfx908_dst_flat_atomic32.rst create mode 100644 llvm/docs/AMDGPU/gfx908_mad_type_dev.rst create mode 100644 llvm/docs/AMDGPU/gfx908_mod_dpp_sdwa_abs_neg.rst create mode 100644 llvm/docs/AMDGPU/gfx908_mod_sdwa_sext.rst create mode 100644 llvm/docs/AMDGPU/gfx908_mod_vop3_abs_neg.rst create mode 100644 llvm/docs/AMDGPU/gfx908_offset_buf.rst create mode 100644 llvm/docs/AMDGPU/gfx908_opt.rst create mode 100644 llvm/docs/AMDGPU/gfx908_ret.rst create mode 100644 llvm/docs/AMDGPU/gfx908_rsrc_buf.rst create mode 100644 llvm/docs/AMDGPU/gfx908_saddr_flat_global.rst create mode 100644 llvm/docs/AMDGPU/gfx908_src32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_src32_1.rst create mode 100644 llvm/docs/AMDGPU/gfx908_src32_2.rst create mode 100644 llvm/docs/AMDGPU/gfx908_src32_3.rst create mode 100644 llvm/docs/AMDGPU/gfx908_type_dev.rst create mode 100644 llvm/docs/AMDGPU/gfx908_vaddr_flat_global.rst create mode 100644 llvm/docs/AMDGPU/gfx908_vasrc32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_vasrc64_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_vdata32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_vdst32_0.rst create mode 100644 llvm/docs/AMDGPU/gfx908_vsrc32_0.rst delete mode 100644 llvm/docs/AMDGPU/gfx9_mad_type_dev.rst create mode 100644 llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.mir create mode 100644 llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir create mode 100644 llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-frint.s16.mir create mode 100644 llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-intrinsic-trunc.mir create mode 100644 llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-intrinsic-trunc [...] create mode 100644 llvm/test/DebugInfo/X86/invalid-unit-header.s create mode 100644 llvm/test/MC/X86/Inputs/align-branch-64-1.s create mode 100644 llvm/test/MC/X86/Inputs/align-branch-64-2.s create mode 100644 llvm/test/Transforms/Attributor/undefined_behavior.ll create mode 100644 llvm/test/tools/llvm-dwarfdump/X86/exprloc.s delete mode 100644 llvm/test/tools/llvm-readobj/ELF/Inputs/relocs.obj.elf-x86_64 delete mode 100644 llvm/test/tools/llvm-readobj/ELF/Inputs/symbols-proc-specific.e [...] create mode 100644 llvm/test/tools/llvm-readobj/ELF/file-header-abi-version.test create mode 100644 llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test delete mode 100644 llvm/test/tools/llvm-readobj/ELF/gnu-symbols.test create mode 100644 mlir/.clang-format create mode 100644 mlir/CMakeLists.txt create mode 100644 mlir/LICENSE.TXT create mode 100644 mlir/README.md create mode 100644 mlir/docs/Canonicalization.md create mode 100644 mlir/docs/ConversionToLLVMDialect.md create mode 100644 mlir/docs/DeclarativeRewrites.md create mode 100644 mlir/docs/DefiningAttributesAndTypes.md create mode 100644 mlir/docs/Diagnostics.md create mode 100644 mlir/docs/DialectConversion.md create mode 100644 mlir/docs/Dialects/Affine.md create mode 100644 mlir/docs/Dialects/GPU.md create mode 100644 mlir/docs/Dialects/LLVM.md create mode 100644 mlir/docs/Dialects/Linalg.md create mode 100644 mlir/docs/Dialects/SPIR-V.md create mode 100644 mlir/docs/Dialects/Standard.md create mode 100644 mlir/docs/Dialects/Vector.md create mode 100644 mlir/docs/EDSC.md create mode 100644 mlir/docs/GenericDAGRewriter.md create mode 100644 mlir/docs/Interfaces.md create mode 100644 mlir/docs/LangRef.md create mode 100644 mlir/docs/MLIRForGraphAlgorithms.md create mode 100644 mlir/docs/OpDefinitions.md create mode 100644 mlir/docs/Passes.md create mode 100644 mlir/docs/Quantization.md create mode 100644 mlir/docs/QuickstartRewrites.md create mode 100644 mlir/docs/Rationale.md create mode 100644 mlir/docs/RationaleSimplifiedPolyhedralForm.md create mode 100644 mlir/docs/Traits.md create mode 100644 mlir/docs/Tutorials/Toy/Ch-1.md create mode 100755 mlir/docs/Tutorials/Toy/Ch-2.md create mode 100644 mlir/docs/Tutorials/Toy/Ch-3.md create mode 100644 mlir/docs/Tutorials/Toy/Ch-4.md create mode 100644 mlir/docs/Tutorials/Toy/Ch-5.md create mode 100644 mlir/docs/Tutorials/Toy/Ch-6.md create mode 100644 mlir/docs/Tutorials/Toy/Ch-7.md create mode 100644 mlir/docs/UsageOfConst.md create mode 100644 mlir/docs/WritingAPass.md create mode 100644 mlir/docs/includes/img/index-map.svg create mode 100644 mlir/docs/includes/img/view-operation.svg create mode 100644 mlir/examples/CMakeLists.txt create mode 100644 mlir/examples/toy/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch1/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch1/include/toy/AST.h create mode 100644 mlir/examples/toy/Ch1/include/toy/Lexer.h create mode 100644 mlir/examples/toy/Ch1/include/toy/Parser.h create mode 100644 mlir/examples/toy/Ch1/parser/AST.cpp create mode 100644 mlir/examples/toy/Ch1/toyc.cpp create mode 100644 mlir/examples/toy/Ch2/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch2/include/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch2/include/toy/AST.h create mode 100644 mlir/examples/toy/Ch2/include/toy/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch2/include/toy/Dialect.h create mode 100644 mlir/examples/toy/Ch2/include/toy/Lexer.h create mode 100644 mlir/examples/toy/Ch2/include/toy/MLIRGen.h create mode 100644 mlir/examples/toy/Ch2/include/toy/Ops.td create mode 100644 mlir/examples/toy/Ch2/include/toy/Parser.h create mode 100644 mlir/examples/toy/Ch2/mlir/Dialect.cpp create mode 100644 mlir/examples/toy/Ch2/mlir/MLIRGen.cpp create mode 100644 mlir/examples/toy/Ch2/parser/AST.cpp create mode 100644 mlir/examples/toy/Ch2/toyc.cpp create mode 100644 mlir/examples/toy/Ch3/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch3/include/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch3/include/toy/AST.h create mode 100644 mlir/examples/toy/Ch3/include/toy/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch3/include/toy/Dialect.h create mode 100644 mlir/examples/toy/Ch3/include/toy/Lexer.h create mode 100644 mlir/examples/toy/Ch3/include/toy/MLIRGen.h create mode 100644 mlir/examples/toy/Ch3/include/toy/Ops.td create mode 100644 mlir/examples/toy/Ch3/include/toy/Parser.h create mode 100644 mlir/examples/toy/Ch3/mlir/Dialect.cpp create mode 100644 mlir/examples/toy/Ch3/mlir/MLIRGen.cpp create mode 100644 mlir/examples/toy/Ch3/mlir/ToyCombine.cpp create mode 100644 mlir/examples/toy/Ch3/mlir/ToyCombine.td create mode 100644 mlir/examples/toy/Ch3/parser/AST.cpp create mode 100644 mlir/examples/toy/Ch3/toyc.cpp create mode 100644 mlir/examples/toy/Ch4/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch4/include/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch4/include/toy/AST.h create mode 100644 mlir/examples/toy/Ch4/include/toy/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch4/include/toy/Dialect.h create mode 100644 mlir/examples/toy/Ch4/include/toy/Lexer.h create mode 100644 mlir/examples/toy/Ch4/include/toy/MLIRGen.h create mode 100644 mlir/examples/toy/Ch4/include/toy/Ops.td create mode 100644 mlir/examples/toy/Ch4/include/toy/Parser.h create mode 100644 mlir/examples/toy/Ch4/include/toy/Passes.h create mode 100644 mlir/examples/toy/Ch4/include/toy/ShapeInferenceInterface.h create mode 100644 mlir/examples/toy/Ch4/include/toy/ShapeInferenceInterface.td create mode 100644 mlir/examples/toy/Ch4/mlir/DeadFunctionEliminationPass.cpp create mode 100644 mlir/examples/toy/Ch4/mlir/Dialect.cpp create mode 100644 mlir/examples/toy/Ch4/mlir/MLIRGen.cpp create mode 100644 mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp create mode 100644 mlir/examples/toy/Ch4/mlir/ToyCombine.cpp create mode 100644 mlir/examples/toy/Ch4/mlir/ToyCombine.td create mode 100644 mlir/examples/toy/Ch4/parser/AST.cpp create mode 100644 mlir/examples/toy/Ch4/toyc.cpp create mode 100644 mlir/examples/toy/Ch5/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch5/include/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch5/include/toy/AST.h create mode 100644 mlir/examples/toy/Ch5/include/toy/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch5/include/toy/Dialect.h create mode 100644 mlir/examples/toy/Ch5/include/toy/Lexer.h create mode 100644 mlir/examples/toy/Ch5/include/toy/MLIRGen.h create mode 100644 mlir/examples/toy/Ch5/include/toy/Ops.td create mode 100644 mlir/examples/toy/Ch5/include/toy/Parser.h create mode 100644 mlir/examples/toy/Ch5/include/toy/Passes.h create mode 100644 mlir/examples/toy/Ch5/include/toy/ShapeInferenceInterface.h create mode 100644 mlir/examples/toy/Ch5/include/toy/ShapeInferenceInterface.td create mode 100644 mlir/examples/toy/Ch5/mlir/DeadFunctionEliminationPass.cpp create mode 100644 mlir/examples/toy/Ch5/mlir/Dialect.cpp create mode 100644 mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp create mode 100644 mlir/examples/toy/Ch5/mlir/MLIRGen.cpp create mode 100644 mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp create mode 100644 mlir/examples/toy/Ch5/mlir/ToyCombine.cpp create mode 100644 mlir/examples/toy/Ch5/mlir/ToyCombine.td create mode 100644 mlir/examples/toy/Ch5/parser/AST.cpp create mode 100644 mlir/examples/toy/Ch5/toyc.cpp create mode 100644 mlir/examples/toy/Ch6/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch6/include/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch6/include/toy/AST.h create mode 100644 mlir/examples/toy/Ch6/include/toy/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch6/include/toy/Dialect.h create mode 100644 mlir/examples/toy/Ch6/include/toy/Lexer.h create mode 100644 mlir/examples/toy/Ch6/include/toy/MLIRGen.h create mode 100644 mlir/examples/toy/Ch6/include/toy/Ops.td create mode 100644 mlir/examples/toy/Ch6/include/toy/Parser.h create mode 100644 mlir/examples/toy/Ch6/include/toy/Passes.h create mode 100644 mlir/examples/toy/Ch6/include/toy/ShapeInferenceInterface.h create mode 100644 mlir/examples/toy/Ch6/include/toy/ShapeInferenceInterface.td create mode 100644 mlir/examples/toy/Ch6/mlir/DeadFunctionEliminationPass.cpp create mode 100644 mlir/examples/toy/Ch6/mlir/Dialect.cpp create mode 100644 mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp create mode 100644 mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp create mode 100644 mlir/examples/toy/Ch6/mlir/MLIRGen.cpp create mode 100644 mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp create mode 100644 mlir/examples/toy/Ch6/mlir/ToyCombine.cpp create mode 100644 mlir/examples/toy/Ch6/mlir/ToyCombine.td create mode 100644 mlir/examples/toy/Ch6/parser/AST.cpp create mode 100644 mlir/examples/toy/Ch6/toyc.cpp create mode 100644 mlir/examples/toy/Ch7/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch7/include/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch7/include/toy/AST.h create mode 100644 mlir/examples/toy/Ch7/include/toy/CMakeLists.txt create mode 100644 mlir/examples/toy/Ch7/include/toy/Dialect.h create mode 100644 mlir/examples/toy/Ch7/include/toy/Lexer.h create mode 100644 mlir/examples/toy/Ch7/include/toy/MLIRGen.h create mode 100644 mlir/examples/toy/Ch7/include/toy/Ops.td create mode 100644 mlir/examples/toy/Ch7/include/toy/Parser.h create mode 100644 mlir/examples/toy/Ch7/include/toy/Passes.h create mode 100644 mlir/examples/toy/Ch7/include/toy/ShapeInferenceInterface.h create mode 100644 mlir/examples/toy/Ch7/include/toy/ShapeInferenceInterface.td create mode 100644 mlir/examples/toy/Ch7/mlir/DeadFunctionEliminationPass.cpp create mode 100644 mlir/examples/toy/Ch7/mlir/Dialect.cpp create mode 100644 mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp create mode 100644 mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp create mode 100644 mlir/examples/toy/Ch7/mlir/MLIRGen.cpp create mode 100644 mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp create mode 100644 mlir/examples/toy/Ch7/mlir/ToyCombine.cpp create mode 100644 mlir/examples/toy/Ch7/mlir/ToyCombine.td create mode 100644 mlir/examples/toy/Ch7/parser/AST.cpp create mode 100644 mlir/examples/toy/Ch7/toyc.cpp create mode 100644 mlir/examples/toy/README.md create mode 100644 mlir/include/mlir-c/Core.h create mode 100644 mlir/include/mlir/ADT/TypeSwitch.h create mode 100644 mlir/include/mlir/Analysis/AffineAnalysis.h create mode 100644 mlir/include/mlir/Analysis/AffineStructures.h create mode 100644 mlir/include/mlir/Analysis/CMakeLists.txt create mode 100644 mlir/include/mlir/Analysis/CallGraph.h create mode 100644 mlir/include/mlir/Analysis/CallInterfaces.h create mode 100644 mlir/include/mlir/Analysis/CallInterfaces.td create mode 100644 mlir/include/mlir/Analysis/Dominance.h create mode 100644 mlir/include/mlir/Analysis/InferTypeOpInterface.h create mode 100644 mlir/include/mlir/Analysis/InferTypeOpInterface.td create mode 100644 mlir/include/mlir/Analysis/Liveness.h create mode 100644 mlir/include/mlir/Analysis/LoopAnalysis.h create mode 100644 mlir/include/mlir/Analysis/NestedMatcher.h create mode 100644 mlir/include/mlir/Analysis/Passes.h create mode 100644 mlir/include/mlir/Analysis/SliceAnalysis.h create mode 100644 mlir/include/mlir/Analysis/Utils.h create mode 100644 mlir/include/mlir/Analysis/Verifier.h create mode 100644 mlir/include/mlir/CMakeLists.txt create mode 100644 mlir/include/mlir/Conversion/AffineToStandard/AffineToStandard.h create mode 100644 mlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h create mode 100644 mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h create mode 100644 mlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h create mode 100644 mlir/include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.h create mode 100644 mlir/include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.h create mode 100644 mlir/include/mlir/Conversion/LinalgToLLVM/LinalgToLLVM.h create mode 100644 mlir/include/mlir/Conversion/LoopToStandard/ConvertLoopToStandard.h create mode 100644 mlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPU.h create mode 100644 mlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h create mode 100644 mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h create mode 100644 mlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLL [...] create mode 100644 mlir/include/mlir/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.h create mode 100644 mlir/include/mlir/Conversion/StandardToSPIRV/ConvertStandardToS [...] create mode 100644 mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h create mode 100644 mlir/include/mlir/Conversion/VectorToLoops/ConvertVectorToLoops.h create mode 100644 mlir/include/mlir/Dialect/AffineOps/AffineOps.h create mode 100644 mlir/include/mlir/Dialect/AffineOps/AffineOps.td create mode 100644 mlir/include/mlir/Dialect/AffineOps/AffineOpsBase.td create mode 100644 mlir/include/mlir/Dialect/AffineOps/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/CommonFolders.h create mode 100644 mlir/include/mlir/Dialect/FxpMathOps/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/FxpMathOps/FxpMathOps.h create mode 100644 mlir/include/mlir/Dialect/FxpMathOps/FxpMathOps.td create mode 100644 mlir/include/mlir/Dialect/FxpMathOps/Passes.h create mode 100644 mlir/include/mlir/Dialect/GPU/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/GPU/GPUDialect.h create mode 100644 mlir/include/mlir/Dialect/GPU/GPUOps.td create mode 100644 mlir/include/mlir/Dialect/GPU/Passes.h create mode 100644 mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h create mode 100644 mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td create mode 100644 mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td create mode 100644 mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h create mode 100644 mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td create mode 100644 mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h create mode 100644 mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td create mode 100644 mlir/include/mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h create mode 100644 mlir/include/mlir/Dialect/Linalg/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/Linalg/EDSC/Builders.h create mode 100644 mlir/include/mlir/Dialect/Linalg/EDSC/Intrinsics.h create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgDoc.td create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgLibraryOps.td create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h create mode 100644 mlir/include/mlir/Dialect/Linalg/IR/LinalgTypes.h create mode 100644 mlir/include/mlir/Dialect/Linalg/Passes.h create mode 100644 mlir/include/mlir/Dialect/Linalg/Transforms/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.td create mode 100644 mlir/include/mlir/Dialect/Linalg/Transforms/LinalgTransforms.h create mode 100644 mlir/include/mlir/Dialect/Linalg/Utils/Intrinsics.h create mode 100644 mlir/include/mlir/Dialect/Linalg/Utils/Utils.h create mode 100644 mlir/include/mlir/Dialect/LoopOps/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/LoopOps/LoopOps.h create mode 100644 mlir/include/mlir/Dialect/LoopOps/LoopOps.td create mode 100644 mlir/include/mlir/Dialect/QuantOps/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/QuantOps/FakeQuantSupport.h create mode 100644 mlir/include/mlir/Dialect/QuantOps/Passes.h create mode 100644 mlir/include/mlir/Dialect/QuantOps/QuantOps.h create mode 100644 mlir/include/mlir/Dialect/QuantOps/QuantOps.td create mode 100644 mlir/include/mlir/Dialect/QuantOps/QuantPredicates.td create mode 100644 mlir/include/mlir/Dialect/QuantOps/QuantTypes.h create mode 100644 mlir/include/mlir/Dialect/QuantOps/QuantizeUtils.h create mode 100644 mlir/include/mlir/Dialect/QuantOps/UniformSupport.h create mode 100644 mlir/include/mlir/Dialect/SDBM/SDBM.h create mode 100644 mlir/include/mlir/Dialect/SDBM/SDBMDialect.h create mode 100644 mlir/include/mlir/Dialect/SDBM/SDBMExpr.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/SPIRV/LayoutUtils.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/Passes.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVArithmeticOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVAtomicOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVBase.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVBinaryUtils.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVBitOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVCastOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVCompositeOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVControlFlowOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVDialect.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVGLSLOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVGroupOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVLogicalOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVLowering.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVNonUniformOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVOps.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td create mode 100644 mlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h create mode 100644 mlir/include/mlir/Dialect/SPIRV/Serialization.h create mode 100644 mlir/include/mlir/Dialect/StandardOps/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/StandardOps/Ops.h create mode 100644 mlir/include/mlir/Dialect/StandardOps/Ops.td create mode 100644 mlir/include/mlir/Dialect/Traits.h create mode 100644 mlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h create mode 100644 mlir/include/mlir/Dialect/VectorOps/CMakeLists.txt create mode 100644 mlir/include/mlir/Dialect/VectorOps/Utils.h create mode 100644 mlir/include/mlir/Dialect/VectorOps/VectorOps.h create mode 100644 mlir/include/mlir/Dialect/VectorOps/VectorOps.td create mode 100644 mlir/include/mlir/Dialect/VectorOps/VectorTransformPatterns.td create mode 100644 mlir/include/mlir/Dialect/VectorOps/VectorTransforms.h create mode 100644 mlir/include/mlir/EDSC/Builders.h create mode 100644 mlir/include/mlir/EDSC/Helpers.h create mode 100644 mlir/include/mlir/EDSC/Intrinsics.h create mode 100644 mlir/include/mlir/ExecutionEngine/ExecutionEngine.h create mode 100644 mlir/include/mlir/ExecutionEngine/OptUtils.h create mode 100644 mlir/include/mlir/IR/AffineExpr.h create mode 100644 mlir/include/mlir/IR/AffineExprVisitor.h create mode 100644 mlir/include/mlir/IR/AffineMap.h create mode 100644 mlir/include/mlir/IR/AttributeSupport.h create mode 100644 mlir/include/mlir/IR/Attributes.h create mode 100644 mlir/include/mlir/IR/Block.h create mode 100644 mlir/include/mlir/IR/BlockAndValueMapping.h create mode 100644 mlir/include/mlir/IR/BlockSupport.h create mode 100644 mlir/include/mlir/IR/Builders.h create mode 100644 mlir/include/mlir/IR/CMakeLists.txt create mode 100644 mlir/include/mlir/IR/Diagnostics.h create mode 100644 mlir/include/mlir/IR/Dialect.h create mode 100644 mlir/include/mlir/IR/DialectHooks.h create mode 100644 mlir/include/mlir/IR/DialectImplementation.h create mode 100644 mlir/include/mlir/IR/DialectInterface.h create mode 100644 mlir/include/mlir/IR/DialectSymbolRegistry.def create mode 100644 mlir/include/mlir/IR/Function.h create mode 100644 mlir/include/mlir/IR/FunctionImplementation.h create mode 100644 mlir/include/mlir/IR/FunctionSupport.h create mode 100644 mlir/include/mlir/IR/Identifier.h create mode 100644 mlir/include/mlir/IR/IntegerSet.h create mode 100644 mlir/include/mlir/IR/Location.h create mode 100644 mlir/include/mlir/IR/MLIRContext.h create mode 100644 mlir/include/mlir/IR/Matchers.h create mode 100644 mlir/include/mlir/IR/Module.h create mode 100644 mlir/include/mlir/IR/OpAsmInterface.td create mode 100644 mlir/include/mlir/IR/OpBase.td create mode 100644 mlir/include/mlir/IR/OpDefinition.h create mode 100644 mlir/include/mlir/IR/OpImplementation.h create mode 100644 mlir/include/mlir/IR/Operation.h create mode 100644 mlir/include/mlir/IR/OperationSupport.h create mode 100644 mlir/include/mlir/IR/PatternMatch.h create mode 100644 mlir/include/mlir/IR/Region.h create mode 100644 mlir/include/mlir/IR/RegionGraphTraits.h create mode 100644 mlir/include/mlir/IR/StandardTypes.h create mode 100644 mlir/include/mlir/IR/StorageUniquerSupport.h create mode 100644 mlir/include/mlir/IR/SymbolTable.h create mode 100644 mlir/include/mlir/IR/TypeSupport.h create mode 100644 mlir/include/mlir/IR/TypeUtilities.h create mode 100644 mlir/include/mlir/IR/Types.h create mode 100644 mlir/include/mlir/IR/UseDefLists.h create mode 100644 mlir/include/mlir/IR/Value.h create mode 100644 mlir/include/mlir/IR/Visitors.h create mode 100644 mlir/include/mlir/Parser.h create mode 100644 mlir/include/mlir/Pass/AnalysisManager.h create mode 100644 mlir/include/mlir/Pass/Pass.h create mode 100644 mlir/include/mlir/Pass/PassInstrumentation.h create mode 100644 mlir/include/mlir/Pass/PassManager.h create mode 100644 mlir/include/mlir/Pass/PassOptions.h create mode 100644 mlir/include/mlir/Pass/PassRegistry.h create mode 100644 mlir/include/mlir/Quantizer/Configurations/FxpMathConfig.h create mode 100644 mlir/include/mlir/Quantizer/Support/Configuration.h create mode 100644 mlir/include/mlir/Quantizer/Support/ConstraintAnalysisGraph.h create mode 100644 mlir/include/mlir/Quantizer/Support/ConstraintAnalysisGraphTraits.h create mode 100644 mlir/include/mlir/Quantizer/Support/Metadata.h create mode 100644 mlir/include/mlir/Quantizer/Support/Rules.h create mode 100644 mlir/include/mlir/Quantizer/Support/Statistics.h create mode 100644 mlir/include/mlir/Quantizer/Support/TypeUtils.h create mode 100644 mlir/include/mlir/Quantizer/Support/UniformConstraints.h create mode 100644 mlir/include/mlir/Quantizer/Support/UniformSolvers.h create mode 100644 mlir/include/mlir/Quantizer/Transforms/Passes.h create mode 100644 mlir/include/mlir/Support/DebugStringHelper.h create mode 100644 mlir/include/mlir/Support/FileUtilities.h create mode 100644 mlir/include/mlir/Support/Functional.h create mode 100644 mlir/include/mlir/Support/JitRunner.h create mode 100644 mlir/include/mlir/Support/LLVM.h create mode 100644 mlir/include/mlir/Support/LogicalResult.h create mode 100644 mlir/include/mlir/Support/MathExtras.h create mode 100644 mlir/include/mlir/Support/MlirOptMain.h create mode 100644 mlir/include/mlir/Support/STLExtras.h create mode 100644 mlir/include/mlir/Support/StorageUniquer.h create mode 100644 mlir/include/mlir/Support/StringExtras.h create mode 100644 mlir/include/mlir/Support/ToolUtilities.h create mode 100644 mlir/include/mlir/Support/TranslateClParser.h create mode 100644 mlir/include/mlir/TableGen/Argument.h create mode 100644 mlir/include/mlir/TableGen/Attribute.h create mode 100644 mlir/include/mlir/TableGen/Constraint.h create mode 100644 mlir/include/mlir/TableGen/Dialect.h create mode 100644 mlir/include/mlir/TableGen/Format.h create mode 100644 mlir/include/mlir/TableGen/GenInfo.h create mode 100644 mlir/include/mlir/TableGen/GenNameParser.h create mode 100644 mlir/include/mlir/TableGen/OpInterfaces.h create mode 100644 mlir/include/mlir/TableGen/OpTrait.h create mode 100644 mlir/include/mlir/TableGen/Operator.h create mode 100644 mlir/include/mlir/TableGen/Pattern.h create mode 100644 mlir/include/mlir/TableGen/Predicate.h create mode 100644 mlir/include/mlir/TableGen/Region.h create mode 100644 mlir/include/mlir/TableGen/Type.h create mode 100644 mlir/include/mlir/Target/LLVMIR.h create mode 100644 mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h create mode 100644 mlir/include/mlir/Target/NVVMIR.h create mode 100644 mlir/include/mlir/Target/ROCDLIR.h create mode 100644 mlir/include/mlir/Transforms/CMakeLists.txt create mode 100644 mlir/include/mlir/Transforms/DialectConversion.h create mode 100644 mlir/include/mlir/Transforms/FoldUtils.h create mode 100644 mlir/include/mlir/Transforms/InliningUtils.h create mode 100644 mlir/include/mlir/Transforms/LoopFusionUtils.h create mode 100644 mlir/include/mlir/Transforms/LoopLikeInterface.h create mode 100644 mlir/include/mlir/Transforms/LoopLikeInterface.td create mode 100644 mlir/include/mlir/Transforms/LoopUtils.h create mode 100644 mlir/include/mlir/Transforms/Passes.h create mode 100644 mlir/include/mlir/Transforms/RegionUtils.h create mode 100644 mlir/include/mlir/Transforms/SideEffectsInterface.h create mode 100644 mlir/include/mlir/Transforms/Utils.h create mode 100644 mlir/include/mlir/Transforms/ViewOpGraph.h create mode 100644 mlir/include/mlir/Transforms/ViewRegionGraph.h create mode 100644 mlir/include/mlir/Translation.h create mode 100644 mlir/lib/Analysis/AffineAnalysis.cpp create mode 100644 mlir/lib/Analysis/AffineStructures.cpp create mode 100644 mlir/lib/Analysis/CMakeLists.txt create mode 100644 mlir/lib/Analysis/CallGraph.cpp create mode 100644 mlir/lib/Analysis/Dominance.cpp create mode 100644 mlir/lib/Analysis/InferTypeOpInterface.cpp create mode 100644 mlir/lib/Analysis/Liveness.cpp create mode 100644 mlir/lib/Analysis/LoopAnalysis.cpp create mode 100644 mlir/lib/Analysis/MemRefBoundCheck.cpp create mode 100644 mlir/lib/Analysis/NestedMatcher.cpp create mode 100644 mlir/lib/Analysis/OpStats.cpp create mode 100644 mlir/lib/Analysis/SliceAnalysis.cpp create mode 100644 mlir/lib/Analysis/TestMemRefDependenceCheck.cpp create mode 100644 mlir/lib/Analysis/TestParallelismDetection.cpp create mode 100644 mlir/lib/Analysis/Utils.cpp create mode 100644 mlir/lib/Analysis/VectorAnalysis.cpp create mode 100644 mlir/lib/Analysis/Verifier.cpp create mode 100644 mlir/lib/CMakeLists.txt create mode 100644 mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp create mode 100644 mlir/lib/Conversion/AffineToStandard/CMakeLists.txt create mode 100644 mlir/lib/Conversion/CMakeLists.txt create mode 100644 mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h create mode 100644 mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h create mode 100644 mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt create mode 100644 mlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp create mode 100644 mlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp create mode 100644 mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt create mode 100644 mlir/lib/Conversion/GPUToNVVM/GPUToNVVM.td create mode 100644 mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp create mode 100644 mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt create mode 100644 mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp create mode 100644 mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt create mode 100644 mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp create mode 100644 mlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp create mode 100644 mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt create mode 100644 mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp create mode 100644 mlir/lib/Conversion/LoopToStandard/CMakeLists.txt create mode 100644 mlir/lib/Conversion/LoopToStandard/ConvertLoopToStandard.cpp create mode 100644 mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt create mode 100644 mlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp create mode 100644 mlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp create mode 100644 mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt create mode 100644 mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp create mode 100644 mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt create mode 100644 mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp create mode 100644 mlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp create mode 100644 mlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp create mode 100644 mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.td create mode 100644 mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt create mode 100644 mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp create mode 100644 mlir/lib/Conversion/VectorToLoops/CMakeLists.txt create mode 100644 mlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp create mode 100644 mlir/lib/Dialect/AffineOps/AffineOps.cpp create mode 100644 mlir/lib/Dialect/AffineOps/CMakeLists.txt create mode 100644 mlir/lib/Dialect/AffineOps/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/CMakeLists.txt create mode 100644 mlir/lib/Dialect/FxpMathOps/CMakeLists.txt create mode 100644 mlir/lib/Dialect/FxpMathOps/IR/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/FxpMathOps/IR/FxpMathOps.cpp create mode 100644 mlir/lib/Dialect/FxpMathOps/Transforms/LowerUniformRealMath.cpp create mode 100644 mlir/lib/Dialect/FxpMathOps/Transforms/UniformKernelUtils.h create mode 100644 mlir/lib/Dialect/GPU/CMakeLists.txt create mode 100644 mlir/lib/Dialect/GPU/IR/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/GPU/IR/GPUDialect.cpp create mode 100644 mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp create mode 100644 mlir/lib/Dialect/LLVMIR/CMakeLists.txt create mode 100644 mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp create mode 100644 mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp create mode 100644 mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp create mode 100644 mlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp create mode 100644 mlir/lib/Dialect/Linalg/CMakeLists.txt create mode 100644 mlir/lib/Dialect/Linalg/EDSC/Builders.cpp create mode 100644 mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp create mode 100644 mlir/lib/Dialect/Linalg/IR/LinalgTypes.cpp create mode 100644 mlir/lib/Dialect/Linalg/LinalgRegistration.cpp create mode 100644 mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp create mode 100644 mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp create mode 100644 mlir/lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp create mode 100644 mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp create mode 100644 mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp create mode 100644 mlir/lib/Dialect/Linalg/Utils/Utils.cpp create mode 100644 mlir/lib/Dialect/LoopOps/CMakeLists.txt create mode 100644 mlir/lib/Dialect/LoopOps/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/LoopOps/LoopOps.cpp create mode 100644 mlir/lib/Dialect/QuantOps/CMakeLists.txt create mode 100644 mlir/lib/Dialect/QuantOps/IR/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/QuantOps/IR/QuantOps.cpp create mode 100644 mlir/lib/Dialect/QuantOps/IR/QuantTypes.cpp create mode 100644 mlir/lib/Dialect/QuantOps/IR/TypeDetail.h create mode 100644 mlir/lib/Dialect/QuantOps/IR/TypeParser.cpp create mode 100644 mlir/lib/Dialect/QuantOps/Transforms/ConvertConst.cpp create mode 100644 mlir/lib/Dialect/QuantOps/Transforms/ConvertSimQuant.cpp create mode 100644 mlir/lib/Dialect/QuantOps/Utils/FakeQuantSupport.cpp create mode 100644 mlir/lib/Dialect/QuantOps/Utils/QuantizeUtils.cpp create mode 100644 mlir/lib/Dialect/QuantOps/Utils/UniformSupport.cpp create mode 100644 mlir/lib/Dialect/SDBM/CMakeLists.txt create mode 100644 mlir/lib/Dialect/SDBM/SDBM.cpp create mode 100644 mlir/lib/Dialect/SDBM/SDBMDialect.cpp create mode 100644 mlir/lib/Dialect/SDBM/SDBMExpr.cpp create mode 100644 mlir/lib/Dialect/SDBM/SDBMExprDetail.h create mode 100644 mlir/lib/Dialect/SPIRV/CMakeLists.txt create mode 100644 mlir/lib/Dialect/SPIRV/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/SPIRV/LayoutUtils.cpp create mode 100644 mlir/lib/Dialect/SPIRV/SPIRVCanonicalization.td create mode 100644 mlir/lib/Dialect/SPIRV/SPIRVDialect.cpp create mode 100644 mlir/lib/Dialect/SPIRV/SPIRVLowering.cpp create mode 100644 mlir/lib/Dialect/SPIRV/SPIRVOps.cpp create mode 100644 mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp create mode 100644 mlir/lib/Dialect/SPIRV/Serialization/CMakeLists.txt create mode 100644 mlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp create mode 100644 mlir/lib/Dialect/SPIRV/Serialization/SPIRVBinaryUtils.cpp create mode 100644 mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp create mode 100644 mlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp create mode 100644 mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt create mode 100644 mlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLay [...] create mode 100644 mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp create mode 100644 mlir/lib/Dialect/StandardOps/CMakeLists.txt create mode 100644 mlir/lib/Dialect/StandardOps/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/StandardOps/Ops.cpp create mode 100644 mlir/lib/Dialect/Traits.cpp create mode 100644 mlir/lib/Dialect/VectorOps/CMakeLists.txt create mode 100644 mlir/lib/Dialect/VectorOps/DialectRegistration.cpp create mode 100644 mlir/lib/Dialect/VectorOps/VectorOps.cpp create mode 100644 mlir/lib/Dialect/VectorOps/VectorTransforms.cpp create mode 100644 mlir/lib/EDSC/Builders.cpp create mode 100644 mlir/lib/EDSC/CMakeLists.txt create mode 100644 mlir/lib/EDSC/CoreAPIs.cpp create mode 100644 mlir/lib/EDSC/Helpers.cpp create mode 100644 mlir/lib/EDSC/Intrinsics.cpp create mode 100644 mlir/lib/ExecutionEngine/CMakeLists.txt create mode 100644 mlir/lib/ExecutionEngine/ExecutionEngine.cpp create mode 100644 mlir/lib/ExecutionEngine/OptUtils.cpp create mode 100644 mlir/lib/IR/AffineExpr.cpp create mode 100644 mlir/lib/IR/AffineExprDetail.h create mode 100644 mlir/lib/IR/AffineMap.cpp create mode 100644 mlir/lib/IR/AffineMapDetail.h create mode 100644 mlir/lib/IR/AsmPrinter.cpp create mode 100644 mlir/lib/IR/AttributeDetail.h create mode 100644 mlir/lib/IR/Attributes.cpp create mode 100644 mlir/lib/IR/Block.cpp create mode 100644 mlir/lib/IR/Builders.cpp create mode 100644 mlir/lib/IR/CMakeLists.txt create mode 100644 mlir/lib/IR/Diagnostics.cpp create mode 100644 mlir/lib/IR/Dialect.cpp create mode 100644 mlir/lib/IR/Function.cpp create mode 100644 mlir/lib/IR/FunctionImplementation.cpp create mode 100644 mlir/lib/IR/IntegerSet.cpp create mode 100644 mlir/lib/IR/IntegerSetDetail.h create mode 100644 mlir/lib/IR/Location.cpp create mode 100644 mlir/lib/IR/LocationDetail.h create mode 100644 mlir/lib/IR/MLIRContext.cpp create mode 100644 mlir/lib/IR/Module.cpp create mode 100644 mlir/lib/IR/Operation.cpp create mode 100644 mlir/lib/IR/OperationSupport.cpp create mode 100644 mlir/lib/IR/PatternMatch.cpp create mode 100644 mlir/lib/IR/Region.cpp create mode 100644 mlir/lib/IR/StandardTypes.cpp create mode 100644 mlir/lib/IR/SymbolTable.cpp create mode 100644 mlir/lib/IR/TypeDetail.h create mode 100644 mlir/lib/IR/TypeUtilities.cpp create mode 100644 mlir/lib/IR/Types.cpp create mode 100644 mlir/lib/IR/Value.cpp create mode 100644 mlir/lib/IR/Visitors.cpp create mode 100644 mlir/lib/Parser/CMakeLists.txt create mode 100644 mlir/lib/Parser/Lexer.cpp create mode 100644 mlir/lib/Parser/Lexer.h create mode 100644 mlir/lib/Parser/Parser.cpp create mode 100644 mlir/lib/Parser/Token.cpp create mode 100644 mlir/lib/Parser/Token.h create mode 100644 mlir/lib/Parser/TokenKinds.def create mode 100644 mlir/lib/Pass/CMakeLists.txt create mode 100644 mlir/lib/Pass/IRPrinting.cpp create mode 100644 mlir/lib/Pass/Pass.cpp create mode 100644 mlir/lib/Pass/PassDetail.h create mode 100644 mlir/lib/Pass/PassManagerOptions.cpp create mode 100644 mlir/lib/Pass/PassRegistry.cpp create mode 100644 mlir/lib/Pass/PassStatistics.cpp create mode 100644 mlir/lib/Pass/PassTiming.cpp create mode 100644 mlir/lib/Quantizer/CMakeLists.txt create mode 100644 mlir/lib/Quantizer/Configurations/FxpMathConfig.cpp create mode 100644 mlir/lib/Quantizer/Support/Configuration.cpp create mode 100644 mlir/lib/Quantizer/Support/ConstraintAnalysisGraph.cpp create mode 100644 mlir/lib/Quantizer/Support/Metadata.cpp create mode 100644 mlir/lib/Quantizer/Support/Statistics.cpp create mode 100644 mlir/lib/Quantizer/Support/TypeUtils.cpp create mode 100644 mlir/lib/Quantizer/Support/UniformConstraints.cpp create mode 100644 mlir/lib/Quantizer/Support/UniformSolvers.cpp create mode 100644 mlir/lib/Quantizer/Transforms/AddDefaultStatsTestPass.cpp create mode 100644 mlir/lib/Quantizer/Transforms/InferQuantizedTypesPass.cpp create mode 100644 mlir/lib/Quantizer/Transforms/RemoveInstrumentationPass.cpp create mode 100644 mlir/lib/Support/CMakeLists.txt create mode 100644 mlir/lib/Support/FileUtilities.cpp create mode 100644 mlir/lib/Support/JitRunner.cpp create mode 100644 mlir/lib/Support/MlirOptMain.cpp create mode 100644 mlir/lib/Support/StorageUniquer.cpp create mode 100644 mlir/lib/Support/ToolUtilities.cpp create mode 100644 mlir/lib/Support/TranslateClParser.cpp create mode 100644 mlir/lib/TableGen/Argument.cpp create mode 100644 mlir/lib/TableGen/Attribute.cpp create mode 100644 mlir/lib/TableGen/CMakeLists.txt create mode 100644 mlir/lib/TableGen/Constraint.cpp create mode 100644 mlir/lib/TableGen/Dialect.cpp create mode 100644 mlir/lib/TableGen/Format.cpp create mode 100644 mlir/lib/TableGen/OpInterfaces.cpp create mode 100644 mlir/lib/TableGen/OpTrait.cpp create mode 100644 mlir/lib/TableGen/Operator.cpp create mode 100644 mlir/lib/TableGen/Pattern.cpp create mode 100644 mlir/lib/TableGen/Predicate.cpp create mode 100644 mlir/lib/TableGen/Type.cpp create mode 100644 mlir/lib/Target/CMakeLists.txt create mode 100644 mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp create mode 100644 mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp create mode 100644 mlir/lib/Target/LLVMIR/ConvertToNVVMIR.cpp create mode 100644 mlir/lib/Target/LLVMIR/ConvertToROCDLIR.cpp create mode 100644 mlir/lib/Target/LLVMIR/ModuleTranslation.cpp create mode 100644 mlir/lib/Transforms/AffineDataCopyGeneration.cpp create mode 100644 mlir/lib/Transforms/AffineLoopInvariantCodeMotion.cpp create mode 100644 mlir/lib/Transforms/CMakeLists.txt create mode 100644 mlir/lib/Transforms/CSE.cpp create mode 100644 mlir/lib/Transforms/Canonicalizer.cpp create mode 100644 mlir/lib/Transforms/DialectConversion.cpp create mode 100644 mlir/lib/Transforms/Inliner.cpp create mode 100644 mlir/lib/Transforms/LoopCoalescing.cpp create mode 100644 mlir/lib/Transforms/LoopFusion.cpp create mode 100644 mlir/lib/Transforms/LoopInvariantCodeMotion.cpp create mode 100644 mlir/lib/Transforms/LoopTiling.cpp create mode 100644 mlir/lib/Transforms/LoopUnroll.cpp create mode 100644 mlir/lib/Transforms/LoopUnrollAndJam.cpp create mode 100644 mlir/lib/Transforms/MemRefDataFlowOpt.cpp create mode 100644 mlir/lib/Transforms/PipelineDataTransfer.cpp create mode 100644 mlir/lib/Transforms/SimplifyAffineStructures.cpp create mode 100644 mlir/lib/Transforms/StripDebugInfo.cpp create mode 100644 mlir/lib/Transforms/Utils/CMakeLists.txt create mode 100644 mlir/lib/Transforms/Utils/FoldUtils.cpp create mode 100644 mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp create mode 100644 mlir/lib/Transforms/Utils/InliningUtils.cpp create mode 100644 mlir/lib/Transforms/Utils/LoopFusionUtils.cpp create mode 100644 mlir/lib/Transforms/Utils/LoopUtils.cpp create mode 100644 mlir/lib/Transforms/Utils/RegionUtils.cpp create mode 100644 mlir/lib/Transforms/Utils/Utils.cpp create mode 100644 mlir/lib/Transforms/Vectorize.cpp create mode 100644 mlir/lib/Transforms/ViewOpGraph.cpp create mode 100644 mlir/lib/Transforms/ViewRegionGraph.cpp create mode 100644 mlir/lib/Translation/CMakeLists.txt create mode 100644 mlir/lib/Translation/Translation.cpp create mode 100644 mlir/test/APITest.h create mode 100644 mlir/test/AffineOps/canonicalize.mlir create mode 100644 mlir/test/AffineOps/dma.mlir create mode 100644 mlir/test/AffineOps/inlining.mlir create mode 100644 mlir/test/AffineOps/invalid.mlir create mode 100644 mlir/test/AffineOps/load-store-invalid.mlir create mode 100644 mlir/test/AffineOps/load-store.mlir create mode 100644 mlir/test/AffineOps/memref-stride-calculation.mlir create mode 100644 mlir/test/AffineOps/ops.mlir create mode 100644 mlir/test/Analysis/test-callgraph.mlir create mode 100644 mlir/test/Analysis/test-liveness.mlir create mode 100644 mlir/test/CMakeLists.txt create mode 100644 mlir/test/Conversion/GPUToCUDA/lit.local.cfg create mode 100644 mlir/test/Conversion/GPUToCUDA/lower-launch-func-to-cuda.mlir create mode 100644 mlir/test/Conversion/GPUToCUDA/lower-nvvm-kernel-to-cubin.mlir create mode 100644 mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir create mode 100644 mlir/test/Conversion/GPUToNVVM/memory-attrbution.mlir create mode 100644 mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir create mode 100644 mlir/test/Conversion/GPUToSPIRV/builtins.mlir create mode 100644 mlir/test/Conversion/GPUToSPIRV/load-store.mlir create mode 100644 mlir/test/Conversion/GPUToSPIRV/loop.mlir create mode 100644 mlir/test/Conversion/GPUToSPIRV/simple.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/imperfect_2D.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/imperfect_3D.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/imperfect_4D.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/imperfect_linalg.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/linalg_to_gpu.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/perfect_1D_setlaunch.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/step_one.mlir create mode 100644 mlir/test/Conversion/LoopsToGPU/step_positive.mlir create mode 100644 mlir/test/Conversion/StandardToLLVM/convert-argattrs.mlir create mode 100644 mlir/test/Conversion/StandardToLLVM/convert-funcs.mlir create mode 100644 mlir/test/Conversion/StandardToLLVM/convert-memref-ops.mlir create mode 100644 mlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir create mode 100644 mlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir create mode 100644 mlir/test/Conversion/StandardToSPIRV/legalization.mlir create mode 100644 mlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir create mode 100644 mlir/test/Conversion/StandardToSPIRV/subview-to-spirv.mlir create mode 100644 mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir create mode 100644 mlir/test/Conversion/VectorToLoops/vector-to-loops.mlir create mode 100644 mlir/test/Conversion/convert-to-cfg.mlir create mode 100644 mlir/test/Dialect/FxpMathOps/lower-uniform-casts.mlir create mode 100644 mlir/test/Dialect/FxpMathOps/lower-uniform-real-math-addew.mlir create mode 100644 mlir/test/Dialect/FxpMathOps/lower-uniform-real-math-mulew.mlir create mode 100644 mlir/test/Dialect/GPU/canonicalize.mlir create mode 100644 mlir/test/Dialect/GPU/invalid.mlir create mode 100644 mlir/test/Dialect/GPU/ops.mlir create mode 100644 mlir/test/Dialect/GPU/outlining.mlir create mode 100644 mlir/test/Dialect/LLVMIR/func.mlir create mode 100644 mlir/test/Dialect/LLVMIR/global.mlir create mode 100644 mlir/test/Dialect/LLVMIR/invalid.mlir create mode 100644 mlir/test/Dialect/LLVMIR/nvvm.mlir create mode 100644 mlir/test/Dialect/LLVMIR/rocdl.mlir create mode 100644 mlir/test/Dialect/LLVMIR/roundtrip.mlir create mode 100644 mlir/test/Dialect/LLVMIR/terminator.mlir create mode 100644 mlir/test/Dialect/Linalg/fusion-2-level.mlir create mode 100644 mlir/test/Dialect/Linalg/fusion.mlir create mode 100644 mlir/test/Dialect/Linalg/invalid.mlir create mode 100644 mlir/test/Dialect/Linalg/llvm.mlir create mode 100644 mlir/test/Dialect/Linalg/loops.mlir create mode 100644 mlir/test/Dialect/Linalg/promote.mlir create mode 100644 mlir/test/Dialect/Linalg/roundtrip.mlir create mode 100644 mlir/test/Dialect/Linalg/tile.mlir create mode 100644 mlir/test/Dialect/Linalg/tile_conv.mlir create mode 100644 mlir/test/Dialect/Linalg/tile_indexed_generic.mlir create mode 100644 mlir/test/Dialect/Linalg/transform-patterns.mlir create mode 100644 mlir/test/Dialect/Loops/invalid.mlir create mode 100644 mlir/test/Dialect/Loops/ops.mlir create mode 100644 mlir/test/Dialect/QuantOps/canonicalize.mlir create mode 100644 mlir/test/Dialect/QuantOps/convert-const.mlir create mode 100644 mlir/test/Dialect/QuantOps/convert-fakequant-invalid.mlir create mode 100644 mlir/test/Dialect/QuantOps/convert-fakequant.mlir create mode 100644 mlir/test/Dialect/QuantOps/parse-any-invalid.mlir create mode 100644 mlir/test/Dialect/QuantOps/parse-any.mlir create mode 100644 mlir/test/Dialect/QuantOps/parse-ops-invalid.mlir create mode 100644 mlir/test/Dialect/QuantOps/parse-ops.mlir create mode 100644 mlir/test/Dialect/QuantOps/parse-uniform-invalid.mlir create mode 100644 mlir/test/Dialect/QuantOps/parse-uniform.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/arithmetic-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/array.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/atomic-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/barrier.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/bit-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/cast-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/composite-op.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/constant.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/entry-point.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/execution-mode.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/function-call.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/global-variable.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/glsl-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/group-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/logical-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/loop.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/module.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/non-uniform-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/phi.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/selection.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/spec-constant.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/struct.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/terminator.mlir create mode 100644 mlir/test/Dialect/SPIRV/Serialization/undef.mlir create mode 100644 mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir create mode 100644 mlir/test/Dialect/SPIRV/Transforms/abi-simple.mlir create mode 100644 mlir/test/Dialect/SPIRV/Transforms/inlining.mlir create mode 100644 mlir/test/Dialect/SPIRV/Transforms/layout-decoration.mlir create mode 100644 mlir/test/Dialect/SPIRV/arithmetic-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/atomic-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/bit-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/canonicalize.mlir create mode 100644 mlir/test/Dialect/SPIRV/composite-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/control-flow-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/glslops.mlir create mode 100644 mlir/test/Dialect/SPIRV/group-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/logical-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/non-uniform-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/structure-ops.mlir create mode 100644 mlir/test/Dialect/SPIRV/types.mlir create mode 100644 mlir/test/Dialect/VectorOps/canonicalize.mlir create mode 100644 mlir/test/Dialect/VectorOps/invalid.mlir create mode 100644 mlir/test/Dialect/VectorOps/ops.mlir create mode 100644 mlir/test/Dialect/VectorOps/vector-transforms.mlir create mode 100644 mlir/test/Dialect/traits.mlir create mode 100644 mlir/test/EDSC/CMakeLists.txt create mode 100644 mlir/test/EDSC/builder-api-test.cpp create mode 100644 mlir/test/EDSC/lit.local.cfg create mode 100644 mlir/test/Examples/Toy/Ch1/ast.toy create mode 100644 mlir/test/Examples/Toy/Ch2/ast.toy create mode 100644 mlir/test/Examples/Toy/Ch2/codegen.toy create mode 100644 mlir/test/Examples/Toy/Ch2/invalid.mlir create mode 100644 mlir/test/Examples/Toy/Ch2/scalar.toy create mode 100644 mlir/test/Examples/Toy/Ch3/ast.toy create mode 100644 mlir/test/Examples/Toy/Ch3/codegen.toy create mode 100644 mlir/test/Examples/Toy/Ch3/invalid.mlir create mode 100644 mlir/test/Examples/Toy/Ch3/scalar.toy create mode 100644 mlir/test/Examples/Toy/Ch4/ast.toy create mode 100644 mlir/test/Examples/Toy/Ch4/codegen.toy create mode 100644 mlir/test/Examples/Toy/Ch4/invalid.mlir create mode 100644 mlir/test/Examples/Toy/Ch4/scalar.toy create mode 100644 mlir/test/Examples/Toy/Ch4/shape_inference.mlir create mode 100644 mlir/test/Examples/Toy/Ch5/affine-lowering.mlir create mode 100644 mlir/test/Examples/Toy/Ch5/ast.toy create mode 100644 mlir/test/Examples/Toy/Ch5/codegen.toy create mode 100644 mlir/test/Examples/Toy/Ch5/invalid.mlir create mode 100644 mlir/test/Examples/Toy/Ch5/scalar.toy create mode 100644 mlir/test/Examples/Toy/Ch5/shape_inference.mlir create mode 100644 mlir/test/Examples/Toy/Ch6/affine-lowering.mlir create mode 100644 mlir/test/Examples/Toy/Ch6/ast.toy create mode 100644 mlir/test/Examples/Toy/Ch6/codegen.toy create mode 100644 mlir/test/Examples/Toy/Ch6/invalid.mlir create mode 100644 mlir/test/Examples/Toy/Ch6/llvm-lowering.mlir create mode 100644 mlir/test/Examples/Toy/Ch6/scalar.toy create mode 100644 mlir/test/Examples/Toy/Ch6/shape_inference.mlir create mode 100644 mlir/test/Examples/Toy/Ch7/affine-lowering.mlir create mode 100644 mlir/test/Examples/Toy/Ch7/ast.toy create mode 100644 mlir/test/Examples/Toy/Ch7/codegen.toy create mode 100644 mlir/test/Examples/Toy/Ch7/invalid.mlir create mode 100644 mlir/test/Examples/Toy/Ch7/llvm-lowering.mlir create mode 100644 mlir/test/Examples/Toy/Ch7/scalar.toy create mode 100644 mlir/test/Examples/Toy/Ch7/shape_inference.mlir create mode 100644 mlir/test/Examples/Toy/Ch7/struct-ast.toy create mode 100644 mlir/test/Examples/Toy/Ch7/struct-codegen.toy create mode 100644 mlir/test/Examples/Toy/Ch7/struct-opt.mlir create mode 100644 mlir/test/Examples/lit.local.cfg create mode 100644 mlir/test/IR/affine-map.mlir create mode 100644 mlir/test/IR/attribute.mlir create mode 100644 mlir/test/IR/check-help-output.mlir create mode 100644 mlir/test/IR/core-ops.mlir create mode 100644 mlir/test/IR/invalid-affinemap.mlir create mode 100644 mlir/test/IR/invalid-func-op.mlir create mode 100644 mlir/test/IR/invalid-locations.mlir create mode 100644 mlir/test/IR/invalid-module-op.mlir create mode 100644 mlir/test/IR/invalid-ops.mlir create mode 100644 mlir/test/IR/invalid.mlir create mode 100644 mlir/test/IR/locations.mlir create mode 100644 mlir/test/IR/memory-ops.mlir create mode 100644 mlir/test/IR/module-op.mlir create mode 100644 mlir/test/IR/op-stats.mlir create mode 100644 mlir/test/IR/opaque_locations.mlir create mode 100644 mlir/test/IR/operand.mlir create mode 100644 mlir/test/IR/parser.mlir create mode 100644 mlir/test/IR/pretty-attributes.mlir create mode 100644 mlir/test/IR/pretty-locations.mlir create mode 100644 mlir/test/IR/pretty-region-args.mlir create mode 100644 mlir/test/IR/print-op-local-scope.mlir create mode 100644 mlir/test/IR/print-op-on-diagnostic.mlir create mode 100644 mlir/test/IR/region.mlir create mode 100755 mlir/test/IR/repro_b120295301.mlir create mode 100644 mlir/test/IR/result.mlir create mode 100644 mlir/test/IR/test-func-erase-arg.mlir create mode 100644 mlir/test/IR/test-func-set-type.mlir create mode 100644 mlir/test/IR/test-matchers.mlir create mode 100644 mlir/test/IR/test-symbol-rauw.mlir create mode 100644 mlir/test/IR/test-symbol-uses.mlir create mode 100644 mlir/test/IR/traits.mlir create mode 100644 mlir/test/IR/wrapping_op.mlir create mode 100644 mlir/test/Pass/crash-recovery.mlir create mode 100644 mlir/test/Pass/ir-printing.mlir create mode 100644 mlir/test/Pass/pass-timing.mlir create mode 100644 mlir/test/Pass/pipeline-options-parsing.mlir create mode 100644 mlir/test/Pass/pipeline-parsing.mlir create mode 100644 mlir/test/Pass/pipeline-stats.mlir create mode 100644 mlir/test/Quantizer/matmul.mlir create mode 100644 mlir/test/Quantizer/remove-instrumentation.mlir create mode 100644 mlir/test/SDBM/CMakeLists.txt create mode 100644 mlir/test/SDBM/lit.local.cfg create mode 100644 mlir/test/SDBM/sdbm-api-test.cpp create mode 100644 mlir/test/Target/import.ll create mode 100644 mlir/test/Target/llvmir-intrinsics.mlir create mode 100644 mlir/test/Target/llvmir-invalid.mlir create mode 100644 mlir/test/Target/llvmir.mlir create mode 100644 mlir/test/Target/nvvmir.mlir create mode 100644 mlir/test/Target/rocdl.mlir create mode 100644 mlir/test/Transforms/Vectorize/compose_maps.mlir create mode 100644 mlir/test/Transforms/Vectorize/normalize_maps.mlir create mode 100644 mlir/test/Transforms/Vectorize/vector_utils.mlir create mode 100644 mlir/test/Transforms/Vectorize/vectorize_1d.mlir create mode 100644 mlir/test/Transforms/Vectorize/vectorize_2d.mlir create mode 100644 mlir/test/Transforms/Vectorize/vectorize_3d.mlir create mode 100644 mlir/test/Transforms/Vectorize/vectorize_outer_loop_2d.mlir create mode 100644 mlir/test/Transforms/Vectorize/vectorize_outer_loop_transpose_2d.mlir create mode 100644 mlir/test/Transforms/Vectorize/vectorize_transpose_2d.mlir create mode 100644 mlir/test/Transforms/affine-data-copy.mlir create mode 100644 mlir/test/Transforms/affine-loop-invariant-code-motion.mlir create mode 100644 mlir/test/Transforms/canonicalize-dce.mlir create mode 100644 mlir/test/Transforms/canonicalize.mlir create mode 100644 mlir/test/Transforms/constant-fold.mlir create mode 100644 mlir/test/Transforms/cse.mlir create mode 100644 mlir/test/Transforms/dma-generate.mlir create mode 100644 mlir/test/Transforms/inlining.mlir create mode 100644 mlir/test/Transforms/loop-coalescing.mlir create mode 100644 mlir/test/Transforms/loop-fusion-dependence-check.mlir create mode 100644 mlir/test/Transforms/loop-fusion-slice-computation.mlir create mode 100644 mlir/test/Transforms/loop-fusion.mlir create mode 100644 mlir/test/Transforms/loop-invariant-code-motion.mlir create mode 100644 mlir/test/Transforms/loop-tiling.mlir create mode 100644 mlir/test/Transforms/lower-affine.mlir create mode 100644 mlir/test/Transforms/memref-bound-check.mlir create mode 100644 mlir/test/Transforms/memref-dataflow-opt.mlir create mode 100644 mlir/test/Transforms/memref-dependence-check.mlir create mode 100644 mlir/test/Transforms/memref-normalize.mlir create mode 100644 mlir/test/Transforms/parallelism-detection.mlir create mode 100644 mlir/test/Transforms/parametric-mapping.mlir create mode 100644 mlir/test/Transforms/parametric-tiling.mlir create mode 100644 mlir/test/Transforms/pipeline-data-transfer.mlir create mode 100644 mlir/test/Transforms/simplify-affine-structures.mlir create mode 100644 mlir/test/Transforms/slicing-utils.mlir create mode 100644 mlir/test/Transforms/strip-debuginfo.mlir create mode 100644 mlir/test/Transforms/test-canonicalize.mlir create mode 100644 mlir/test/Transforms/test-inlining.mlir create mode 100644 mlir/test/Transforms/test-legalize-remapped-value.mlir create mode 100644 mlir/test/Transforms/test-legalizer-analysis.mlir create mode 100644 mlir/test/Transforms/test-legalizer-full.mlir create mode 100644 mlir/test/Transforms/test-legalizer.mlir create mode 100644 mlir/test/Transforms/unroll-jam.mlir create mode 100644 mlir/test/Transforms/unroll.mlir create mode 100644 mlir/test/Unit/lit.cfg.py create mode 100644 mlir/test/Unit/lit.site.cfg.py.in create mode 100644 mlir/test/lib/CMakeLists.txt create mode 100644 mlir/test/lib/DeclarativeTransforms/CMakeLists.txt create mode 100644 mlir/test/lib/DeclarativeTransforms/TestLinalgTransformPatterns.td create mode 100644 mlir/test/lib/DeclarativeTransforms/TestVectorTransformPatterns.td create mode 100644 mlir/test/lib/DeclarativeTransforms/lit.local.cfg create mode 100644 mlir/test/lib/IR/CMakeLists.txt create mode 100644 mlir/test/lib/IR/TestFunc.cpp create mode 100644 mlir/test/lib/IR/TestMatchers.cpp create mode 100644 mlir/test/lib/IR/TestSymbolUses.cpp create mode 100644 mlir/test/lib/Pass/CMakeLists.txt create mode 100644 mlir/test/lib/Pass/TestPassManager.cpp create mode 100644 mlir/test/lib/TestDialect/CMakeLists.txt create mode 100644 mlir/test/lib/TestDialect/TestDialect.cpp create mode 100644 mlir/test/lib/TestDialect/TestDialect.h create mode 100644 mlir/test/lib/TestDialect/TestOps.td create mode 100644 mlir/test/lib/TestDialect/TestPatterns.cpp create mode 100644 mlir/test/lib/TestDialect/lit.local.cfg create mode 100644 mlir/test/lib/Transforms/CMakeLists.txt create mode 100644 mlir/test/lib/Transforms/TestCallGraph.cpp create mode 100644 mlir/test/lib/Transforms/TestConstantFold.cpp create mode 100644 mlir/test/lib/Transforms/TestInlining.cpp create mode 100644 mlir/test/lib/Transforms/TestLinalgTransforms.cpp create mode 100644 mlir/test/lib/Transforms/TestLiveness.cpp create mode 100644 mlir/test/lib/Transforms/TestLoopFusion.cpp create mode 100644 mlir/test/lib/Transforms/TestLoopMapping.cpp create mode 100644 mlir/test/lib/Transforms/TestLoopParametricTiling.cpp create mode 100644 mlir/test/lib/Transforms/TestMemRefStrideCalculation.cpp create mode 100644 mlir/test/lib/Transforms/TestOpaqueLoc.cpp create mode 100644 mlir/test/lib/Transforms/TestVectorToLoopsConversion.cpp create mode 100644 mlir/test/lib/Transforms/TestVectorTransforms.cpp create mode 100644 mlir/test/lib/Transforms/TestVectorizationUtils.cpp create mode 100644 mlir/test/lit.cfg.py create mode 100644 mlir/test/lit.site.cfg.py.in create mode 100644 mlir/test/mlir-cpu-runner/CMakeLists.txt create mode 100644 mlir/test/mlir-cpu-runner/cblas.cpp create mode 100644 mlir/test/mlir-cpu-runner/cblas_interface.cpp create mode 100644 mlir/test/mlir-cpu-runner/include/cblas.h create mode 100644 mlir/test/mlir-cpu-runner/include/mlir_runner_utils.h create mode 100644 mlir/test/mlir-cpu-runner/linalg_integration_test.mlir create mode 100644 mlir/test/mlir-cpu-runner/lit.local.cfg create mode 100644 mlir/test/mlir-cpu-runner/mlir_runner_utils.cpp create mode 100644 mlir/test/mlir-cpu-runner/simple.mlir create mode 100644 mlir/test/mlir-cpu-runner/unranked_memref.mlir create mode 100644 mlir/test/mlir-cpu-runner/utils.mlir create mode 100644 mlir/test/mlir-cuda-runner/all-reduce-op.mlir create mode 100644 mlir/test/mlir-cuda-runner/all-reduce-region.mlir create mode 100644 mlir/test/mlir-cuda-runner/gpu-to-cubin.mlir create mode 100644 mlir/test/mlir-cuda-runner/lit.local.cfg create mode 100644 mlir/test/mlir-cuda-runner/shuffle.mlir create mode 100644 mlir/test/mlir-tblgen/dialect.td create mode 100644 mlir/test/mlir-tblgen/expect-symbol.td create mode 100644 mlir/test/mlir-tblgen/op-attribute.td create mode 100644 mlir/test/mlir-tblgen/op-decl.td create mode 100644 mlir/test/mlir-tblgen/op-interface.td create mode 100644 mlir/test/mlir-tblgen/op-operand.td create mode 100644 mlir/test/mlir-tblgen/op-result.td create mode 100644 mlir/test/mlir-tblgen/pattern.mlir create mode 100644 mlir/test/mlir-tblgen/predicate.td create mode 100644 mlir/test/mlir-tblgen/return-types.mlir create mode 100644 mlir/test/mlir-tblgen/types.mlir create mode 100644 mlir/tools/CMakeLists.txt create mode 100644 mlir/tools/mlir-cpu-runner/CMakeLists.txt create mode 100644 mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp create mode 100644 mlir/tools/mlir-cuda-runner/CMakeLists.txt create mode 100644 mlir/tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp create mode 100644 mlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp create mode 100644 mlir/tools/mlir-opt/CMakeLists.txt create mode 100644 mlir/tools/mlir-opt/mlir-opt.cpp create mode 100644 mlir/tools/mlir-tblgen/CMakeLists.txt create mode 100644 mlir/tools/mlir-tblgen/DocGenUtilities.h create mode 100644 mlir/tools/mlir-tblgen/EnumsGen.cpp create mode 100644 mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp create mode 100644 mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp create mode 100644 mlir/tools/mlir-tblgen/OpDocGen.cpp create mode 100644 mlir/tools/mlir-tblgen/OpInterfacesGen.cpp create mode 100644 mlir/tools/mlir-tblgen/ReferenceImplGen.cpp create mode 100644 mlir/tools/mlir-tblgen/RewriterGen.cpp create mode 100644 mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp create mode 100644 mlir/tools/mlir-tblgen/StructsGen.cpp create mode 100644 mlir/tools/mlir-tblgen/mlir-tblgen.cpp create mode 100644 mlir/tools/mlir-translate/CMakeLists.txt create mode 100644 mlir/tools/mlir-translate/mlir-translate.cpp create mode 100644 mlir/unittests/ADT/CMakeLists.txt create mode 100644 mlir/unittests/ADT/TypeSwitchTest.cpp create mode 100644 mlir/unittests/CMakeLists.txt create mode 100644 mlir/unittests/Dialect/BroadcastShapeTest.cpp create mode 100644 mlir/unittests/Dialect/CMakeLists.txt create mode 100644 mlir/unittests/Dialect/QuantOps/QuantizationUtilsTest.cpp create mode 100644 mlir/unittests/Dialect/SPIRV/CMakeLists.txt create mode 100644 mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp create mode 100644 mlir/unittests/Dialect/SPIRV/SerializationTest.cpp create mode 100644 mlir/unittests/IR/AttributeTest.cpp create mode 100644 mlir/unittests/IR/CMakeLists.txt create mode 100644 mlir/unittests/IR/DialectTest.cpp create mode 100644 mlir/unittests/IR/OperationSupportTest.cpp create mode 100644 mlir/unittests/IR/StringExtrasTest.cpp create mode 100644 mlir/unittests/Pass/AnalysisManagerTest.cpp create mode 100644 mlir/unittests/Pass/CMakeLists.txt create mode 100644 mlir/unittests/Quantizer/Support/RulesTest.cpp create mode 100644 mlir/unittests/Quantizer/Support/UniformSolversTest.cpp create mode 100644 mlir/unittests/SDBM/CMakeLists.txt create mode 100644 mlir/unittests/SDBM/SDBMTest.cpp create mode 100644 mlir/unittests/TableGen/CMakeLists.txt create mode 100644 mlir/unittests/TableGen/EnumsGenTest.cpp create mode 100644 mlir/unittests/TableGen/FormatTest.cpp create mode 100644 mlir/unittests/TableGen/StructsGenTest.cpp create mode 100644 mlir/unittests/TableGen/enums.td create mode 100644 mlir/unittests/TableGen/structs.td create mode 100644 mlir/utils/emacs/mlir-mode.el create mode 100755 mlir/utils/generate-test-checks.py create mode 100755 mlir/utils/spirv/define_enum.sh create mode 100755 mlir/utils/spirv/define_inst.sh create mode 100755 mlir/utils/spirv/define_opcodes.sh create mode 100755 mlir/utils/spirv/gen_spirv_dialect.py create mode 100644 mlir/utils/textmate/mlir.json create mode 100644 mlir/utils/vim/README create mode 100644 mlir/utils/vim/ftdetect/mlir.vim create mode 100644 mlir/utils/vim/ftplugin/mlir.vim create mode 100644 mlir/utils/vim/indent/mlir.vim create mode 100644 mlir/utils/vim/syntax/mlir.vim