[mlir] Always create a list of alias scopes when emitting LLVM IR
authorAlex Zinenko <zinenko@google.com>
Tue, 21 Sep 2021 09:39:43 +0000 (11:39 +0200)
committerAlex Zinenko <zinenko@google.com>
Tue, 21 Sep 2021 22:00:46 +0000 (00:00 +0200)
commitbdaf038266c28a67bce83491dafd6752e53d4e33
treefdaf586290d2578d5731727e406d6c2caaba4d57
parentb81e26c7f470ee324095f7adfbe0384974db4375
[mlir] Always create a list of alias scopes when emitting LLVM IR

Previously, the translation to LLVM IR would emit IR that directly uses
a scope metadata node in case only one scope was in use in alias.scopes
or noalias metadata. It should always be a list of scopes. The verifier
change in 8700f2bd36bb9b7d7075ed4dac0aef92b9489237 enforced this and
broke the test. Fix the translation to always create a list of scopes
using a new metadata node, update and reenable the respective test.

Fixes PR51919.

Reviewed By: mehdi_amini

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