aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/InlineFunction.cpp
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2018-08-01 06:06:16 +0000
committerRoman Lebedev <lebedev.ri@gmail.com>2018-08-01 06:06:16 +0000
commit4aaf1dca0807f2e7d2c4c2847a7b703dfa058329 (patch)
tree340bcf0729bc650601ff2de6a384bba96fe42f85 /llvm/lib/Transforms/Utils/InlineFunction.cpp
parentb1dfad060193bb0274fff39e1cba5d5ffa807dd2 (diff)
downloadllvm-4aaf1dca0807f2e7d2c4c2847a7b703dfa058329.zip
llvm-4aaf1dca0807f2e7d2c4c2847a7b703dfa058329.tar.gz
llvm-4aaf1dca0807f2e7d2c4c2847a7b703dfa058329.tar.bz2
[AST] CastExpr: BasePathSize is not large enough.
Summary: rC337815 / D49508 had to cannibalize one bit of `CastExprBitfields::BasePathSize` in order to squeeze `PartOfExplicitCast` boolean. That reduced the maximal value of `PartOfExplicitCast` from 9 bits (~512) down to 8 bits (~256). Apparently, that mattered. Too bad there weren't any tests. It caused [[ https://bugs.llvm.org/show_bug.cgi?id=38356 | PR38356 ]]. So we need to increase `PartOfExplicitCast` back at least to 9 bits, or a bit more. For obvious reasons, we can't do that in `CastExprBitfields` - that would blow up the size of every `Expr`. So we need to either just add a variable into the `CastExpr` (as done here), or use `llvm::TrailingObjects`. The latter does not seem to be straight-forward. Perhaps, that needs to be done not for the `CastExpr` itself, but for all of it's `final` children. Reviewers: rjmccall, rsmith, erichkeane Reviewed By: rjmccall Subscribers: bricci, hans, cfe-commits, waddlesplash Differential Revision: https://reviews.llvm.org/D50050 llvm-svn: 338489
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions