summaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorGuy David <guyda96@gmail.com>2025-04-23 02:24:41 +0300
committerGuy David <guyda96@gmail.com>2025-08-31 14:54:01 +0300
commitfe2994d3638751b15acca112505a23f3e7ab7e98 (patch)
tree8c430e053016d76839bab5d032763c0557819283 /clang/lib/CodeGen/CodeGenFunction.cpp
parentb369237c98906891f9e56fd4be4109a25b79e3e9 (diff)
[Clang] Add `noalias` to `this` pointer in C++ constructorsusers/guy-david/clang-cpp-ctor-noalias-this-v2
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index b2fe9171372d..a661a5d9578d 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -1560,6 +1560,9 @@ void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn,
// Emit the standard function prologue.
StartFunction(GD, ResTy, Fn, FnInfo, Args, Loc, BodyRange.getBegin());
+ if (isa<CXXConstructorDecl>(FD))
+ Fn->addParamAttr(0, llvm::Attribute::NoAlias);
+
// Save parameters for coroutine function.
if (Body && isa_and_nonnull<CoroutineBodyStmt>(Body))
llvm::append_range(FnArgs, FD->parameters());