[llvm] Address base discriminator overflow in X86DiscriminateMemOps
authorMircea Trofin <mtrofin@google.com>
Thu, 13 Dec 2018 19:40:59 +0000 (19:40 +0000)
committerMircea Trofin <mtrofin@google.com>
Thu, 13 Dec 2018 19:40:59 +0000 (19:40 +0000)
commit41c729e78ec61f47c9b44978a58b23120347d18f
tree747ea86232f6cfed8117fc71dcb89a589d9cf627
parent4888c4aba5a1eaca0f0b9f4ec2ab7008c2fc103b
[llvm] Address base discriminator overflow in X86DiscriminateMemOps

Summary:
Macros are expanded on a single line. In case of large expansions,
with sufficiently many instructions with memory operands (and when
-fdebug-info-for-profiling is requested), we may be unable to generate
new base discriminator values - new values overflow (base
discriminators may not be larger than 2^12).

This CL warns instead of asserting in such a case. A subsequent CL
will add APIs to check for overflow before creating new debug info.

See https://bugs.llvm.org/show_bug.cgi?id=39890

Reviewers: davidxl, wmi, gbedwell

Reviewed By: davidxl

Subscribers: aprantl, llvm-commits

Differential Revision: https://reviews.llvm.org/D55643

llvm-svn: 349075
llvm/lib/Target/X86/X86DiscriminateMemOps.cpp