[all-commits] [llvm/llvm-project] 5777c0: [clang] Perform implicit lvalue-to-rvalue cast wit...
Timm Bäder via All-commits
all-commits at lists.llvm.org
Wed Sep 7 22:31:54 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5777c05d16098cb690decef95ad6c20c695a5fa9
https://github.com/llvm/llvm-project/commit/5777c05d16098cb690decef95ad6c20c695a5fa9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/Interp/literals.cpp
M clang/unittests/AST/EvaluateAsRValueTest.cpp
Log Message:
-----------
[clang] Perform implicit lvalue-to-rvalue cast with new interpreter
The EvaluateAsRValue() documentation mentions that an implicit
lvalue-to-rvalue cast is being performed if the result is an lvalue.
However, that was not being done if the new constant interpreter was in
use.
Just always do it.
Differential Revision: https://reviews.llvm.org/D132136
Commit: 8e41e6a4eafa2b667ec37ece33a85493fe0156c2
https://github.com/llvm/llvm-project/commit/8e41e6a4eafa2b667ec37ece33a85493fe0156c2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/Function.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/InterpFrame.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/cxx20.cpp
A clang/test/AST/Interp/functions.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][Interp] Implement function calls
Add Call() and CallVoid() ops and use them to call functions. Only
FunctionDecls are supported for now.
Differential Revision: https://reviews.llvm.org/D132286
Commit: 95e6a407d92bbb1d977351cc6ee39aa990ed50c5
https://github.com/llvm/llvm-project/commit/95e6a407d92bbb1d977351cc6ee39aa990ed50c5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/Boolean.h
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Implement IntegralToBoolean casts
Redo how we do IntegralCasts and implement IntegralToBoolean casts using
the already existing cast op.
Differential Revision: https://reviews.llvm.org/D132739
Commit: 4d700ffe67be03220487604785ee2049570ba6db
https://github.com/llvm/llvm-project/commit/4d700ffe67be03220487604785ee2049570ba6db
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Opcodes.td
A clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Implement ImplicitValueInitExprs
Take the existing Zero opcode and emit it.
Differential Revision: https://reviews.llvm.org/D132829
Commit: 5c4dbff0b6c3943dfbcba930986e23e015df97c5
https://github.com/llvm/llvm-project/commit/5c4dbff0b6c3943dfbcba930986e23e015df97c5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Handle SubstNonTypeTemplateParmExprs
Differential Revision: https://reviews.llvm.org/D132831
Commit: aa7c5c9c4e5e56fc668b055ce40c1a65fae1e38e
https://github.com/llvm/llvm-project/commit/aa7c5c9c4e5e56fc668b055ce40c1a65fae1e38e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Function.h
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Handle missing local initializers better
This is illegal in a constexpr context. We can already figure that out,
but we'd still run into an assertion later on when trying to visit the
missing initializer or run the invalid function.
Differential Revision: https://reviews.llvm.org/D132832
Commit: 3a7d476087df175b6fe056e7c20ac9707019e92b
https://github.com/llvm/llvm-project/commit/3a7d476087df175b6fe056e7c20ac9707019e92b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Implement array initializers and subscript expressions
Differential Revision: https://reviews.llvm.org/D132727
Commit: 0da7e409e0cb09ea955d9751d2601449244cc53f
https://github.com/llvm/llvm-project/commit/0da7e409e0cb09ea955d9751d2601449244cc53f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Context.h
Log Message:
-----------
[clang][Interp][NFC] Context::classify() can be const
Commit: 651f4ce7b186079e78de20d7de903112ea78d846
https://github.com/llvm/llvm-project/commit/651f4ce7b186079e78de20d7de903112ea78d846
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2022-09-08 (Thu, 08 Sep 2022)
Changed paths:
M clang/lib/AST/Interp/Integral.h
Log Message:
-----------
[clang][Interp][NFC] Use constexpr if when possible in Integral.h
Compare: https://github.com/llvm/llvm-project/compare/f48931f3a86d...651f4ce7b186
More information about the All-commits
mailing list