Add asmparser/printer support for locations to make them round-trippable....
Add asmparser/printer support for locations to make them round-trippable. Location printing is currently behind a command line flag "mlir-print-debuginfo", we can rethink this when we have a pass for stripping debug info or when we have support for printer flags. Example inline notation: trailing-location ::= 'loc' '(' location ')' // FileLineCol Location. %1 = "foo"() : () -> i1 loc("mysource.cc":10:8) // Name Location return loc("foo") // CallSite Location return loc(callsite("foo" at "mysource.cc":19:9)) // Fused Location /// Without metadata func @inline_notation() loc(fused["foo", "mysource.cc":10:8]) /// With metadata return loc(fused<"myPass">["foo", "foo2"]) // Unknown location. return loc(unknown) Locations are currently only printed with inline notation at the line of each instruction. Further work is needed to allow for reference notation, e.g: ... return loc 1 } ... loc 1 = "source.cc":10:1 PiperOrigin-RevId: 230587621
Loading
Please sign in to comment