diff options
author | Kirill Bobyrev <kbobyrev@google.com> | 2020-06-15 12:14:15 +0200 |
---|---|---|
committer | Kirill Bobyrev <kbobyrev@google.com> | 2020-06-15 12:14:15 +0200 |
commit | 550c4562d18a6ab6ce60a062dceb163313da0ddd (patch) | |
tree | 3d85cdfe53992da3c838dcd89739b16465d8f278 /clang/lib/CodeGen/CGExprConstant.cpp | |
parent | ec4e68e667bf0369c36f0e4291618ef2a614bbf0 (diff) | |
download | llvm-550c4562d18a6ab6ce60a062dceb163313da0ddd.zip llvm-550c4562d18a6ab6ce60a062dceb163313da0ddd.tar.gz llvm-550c4562d18a6ab6ce60a062dceb163313da0ddd.tar.bz2 |
Revert "Prevent IR-gen from emitting consteval declarations"
This reverts commit 3bab88b7baa20b276faaee0aa7ca87f636c91877.
This patch causes test failures:
http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/17260
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExprConstant.cpp | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index a015716..0138edb 100644 --- a/clang/lib/CodeGen/CGExprConstant.cpp +++ b/clang/lib/CodeGen/CGExprConstant.cpp @@ -1011,8 +1011,6 @@ public: } llvm::Constant *VisitConstantExpr(ConstantExpr *CE, QualType T) { - if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(CE)) - return Result; return Visit(CE->getSubExpr(), T); } @@ -1360,20 +1358,6 @@ ConstantEmitter::tryEmitAbstract(const APValue &value, QualType destType) { return validateAndPopAbstract(C, state); } -llvm::Constant *ConstantEmitter::tryEmitConstantExpr(const ConstantExpr *CE) { - if (!CE->hasAPValueResult()) - return nullptr; - const Expr *Inner = CE->getSubExpr()->IgnoreImplicit(); - QualType RetType; - if (auto *Call = dyn_cast<CallExpr>(Inner)) - RetType = Call->getCallReturnType(CGF->getContext()); - else if (auto *Ctor = dyn_cast<CXXConstructExpr>(Inner)) - RetType = Ctor->getType(); - llvm::Constant *Res = - emitAbstract(CE->getBeginLoc(), CE->getAPValueResult(), RetType); - return Res; -} - llvm::Constant * ConstantEmitter::emitAbstract(const Expr *E, QualType destType) { auto state = pushAbstract(); @@ -1919,8 +1903,6 @@ ConstantLValueEmitter::tryEmitBase(const APValue::LValueBase &base) { ConstantLValue ConstantLValueEmitter::VisitConstantExpr(const ConstantExpr *E) { - if (llvm::Constant *Result = Emitter.tryEmitConstantExpr(E)) - return Result; return Visit(E->getSubExpr()); } |