mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
dd2bafca46
Function::lookupIntrinsicID is somewhat forgiving as it comes to overloaded intrinsics' names: it returns an ID as soon as the name provided has a prefix that matches a registered intrinsic's name w/o actually checking that the rest of the name encodes all the concrete arg types, let alone that those types are compatible with the intrinsic's definition. That's probably fine and comes in handy in MIR serialization: we don't care about IR types at MIR level and every intrinsic should be selectable based on its ID and low-level types (LLTs) of its operands, including the overloaded ones, so there is no point in serializing mangled IR types as part of the intrinsic's name. However, lookupIntrinsicID is somewhat inconsistent in its forgiveness: if the name provided is actually an exact match, it will refuse to return the ID if the intrinsic is overloaded. There is probably no real reason for that and it renders MIRParser incapable to deserialize MIR MIRPrinter serialized. This commit fixes it. Reviewers: rnk, aditya_nandakumar, qcolombet, thegameg, dsanders, marcello.maggioni Reviewed By: bogner Subscribers: javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D43267 llvm-svn: 326387 |
||
---|---|---|
.. | ||
addrspace-memoperands.mir | ||
atomic-memoperands.mir | ||
cfi.mir | ||
expected-target-flag-name.mir | ||
generic-virtual-registers-error.mir | ||
generic-virtual-registers-with-regbank-error.mir | ||
intrinsics.mir | ||
invalid-target-flag-name.mir | ||
invalid-target-memoperands.mir | ||
lit.local.cfg | ||
multiple-lhs-operands.mir | ||
print-parse-overloaded-intrinsics.mir | ||
print-parse-verify-failedISel-property.mir | ||
register-operand-bank.mir | ||
stack-object-local-offset.mir | ||
swp.mir | ||
target-flags.mir | ||
target-memoperands.mir |