[mlir][llvmir] Fixed MDNode uniquing during TBAA translation.
authorSlava Zakharin <szakharin@nvidia.com>
Mon, 16 Jan 2023 20:38:31 +0000 (12:38 -0800)
committerSlava Zakharin <szakharin@nvidia.com>
Mon, 16 Jan 2023 20:38:31 +0000 (12:38 -0800)
commitb3d8639f3536a4876b511aca9fb7948ff9266cee
tree97a0412f5f10c1d92bcf1f0444526937130a3e3e
parent37c750a5fd13ebecf143a7c918aa981fc4ce3e3d
[mlir][llvmir] Fixed MDNode uniquing during TBAA translation.

In the process of creating the MDNodes for the TBAA tag operations
we used to produce incomplete MDNodes like:
```
  @__tbaa::@tbaa_tag_4 => !{!null, !null, i64 0}
  @__tbaa::@tbaa_tag_7 => !{!null, !null, i64 0}
```
This caused the two tags to map to the same incomplete MDNode due to uniquing.
To prevent this, we have to use temporary MDNodes instead of !null's.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D141726
mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
mlir/test/Target/LLVMIR/tbaa.mlir