[clang] c68af56 - [clang][Interp][NFC] Cast in InterpFrame::localBlock
Timm Bäder via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 25 08:11:12 PST 2023
Author: Timm Bäder
Date: 2023-01-25T17:09:34+01:00
New Revision: c68af565ff0c2fdc5537e9ac0c2d7c75df44b035
URL: https://github.com/llvm/llvm-project/commit/c68af565ff0c2fdc5537e9ac0c2d7c75df44b035
DIFF: https://github.com/llvm/llvm-project/commit/c68af565ff0c2fdc5537e9ac0c2d7c75df44b035.diff
LOG: [clang][Interp][NFC] Cast in InterpFrame::localBlock
We know we save a Block* here, so do the cast there instead of
everywhere we're calling this function.
Added:
Modified:
clang/lib/AST/Interp/InterpFrame.cpp
clang/lib/AST/Interp/InterpFrame.h
Removed:
################################################################################
diff --git a/clang/lib/AST/Interp/InterpFrame.cpp b/clang/lib/AST/Interp/InterpFrame.cpp
index ee29997cfecc..584cf1a9a69e 100644
--- a/clang/lib/AST/Interp/InterpFrame.cpp
+++ b/clang/lib/AST/Interp/InterpFrame.cpp
@@ -76,7 +76,7 @@ InterpFrame::~InterpFrame() {
void InterpFrame::destroy(unsigned Idx) {
for (auto &Local : Func->getScope(Idx).locals()) {
- S.deallocate(reinterpret_cast<Block *>(localBlock(Local.Offset)));
+ S.deallocate(localBlock(Local.Offset));
}
}
@@ -185,8 +185,7 @@ const FunctionDecl *InterpFrame::getCallee() const {
Pointer InterpFrame::getLocalPointer(unsigned Offset) const {
assert(Offset < Func->getFrameSize() && "Invalid local offset.");
- return Pointer(reinterpret_cast<Block *>(localBlock(Offset)),
- sizeof(InlineDescriptor));
+ return Pointer(localBlock(Offset), sizeof(InlineDescriptor));
}
Pointer InterpFrame::getParamPointer(unsigned Off) {
diff --git a/clang/lib/AST/Interp/InterpFrame.h b/clang/lib/AST/Interp/InterpFrame.h
index bfa02c90ebec..c0f4825096be 100644
--- a/clang/lib/AST/Interp/InterpFrame.h
+++ b/clang/lib/AST/Interp/InterpFrame.h
@@ -133,8 +133,8 @@ class InterpFrame final : public Frame {
}
/// Returns a pointer to a local's block.
- void *localBlock(unsigned Offset) const {
- return Locals.get() + Offset - sizeof(Block);
+ Block *localBlock(unsigned Offset) const {
+ return reinterpret_cast<Block *>(Locals.get() + Offset - sizeof(Block));
}
// Returns the inline descriptor of the local.
More information about the cfe-commits
mailing list