Skip to content

Conversation

mizvekov
Copy link
Contributor

This rename was made as part of #147835 in order to ease rebasing the PR, and give a nice window for other patches to get rebased as well.

It has been a while already, so lets go ahead and rename it back.

@mizvekov mizvekov requested a review from erichkeane October 13, 2025 21:39
@mizvekov mizvekov self-assigned this Oct 13, 2025
@llvmbot llvmbot added clang Clang issues not falling into any other category clang-tools-extra backend:ARM backend:AArch64 backend:MIPS backend:RISC-V backend:X86 clangd clang-tidy clang:frontend Language frontend issues, e.g. anything involving "Sema" clang:modules C++20 modules and Clang Header Modules clang:codegen IR generation bugs: mangling, exceptions, etc. clang:as-a-library libclang and C++ API clang:static analyzer debuginfo HLSL HLSL Language Support coroutines C++20 coroutines backend:ARC backend:loongarch clang:analysis ClangIR Anything related to the ClangIR project labels Oct 13, 2025
@llvmbot llvmbot added clang:bytecode Issues for the clang bytecode constexpr interpreter backend:Lanai labels Oct 13, 2025
@llvmbot
Copy link
Member

llvmbot commented Oct 13, 2025

@llvm/pr-subscribers-lldb
@llvm/pr-subscribers-clangir
@llvm/pr-subscribers-backend-loongarch
@llvm/pr-subscribers-backend-x86
@llvm/pr-subscribers-clang-tidy
@llvm/pr-subscribers-clang-codegen
@llvm/pr-subscribers-clang-modules
@llvm/pr-subscribers-backend-aarch64

@llvm/pr-subscribers-backend-risc-v

Author: Matheus Izvekov (mizvekov)

Changes

This rename was made as part of #147835 in order to ease rebasing the PR, and give a nice window for other patches to get rebased as well.

It has been a while already, so lets go ahead and rename it back.


Patch is 179.53 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/163271.diff

135 Files Affected:

  • (modified) clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp (+3-3)
  • (modified) clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp (+3-4)
  • (modified) clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/DumpAST.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/FindTarget.cpp (+2-2)
  • (modified) clang-tools-extra/clangd/Hover.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/IncludeFixer.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/InlayHints.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp (+1-1)
  • (modified) clang-tools-extra/include-cleaner/lib/WalkAST.cpp (+1-1)
  • (modified) clang/include/clang/AST/ASTNodeTraverser.h (+1-1)
  • (modified) clang/include/clang/AST/CanonicalType.h (+3-3)
  • (modified) clang/include/clang/AST/DeclCXX.h (+1-1)
  • (modified) clang/include/clang/AST/RecursiveASTVisitor.h (+1-1)
  • (modified) clang/include/clang/AST/Type.h (+8-10)
  • (modified) clang/include/clang/AST/TypeBase.h (+12-24)
  • (modified) clang/include/clang/AST/TypeLoc.h (+4-8)
  • (modified) clang/include/clang/AST/TypeProperties.td (+1-1)
  • (modified) clang/include/clang/ASTMatchers/ASTMatchersInternal.h (+1-1)
  • (modified) clang/lib/AST/ASTContext.cpp (+16-18)
  • (modified) clang/lib/AST/ASTDiagnostic.cpp (+3-7)
  • (modified) clang/lib/AST/ASTImporter.cpp (+8-9)
  • (modified) clang/lib/AST/ASTStructuralEquivalence.cpp (+6-7)
  • (modified) clang/lib/AST/ByteCode/Compiler.cpp (+1-1)
  • (modified) clang/lib/AST/ByteCode/Pointer.cpp (+1-1)
  • (modified) clang/lib/AST/Decl.cpp (+8-11)
  • (modified) clang/lib/AST/DeclCXX.cpp (+1-1)
  • (modified) clang/lib/AST/DeclPrinter.cpp (+1-1)
  • (modified) clang/lib/AST/DeclarationName.cpp (+3-3)
  • (modified) clang/lib/AST/Expr.cpp (+1-3)
  • (modified) clang/lib/AST/ExprConstant.cpp (+4-5)
  • (modified) clang/lib/AST/InheritViz.cpp (+2-2)
  • (modified) clang/lib/AST/ItaniumMangle.cpp (+8-10)
  • (modified) clang/lib/AST/JSONNodeDumper.cpp (+3-3)
  • (modified) clang/lib/AST/MicrosoftMangle.cpp (+2-2)
  • (modified) clang/lib/AST/ODRHash.cpp (+3-3)
  • (modified) clang/lib/AST/QualTypeNames.cpp (+3-3)
  • (modified) clang/lib/AST/RecordLayoutBuilder.cpp (+2-2)
  • (modified) clang/lib/AST/TextNodeDumper.cpp (+3-3)
  • (modified) clang/lib/AST/Type.cpp (+27-29)
  • (modified) clang/lib/AST/TypeLoc.cpp (+1-2)
  • (modified) clang/lib/AST/TypePrinter.cpp (+6-6)
  • (modified) clang/lib/AST/VTableBuilder.cpp (+4-5)
  • (modified) clang/lib/Analysis/ThreadSafety.cpp (+1-3)
  • (modified) clang/lib/CIR/CodeGen/CIRGenClass.cpp (+2-3)
  • (modified) clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp (+5-7)
  • (modified) clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp (+10-15)
  • (modified) clang/lib/CIR/CodeGen/CIRGenTypes.cpp (+2-3)
  • (modified) clang/lib/CodeGen/ABIInfoImpl.cpp (+3-3)
  • (modified) clang/lib/CodeGen/CGCall.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CGClass.cpp (+1-1)
  • (modified) clang/lib/CodeGen/CGDebugInfo.cpp (+13-15)
  • (modified) clang/lib/CodeGen/CGExpr.cpp (+3-3)
  • (modified) clang/lib/CodeGen/CGExprAgg.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CGExprCXX.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CGExprScalar.cpp (+1-1)
  • (modified) clang/lib/CodeGen/CGNonTrivialStruct.cpp (+1-2)
  • (modified) clang/lib/CodeGen/CGObjCMac.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CodeGenModule.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CodeGenTBAA.cpp (+4-4)
  • (modified) clang/lib/CodeGen/CodeGenTypes.cpp (+2-2)
  • (modified) clang/lib/CodeGen/ItaniumCXXABI.cpp (+10-14)
  • (modified) clang/lib/CodeGen/SwiftCallingConv.cpp (+3-4)
  • (modified) clang/lib/CodeGen/Targets/AArch64.cpp (+1-1)
  • (modified) clang/lib/CodeGen/Targets/ARC.cpp (+1-2)
  • (modified) clang/lib/CodeGen/Targets/ARM.cpp (+1-1)
  • (modified) clang/lib/CodeGen/Targets/Lanai.cpp (+1-2)
  • (modified) clang/lib/CodeGen/Targets/LoongArch.cpp (+2-2)
  • (modified) clang/lib/CodeGen/Targets/Mips.cpp (+2-2)
  • (modified) clang/lib/CodeGen/Targets/RISCV.cpp (+2-2)
  • (modified) clang/lib/CodeGen/Targets/X86.cpp (+6-8)
  • (modified) clang/lib/CodeGen/Targets/XCore.cpp (+2-2)
  • (modified) clang/lib/ExtractAPI/DeclarationFragments.cpp (+1-1)
  • (modified) clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp (+1-1)
  • (modified) clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp (+2-3)
  • (modified) clang/lib/Index/IndexTypeSourceInfo.cpp (+1-1)
  • (modified) clang/lib/Index/USRGeneration.cpp (+2-3)
  • (modified) clang/lib/InstallAPI/Visitor.cpp (+2-2)
  • (modified) clang/lib/Interpreter/InterpreterValuePrinter.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaAvailability.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaBPF.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaCXXScopeSpec.cpp (+2-3)
  • (modified) clang/lib/Sema/SemaCast.cpp (+3-3)
  • (modified) clang/lib/Sema/SemaChecking.cpp (+4-5)
  • (modified) clang/lib/Sema/SemaCodeComplete.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaCoroutine.cpp (+3-4)
  • (modified) clang/lib/Sema/SemaDeclAttr.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaDeclCXX.cpp (+4-5)
  • (modified) clang/lib/Sema/SemaDeclObjC.cpp (+2-4)
  • (modified) clang/lib/Sema/SemaExpr.cpp (+7-11)
  • (modified) clang/lib/Sema/SemaExprCXX.cpp (+2-3)
  • (modified) clang/lib/Sema/SemaExprObjC.cpp (+1-2)
  • (modified) clang/lib/Sema/SemaHLSL.cpp (+3-3)
  • (modified) clang/lib/Sema/SemaInit.cpp (+5-6)
  • (modified) clang/lib/Sema/SemaLookup.cpp (+4-7)
  • (modified) clang/lib/Sema/SemaObjC.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaOverload.cpp (+5-7)
  • (modified) clang/lib/Sema/SemaSYCL.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaStmt.cpp (+6-6)
  • (modified) clang/lib/Sema/SemaStmtAsm.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaTemplate.cpp (+13-17)
  • (modified) clang/lib/Sema/SemaTemplateDeduction.cpp (+4-4)
  • (modified) clang/lib/Sema/SemaTemplateDeductionGuide.cpp (+3-4)
  • (modified) clang/lib/Sema/SemaTemplateInstantiate.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaTemplateInstantiateDecl.cpp (+3-3)
  • (modified) clang/lib/Sema/SemaType.cpp (+4-4)
  • (modified) clang/lib/Sema/SemaTypeTraits.cpp (+6-7)
  • (modified) clang/lib/Sema/TreeTransform.h (+2-2)
  • (modified) clang/lib/Serialization/ASTReader.cpp (+4-4)
  • (modified) clang/lib/Serialization/TemplateArgumentHasher.cpp (+1-1)
  • (modified) clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp (+1-1)
  • (modified) clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp (+2-3)
  • (modified) clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp (+1-1)
  • (modified) clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp (+2-2)
  • (modified) clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp (+2-2)
  • (modified) clang/lib/StaticAnalyzer/Core/CallEvent.cpp (+3-4)
  • (modified) clang/lib/StaticAnalyzer/Core/RegionStore.cpp (+1-1)
  • (modified) clang/tools/libclang/CIndex.cpp (+3-3)
  • (modified) clang/tools/libclang/CIndexCodeCompletion.cpp (+2-2)
  • (modified) clang/tools/libclang/CXCursor.cpp (+1-1)
  • (modified) clang/tools/libclang/CXIndexDataConsumer.cpp (+1-1)
  • (modified) clang/tools/libclang/CXType.cpp (+4-4)
  • (modified) clang/unittests/AST/ASTContextParentMapTest.cpp (+1-2)
  • (modified) clang/unittests/AST/ASTImporterTest.cpp (+2-2)
  • (modified) clang/unittests/AST/StructuralEquivalenceTest.cpp (+4-8)
  • (modified) clang/unittests/StaticAnalyzer/SValTest.cpp (+4-4)
  • (modified) clang/unittests/Tooling/LookupTest.cpp (+6-6)
  • (modified) clang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp (+1-1)
  • (modified) clang/unittests/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp (+1-1)
diff --git a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
index 4fc1b3b99ece4..76df992f29fc1 100644
--- a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
@@ -69,14 +69,14 @@ class FindEnumMember : public TypeVisitor<FindEnumMember, bool> {
     return Visit(T->getElementType().getTypePtr());
   }
   bool VisitEnumType(const EnumType *T) {
-    if (isCompleteAndHasNoZeroValue(T->getOriginalDecl())) {
+    if (isCompleteAndHasNoZeroValue(T->getDecl())) {
       FoundEnum = T;
       return true;
     }
     return false;
   }
   bool VisitRecordType(const RecordType *T) {
-    const RecordDecl *RD = T->getOriginalDecl()->getDefinition();
+    const RecordDecl *RD = T->getDecl()->getDefinition();
     if (!RD || RD->isUnion())
       return false;
     auto VisitField = [this](const FieldDecl *F) {
@@ -139,7 +139,7 @@ void InvalidEnumDefaultInitializationCheck::check(
     if (!Finder.Visit(InitList->getArrayFiller()->getType().getTypePtr()))
       return;
     InitExpr = InitList;
-    Enum = Finder.FoundEnum->getOriginalDecl();
+    Enum = Finder.FoundEnum->getDecl();
   }
 
   if (!InitExpr || !Enum)
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
index 5de4e33a1e16d..37d737afc19e8 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
@@ -190,7 +190,7 @@ struct InitializerInsertion {
 // Convenience utility to get a RecordDecl from a QualType.
 const RecordDecl *getCanonicalRecordDecl(const QualType &Type) {
   if (const auto *RT = Type->getAsCanonical<RecordType>())
-    return RT->getOriginalDecl();
+    return RT->getDecl();
   return nullptr;
 }
 
diff --git a/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp b/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
index a038af4fa9543..6d5182d1e9787 100644
--- a/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
@@ -72,7 +72,7 @@ static bool isStdInitializerList(QualType Type) {
   }
   if (const auto *RT = Type->getAs<RecordType>()) {
     if (const auto *Specialization =
-            dyn_cast<ClassTemplateSpecializationDecl>(RT->getOriginalDecl()))
+            dyn_cast<ClassTemplateSpecializationDecl>(RT->getDecl()))
       return declIsStdInitializerList(Specialization->getSpecializedTemplate());
   }
   return false;
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
index 31524e41f12a3..81840cc984135 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
@@ -132,7 +132,7 @@ void UnusedUsingDeclsCheck::check(const MatchFinder::MatchResult &Result) {
     }
     if (const auto *ECD = dyn_cast<EnumConstantDecl>(Used)) {
       if (const auto *ET = ECD->getType()->getAsCanonical<EnumType>())
-        removeFromFoundDecls(ET->getOriginalDecl());
+        removeFromFoundDecls(ET->getDecl());
     }
   };
   // We rely on the fact that the clang AST is walked in order, usages are only
diff --git a/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
index aa1ee6db8917a..a004480cb1b92 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
@@ -29,7 +29,7 @@ static bool isLockGuardDecl(const NamedDecl *Decl) {
 
 static bool isLockGuard(const QualType &Type) {
   if (const auto *Record = Type->getAsCanonical<RecordType>())
-    if (const RecordDecl *Decl = Record->getOriginalDecl())
+    if (const RecordDecl *Decl = Record->getDecl())
       return isLockGuardDecl(Decl);
 
   if (const auto *TemplateSpecType = Type->getAs<TemplateSpecializationType>())
diff --git a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
index 3e27d8fa1fe42..d623ec402179b 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
@@ -77,7 +77,7 @@ struct UnqualNameVisitor : public RecursiveASTVisitor<UnqualNameVisitor> {
       if (T->getKeyword() != ElaboratedTypeKeyword::None ||
           TTL.getQualifierLoc())
         break;
-      if (visitUnqualName(T->getOriginalDecl()->getName()))
+      if (visitUnqualName(T->getDecl()->getName()))
         return false;
       break;
     }
diff --git a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
index 29084f4e875f7..d1738f10e0f93 100644
--- a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
@@ -413,11 +413,10 @@ static bool areTypesCompatible(QualType ArgType, QualType ParamType,
 
   // Arithmetic types are interconvertible, except scoped enums.
   if (ParamType->isArithmeticType() && ArgType->isArithmeticType()) {
-    if ((ParamType->isEnumeralType() && ParamType->castAsCanonical<EnumType>()
-                                            ->getOriginalDecl()
-                                            ->isScoped()) ||
+    if ((ParamType->isEnumeralType() &&
+         ParamType->castAsCanonical<EnumType>()->getDecl()->isScoped()) ||
         (ArgType->isEnumeralType() &&
-         ArgType->castAsCanonical<EnumType>()->getOriginalDecl()->isScoped()))
+         ArgType->castAsCanonical<EnumType>()->getDecl()->isScoped()))
       return false;
 
     return true;
diff --git a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
index 70f6092a5e4bc..71d252fb2dc1a 100644
--- a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
@@ -331,7 +331,7 @@ class RenamerClangTidyVisitor
   }
 
   bool VisitTagTypeLoc(const TagTypeLoc &Loc) {
-    Check->addUsage(Loc.getOriginalDecl(), Loc.getNameLoc(), SM);
+    Check->addUsage(Loc.getDecl(), Loc.getNameLoc(), SM);
     return true;
   }
 
diff --git a/clang-tools-extra/clangd/DumpAST.cpp b/clang-tools-extra/clangd/DumpAST.cpp
index 9a8d41d870929..cd409a2b930ef 100644
--- a/clang-tools-extra/clangd/DumpAST.cpp
+++ b/clang-tools-extra/clangd/DumpAST.cpp
@@ -261,7 +261,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> {
       return TL.getType().getLocalQualifiers().getAsString(
           Ctx.getPrintingPolicy());
     if (const auto *TT = dyn_cast<TagType>(TL.getTypePtr()))
-      return getDetail(TT->getOriginalDecl());
+      return getDetail(TT->getDecl());
     if (const auto *DT = dyn_cast<DeducedType>(TL.getTypePtr()))
       if (DT->isDeduced())
         return DT->getDeducedType().getAsString(Ctx.getPrintingPolicy());
diff --git a/clang-tools-extra/clangd/FindTarget.cpp b/clang-tools-extra/clangd/FindTarget.cpp
index 799c64b8dab4d..7aca276c96a5d 100644
--- a/clang-tools-extra/clangd/FindTarget.cpp
+++ b/clang-tools-extra/clangd/FindTarget.cpp
@@ -366,7 +366,7 @@ struct TargetFinder {
       Visitor(TargetFinder &Outer, RelSet Flags) : Outer(Outer), Flags(Flags) {}
 
       void VisitTagType(const TagType *TT) {
-        Outer.add(cast<TagType>(TT)->getOriginalDecl(), Flags);
+        Outer.add(cast<TagType>(TT)->getDecl(), Flags);
       }
 
       void VisitUsingType(const UsingType *ET) {
@@ -861,7 +861,7 @@ refInTypeLoc(TypeLoc L, const HeuristicResolver *Resolver) {
       Refs.push_back(ReferenceLoc{L.getQualifierLoc(),
                                   L.getNameLoc(),
                                   /*IsDecl=*/false,
-                                  {L.getOriginalDecl()}});
+                                  {L.getDecl()}});
     }
 
     void VisitTemplateTypeParmTypeLoc(TemplateTypeParmTypeLoc L) {
diff --git a/clang-tools-extra/clangd/Hover.cpp b/clang-tools-extra/clangd/Hover.cpp
index acc8e87ed4764..34369e188d4ec 100644
--- a/clang-tools-extra/clangd/Hover.cpp
+++ b/clang-tools-extra/clangd/Hover.cpp
@@ -179,7 +179,7 @@ HoverInfo::PrintedType printType(QualType QT, ASTContext &ASTCtx,
   if (!QT.isNull() && !QT.hasQualifiers() && PP.SuppressTagKeyword) {
     if (auto *TT = llvm::dyn_cast<TagType>(QT.getTypePtr());
         TT && TT->isCanonicalUnqualified())
-      OS << TT->getOriginalDecl()->getKindName() << " ";
+      OS << TT->getDecl()->getKindName() << " ";
   }
   QT.print(OS, PP);
 
diff --git a/clang-tools-extra/clangd/IncludeFixer.cpp b/clang-tools-extra/clangd/IncludeFixer.cpp
index c27d960cd963b..3f3d7fbefd58e 100644
--- a/clang-tools-extra/clangd/IncludeFixer.cpp
+++ b/clang-tools-extra/clangd/IncludeFixer.cpp
@@ -173,7 +173,7 @@ std::vector<Fix> IncludeFixer::fix(DiagnosticsEngine::Level DiagLevel,
           // `enum x : int;' is not formally an incomplete type.
           // We may need a full definition anyway.
           if (auto * ET = llvm::dyn_cast<EnumType>(T))
-            if (!ET->getOriginalDecl()->getDefinition())
+            if (!ET->getDecl()->getDefinition())
               return fixIncompleteType(*T);
         }
       }
diff --git a/clang-tools-extra/clangd/InlayHints.cpp b/clang-tools-extra/clangd/InlayHints.cpp
index d56b93e5f36dc..23bd02304a4fd 100644
--- a/clang-tools-extra/clangd/InlayHints.cpp
+++ b/clang-tools-extra/clangd/InlayHints.cpp
@@ -60,7 +60,7 @@ const NamedDecl *getDeclForType(const Type *T) {
   case Type::Enum:
   case Type::Record:
   case Type::InjectedClassName:
-    return cast<TagType>(T)->getOriginalDecl();
+    return cast<TagType>(T)->getDecl();
   case Type::TemplateSpecialization:
     return cast<TemplateSpecializationType>(T)
         ->getTemplateName()
diff --git a/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp b/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
index f65c74fdbc9ee..3f43362a307a9 100644
--- a/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
+++ b/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
@@ -322,7 +322,7 @@ bool AddUsing::prepare(const Selection &Inputs) {
       if (!QualifierToRemove)
         break;
       SpelledNameRange = TL.getNameLoc();
-      MustInsertAfterLoc = TL.getOriginalDecl()->getBeginLoc();
+      MustInsertAfterLoc = TL.getDecl()->getBeginLoc();
       break;
     }
     case TypeLoc::Typedef: {
diff --git a/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp b/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
index 2c9841762b869..769d73f34d445 100644
--- a/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
+++ b/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
@@ -116,7 +116,7 @@ bool PopulateSwitch::prepare(const Selection &Sel) {
   EnumT = Cond->getType()->getAsCanonical<EnumType>();
   if (!EnumT)
     return false;
-  EnumD = EnumT->getOriginalDecl()->getDefinitionOrSelf();
+  EnumD = EnumT->getDecl()->getDefinitionOrSelf();
   if (EnumD->isDependentType())
     return false;
 
diff --git a/clang-tools-extra/include-cleaner/lib/WalkAST.cpp b/clang-tools-extra/include-cleaner/lib/WalkAST.cpp
index 7bbdc8ba00dca..d444ddd90839d 100644
--- a/clang-tools-extra/include-cleaner/lib/WalkAST.cpp
+++ b/clang-tools-extra/include-cleaner/lib/WalkAST.cpp
@@ -342,7 +342,7 @@ class ASTWalker : public RecursiveASTVisitor<ASTWalker> {
   }
 
   bool VisitTagTypeLoc(TagTypeLoc TTL) {
-    reportType(TTL.getNameLoc(), TTL.getOriginalDecl());
+    reportType(TTL.getNameLoc(), TTL.getDecl());
     return true;
   }
 
diff --git a/clang/include/clang/AST/ASTNodeTraverser.h b/clang/include/clang/AST/ASTNodeTraverser.h
index 092160405aff4..e74bb72571d64 100644
--- a/clang/include/clang/AST/ASTNodeTraverser.h
+++ b/clang/include/clang/AST/ASTNodeTraverser.h
@@ -770,7 +770,7 @@ class ASTNodeTraverser
       // it will not be in the parent context:
       if (auto *TT = D->getFriendType()->getType()->getAs<TagType>())
         if (TT->isTagOwned())
-          Visit(TT->getOriginalDecl());
+          Visit(TT->getDecl());
     } else {
       Visit(D->getFriendDecl());
     }
diff --git a/clang/include/clang/AST/CanonicalType.h b/clang/include/clang/AST/CanonicalType.h
index b5a4e94e1330a..87bbd7b5d885d 100644
--- a/clang/include/clang/AST/CanonicalType.h
+++ b/clang/include/clang/AST/CanonicalType.h
@@ -551,18 +551,18 @@ struct CanProxyAdaptor<UnaryTransformType>
 
 template<>
 struct CanProxyAdaptor<TagType> : public CanProxyBase<TagType> {
-  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(TagDecl *, getOriginalDecl)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(TagDecl *, getDecl)
 };
 
 template<>
 struct CanProxyAdaptor<RecordType> : public CanProxyBase<RecordType> {
-  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(RecordDecl *, getOriginalDecl)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(RecordDecl *, getDecl)
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, hasConstFields)
 };
 
 template<>
 struct CanProxyAdaptor<EnumType> : public CanProxyBase<EnumType> {
-  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(EnumDecl *, getOriginalDecl)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(EnumDecl *, getDecl)
 };
 
 template<>
diff --git a/clang/include/clang/AST/DeclCXX.h b/clang/include/clang/AST/DeclCXX.h
index 898487bffec08..dfa3befb27dd0 100644
--- a/clang/include/clang/AST/DeclCXX.h
+++ b/clang/include/clang/AST/DeclCXX.h
@@ -3832,7 +3832,7 @@ class UsingEnumDecl : public BaseUsingDecl, public Mergeable<UsingEnumDecl> {
 
 public:
   EnumDecl *getEnumDecl() const {
-    return EnumType->getType()->castAs<clang::EnumType>()->getOriginalDecl();
+    return EnumType->getType()->castAs<clang::EnumType>()->getDecl();
   }
 
   static UsingEnumDecl *Create(ASTContext &C, DeclContext *DC,
diff --git a/clang/include/clang/AST/RecursiveASTVisitor.h b/clang/include/clang/AST/RecursiveASTVisitor.h
index 7a2881f6124f3..7adcaf7c083cb 100644
--- a/clang/include/clang/AST/RecursiveASTVisitor.h
+++ b/clang/include/clang/AST/RecursiveASTVisitor.h
@@ -1710,7 +1710,7 @@ DEF_TRAVERSE_DECL(FriendDecl, {
     // it will not be in the parent context:
     if (auto *TT = D->getFriendType()->getType()->getAs<TagType>();
         TT && TT->isTagOwned())
-      TRY_TO(TraverseDecl(TT->getOriginalDecl()));
+      TRY_TO(TraverseDecl(TT->getDecl()));
   } else {
     TRY_TO(TraverseDecl(D->getFriendDecl()));
   }
diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h
index df106d5b12c8d..7bd2441289619 100644
--- a/clang/include/clang/AST/Type.h
+++ b/clang/include/clang/AST/Type.h
@@ -27,7 +27,7 @@ inline CXXRecordDecl *Type::getAsCXXRecordDecl() const {
   const auto *TT = dyn_cast<TagType>(CanonicalType);
   if (!isa_and_present<RecordType, InjectedClassNameType>(TT))
     return nullptr;
-  auto *TD = TT->getOriginalDecl();
+  auto *TD = TT->getDecl();
   if (isa<RecordType>(TT) && !isa<CXXRecordDecl>(TD))
     return nullptr;
   return cast<CXXRecordDecl>(TD)->getDefinitionOrSelf();
@@ -35,41 +35,39 @@ inline CXXRecordDecl *Type::getAsCXXRecordDecl() const {
 
 inline CXXRecordDecl *Type::castAsCXXRecordDecl() const {
   const auto *TT = cast<TagType>(CanonicalType);
-  return cast<CXXRecordDecl>(TT->getOriginalDecl())->getDefinitionOrSelf();
+  return cast<CXXRecordDecl>(TT->getDecl())->getDefinitionOrSelf();
 }
 
 inline RecordDecl *Type::getAsRecordDecl() const {
   const auto *TT = dyn_cast<TagType>(CanonicalType);
   if (!isa_and_present<RecordType, InjectedClassNameType>(TT))
     return nullptr;
-  return cast<RecordDecl>(TT->getOriginalDecl())->getDefinitionOrSelf();
+  return cast<RecordDecl>(TT->getDecl())->getDefinitionOrSelf();
 }
 
 inline RecordDecl *Type::castAsRecordDecl() const {
   const auto *TT = cast<TagType>(CanonicalType);
-  return cast<RecordDecl>(TT->getOriginalDecl())->getDefinitionOrSelf();
+  return cast<RecordDecl>(TT->getDecl())->getDefinitionOrSelf();
 }
 
 inline EnumDecl *Type::getAsEnumDecl() const {
   if (const auto *TT = dyn_cast<EnumType>(CanonicalType))
-    return TT->getOriginalDecl()->getDefinitionOrSelf();
+    return TT->getDecl()->getDefinitionOrSelf();
   return nullptr;
 }
 
 inline EnumDecl *Type::castAsEnumDecl() const {
-  return cast<EnumType>(CanonicalType)
-      ->getOriginalDecl()
-      ->getDefinitionOrSelf();
+  return cast<EnumType>(CanonicalType)->getDecl()->getDefinitionOrSelf();
 }
 
 inline TagDecl *Type::getAsTagDecl() const {
   if (const auto *TT = dyn_cast<TagType>(CanonicalType))
-    return TT->getOriginalDecl()->getDefinitionOrSelf();
+    return TT->getDecl()->getDefinitionOrSelf();
   return nullptr;
 }
 
 inline TagDecl *Type::castAsTagDecl() const {
-  return cast<TagType>(CanonicalType)->getOriginalDecl()->getDefinitionOrSelf();
+  return cast<TagType>(CanonicalType)->getDecl()->getDefinitionOrSelf();
 }
 
 inline bool QualType::hasNonTrivialToPrimitiveDefaultInitializeCUnion() const {
diff --git a/clang/include/clang/AST/TypeBase.h b/clang/include/clang/AST/TypeBase.h
index 625cc77dc1f08..f2e5d5e92d022 100644
--- a/clang/include/clang/AST/TypeBase.h
+++ b/clang/include/clang/AST/TypeBase.h
@@ -6419,10 +6419,7 @@ class TagType : public TypeWithKeyword {
           bool IsInjected, const Type *CanonicalType);
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  TagDecl *getOriginalDecl() const { return decl; }
+  TagDecl *getDecl() const { return decl; }
 
   NestedNameSpecifier getQualifier() const;
 
@@ -6463,7 +6460,7 @@ struct TagTypeFoldingSetPlaceholder : public llvm::FoldingSetNode {
 
   void Profile(llvm::FoldingSetNodeID &ID) const {
     const TagType *T = getTagType();
-    Profile(ID, T->getKeyword(), T->getQualifier(), T->getOriginalDecl(),
+    Profile(ID, T->getKeyword(), T->getQualifier(), T->getDecl(),
             T->isTagOwned(), T->isInjected());
   }
 
@@ -6487,11 +6484,8 @@ class RecordType final : public TagType {
   using TagType::TagType;
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  RecordDecl *getOriginalDecl() const {
-    return reinterpret_cast<RecordDecl *>(TagType::getOriginalDecl());
+  RecordDecl *getDecl() const {
+    return reinterpret_cast<RecordDecl *>(TagType::getDecl());
   }
 
   /// Recursively check all fields in the record for const-ness. If any field
@@ -6507,11 +6501,8 @@ class EnumType final : public TagType {
   using TagType::TagType;
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  EnumDecl *getOriginalDecl() const {
-    return reinterpret_cast<EnumDecl *>(TagType::getOriginalDecl());
+  EnumDecl *getDecl() const {
+    return reinterpret_cast<EnumDecl *>(TagType::getDecl());
   }
 
   static bool classof(const Type *T) { return T->getTypeClass() == Enum; }
@@ -6542,11 +6533,8 @@ class InjectedClassNameType final : public TagType {
                         bool IsInjected, const Type *CanonicalType);
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  CXXRecordDecl *getOriginalDecl() const {
-    return reinterpret_cast<CXXRecordDecl *>(TagType::getOriginalDecl());
+  CXXRecordDecl *getDecl() const {
+    return reinterpret_cast<CXXRecordDecl *>(TagType::getDecl());
   }
 
   static bool classof(const Type *T) {
@@ -8930,8 +8918,8 @@ inline bool Type::isIntegerType() const {
   if (const EnumType *ET = dyn_cast<EnumType>(CanonicalType)) {
     // Incomplete enum types are not treated as integer types.
     // FIXME: In C++, enum types are never integer types.
-    return IsEnumDeclComplete(ET-...
[truncated]

@llvmbot
Copy link
Member

llvmbot commented Oct 13, 2025

@llvm/pr-subscribers-clang-tools-extra

Author: Matheus Izvekov (mizvekov)

Changes

This rename was made as part of #147835 in order to ease rebasing the PR, and give a nice window for other patches to get rebased as well.

It has been a while already, so lets go ahead and rename it back.


Patch is 179.53 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/163271.diff

135 Files Affected:

  • (modified) clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp (+3-3)
  • (modified) clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp (+3-4)
  • (modified) clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/DumpAST.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/FindTarget.cpp (+2-2)
  • (modified) clang-tools-extra/clangd/Hover.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/IncludeFixer.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/InlayHints.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp (+1-1)
  • (modified) clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp (+1-1)
  • (modified) clang-tools-extra/include-cleaner/lib/WalkAST.cpp (+1-1)
  • (modified) clang/include/clang/AST/ASTNodeTraverser.h (+1-1)
  • (modified) clang/include/clang/AST/CanonicalType.h (+3-3)
  • (modified) clang/include/clang/AST/DeclCXX.h (+1-1)
  • (modified) clang/include/clang/AST/RecursiveASTVisitor.h (+1-1)
  • (modified) clang/include/clang/AST/Type.h (+8-10)
  • (modified) clang/include/clang/AST/TypeBase.h (+12-24)
  • (modified) clang/include/clang/AST/TypeLoc.h (+4-8)
  • (modified) clang/include/clang/AST/TypeProperties.td (+1-1)
  • (modified) clang/include/clang/ASTMatchers/ASTMatchersInternal.h (+1-1)
  • (modified) clang/lib/AST/ASTContext.cpp (+16-18)
  • (modified) clang/lib/AST/ASTDiagnostic.cpp (+3-7)
  • (modified) clang/lib/AST/ASTImporter.cpp (+8-9)
  • (modified) clang/lib/AST/ASTStructuralEquivalence.cpp (+6-7)
  • (modified) clang/lib/AST/ByteCode/Compiler.cpp (+1-1)
  • (modified) clang/lib/AST/ByteCode/Pointer.cpp (+1-1)
  • (modified) clang/lib/AST/Decl.cpp (+8-11)
  • (modified) clang/lib/AST/DeclCXX.cpp (+1-1)
  • (modified) clang/lib/AST/DeclPrinter.cpp (+1-1)
  • (modified) clang/lib/AST/DeclarationName.cpp (+3-3)
  • (modified) clang/lib/AST/Expr.cpp (+1-3)
  • (modified) clang/lib/AST/ExprConstant.cpp (+4-5)
  • (modified) clang/lib/AST/InheritViz.cpp (+2-2)
  • (modified) clang/lib/AST/ItaniumMangle.cpp (+8-10)
  • (modified) clang/lib/AST/JSONNodeDumper.cpp (+3-3)
  • (modified) clang/lib/AST/MicrosoftMangle.cpp (+2-2)
  • (modified) clang/lib/AST/ODRHash.cpp (+3-3)
  • (modified) clang/lib/AST/QualTypeNames.cpp (+3-3)
  • (modified) clang/lib/AST/RecordLayoutBuilder.cpp (+2-2)
  • (modified) clang/lib/AST/TextNodeDumper.cpp (+3-3)
  • (modified) clang/lib/AST/Type.cpp (+27-29)
  • (modified) clang/lib/AST/TypeLoc.cpp (+1-2)
  • (modified) clang/lib/AST/TypePrinter.cpp (+6-6)
  • (modified) clang/lib/AST/VTableBuilder.cpp (+4-5)
  • (modified) clang/lib/Analysis/ThreadSafety.cpp (+1-3)
  • (modified) clang/lib/CIR/CodeGen/CIRGenClass.cpp (+2-3)
  • (modified) clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp (+5-7)
  • (modified) clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp (+10-15)
  • (modified) clang/lib/CIR/CodeGen/CIRGenTypes.cpp (+2-3)
  • (modified) clang/lib/CodeGen/ABIInfoImpl.cpp (+3-3)
  • (modified) clang/lib/CodeGen/CGCall.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CGClass.cpp (+1-1)
  • (modified) clang/lib/CodeGen/CGDebugInfo.cpp (+13-15)
  • (modified) clang/lib/CodeGen/CGExpr.cpp (+3-3)
  • (modified) clang/lib/CodeGen/CGExprAgg.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CGExprCXX.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CGExprScalar.cpp (+1-1)
  • (modified) clang/lib/CodeGen/CGNonTrivialStruct.cpp (+1-2)
  • (modified) clang/lib/CodeGen/CGObjCMac.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CodeGenModule.cpp (+2-2)
  • (modified) clang/lib/CodeGen/CodeGenTBAA.cpp (+4-4)
  • (modified) clang/lib/CodeGen/CodeGenTypes.cpp (+2-2)
  • (modified) clang/lib/CodeGen/ItaniumCXXABI.cpp (+10-14)
  • (modified) clang/lib/CodeGen/SwiftCallingConv.cpp (+3-4)
  • (modified) clang/lib/CodeGen/Targets/AArch64.cpp (+1-1)
  • (modified) clang/lib/CodeGen/Targets/ARC.cpp (+1-2)
  • (modified) clang/lib/CodeGen/Targets/ARM.cpp (+1-1)
  • (modified) clang/lib/CodeGen/Targets/Lanai.cpp (+1-2)
  • (modified) clang/lib/CodeGen/Targets/LoongArch.cpp (+2-2)
  • (modified) clang/lib/CodeGen/Targets/Mips.cpp (+2-2)
  • (modified) clang/lib/CodeGen/Targets/RISCV.cpp (+2-2)
  • (modified) clang/lib/CodeGen/Targets/X86.cpp (+6-8)
  • (modified) clang/lib/CodeGen/Targets/XCore.cpp (+2-2)
  • (modified) clang/lib/ExtractAPI/DeclarationFragments.cpp (+1-1)
  • (modified) clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp (+1-1)
  • (modified) clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp (+2-3)
  • (modified) clang/lib/Index/IndexTypeSourceInfo.cpp (+1-1)
  • (modified) clang/lib/Index/USRGeneration.cpp (+2-3)
  • (modified) clang/lib/InstallAPI/Visitor.cpp (+2-2)
  • (modified) clang/lib/Interpreter/InterpreterValuePrinter.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaAvailability.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaBPF.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaCXXScopeSpec.cpp (+2-3)
  • (modified) clang/lib/Sema/SemaCast.cpp (+3-3)
  • (modified) clang/lib/Sema/SemaChecking.cpp (+4-5)
  • (modified) clang/lib/Sema/SemaCodeComplete.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaCoroutine.cpp (+3-4)
  • (modified) clang/lib/Sema/SemaDeclAttr.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaDeclCXX.cpp (+4-5)
  • (modified) clang/lib/Sema/SemaDeclObjC.cpp (+2-4)
  • (modified) clang/lib/Sema/SemaExpr.cpp (+7-11)
  • (modified) clang/lib/Sema/SemaExprCXX.cpp (+2-3)
  • (modified) clang/lib/Sema/SemaExprObjC.cpp (+1-2)
  • (modified) clang/lib/Sema/SemaHLSL.cpp (+3-3)
  • (modified) clang/lib/Sema/SemaInit.cpp (+5-6)
  • (modified) clang/lib/Sema/SemaLookup.cpp (+4-7)
  • (modified) clang/lib/Sema/SemaObjC.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaOverload.cpp (+5-7)
  • (modified) clang/lib/Sema/SemaSYCL.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaStmt.cpp (+6-6)
  • (modified) clang/lib/Sema/SemaStmtAsm.cpp (+1-1)
  • (modified) clang/lib/Sema/SemaTemplate.cpp (+13-17)
  • (modified) clang/lib/Sema/SemaTemplateDeduction.cpp (+4-4)
  • (modified) clang/lib/Sema/SemaTemplateDeductionGuide.cpp (+3-4)
  • (modified) clang/lib/Sema/SemaTemplateInstantiate.cpp (+2-2)
  • (modified) clang/lib/Sema/SemaTemplateInstantiateDecl.cpp (+3-3)
  • (modified) clang/lib/Sema/SemaType.cpp (+4-4)
  • (modified) clang/lib/Sema/SemaTypeTraits.cpp (+6-7)
  • (modified) clang/lib/Sema/TreeTransform.h (+2-2)
  • (modified) clang/lib/Serialization/ASTReader.cpp (+4-4)
  • (modified) clang/lib/Serialization/TemplateArgumentHasher.cpp (+1-1)
  • (modified) clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp (+1-1)
  • (modified) clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp (+2-3)
  • (modified) clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp (+1-1)
  • (modified) clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp (+2-2)
  • (modified) clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp (+2-2)
  • (modified) clang/lib/StaticAnalyzer/Core/CallEvent.cpp (+3-4)
  • (modified) clang/lib/StaticAnalyzer/Core/RegionStore.cpp (+1-1)
  • (modified) clang/tools/libclang/CIndex.cpp (+3-3)
  • (modified) clang/tools/libclang/CIndexCodeCompletion.cpp (+2-2)
  • (modified) clang/tools/libclang/CXCursor.cpp (+1-1)
  • (modified) clang/tools/libclang/CXIndexDataConsumer.cpp (+1-1)
  • (modified) clang/tools/libclang/CXType.cpp (+4-4)
  • (modified) clang/unittests/AST/ASTContextParentMapTest.cpp (+1-2)
  • (modified) clang/unittests/AST/ASTImporterTest.cpp (+2-2)
  • (modified) clang/unittests/AST/StructuralEquivalenceTest.cpp (+4-8)
  • (modified) clang/unittests/StaticAnalyzer/SValTest.cpp (+4-4)
  • (modified) clang/unittests/Tooling/LookupTest.cpp (+6-6)
  • (modified) clang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp (+1-1)
  • (modified) clang/unittests/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp (+1-1)
diff --git a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
index 4fc1b3b99ece4..76df992f29fc1 100644
--- a/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
@@ -69,14 +69,14 @@ class FindEnumMember : public TypeVisitor<FindEnumMember, bool> {
     return Visit(T->getElementType().getTypePtr());
   }
   bool VisitEnumType(const EnumType *T) {
-    if (isCompleteAndHasNoZeroValue(T->getOriginalDecl())) {
+    if (isCompleteAndHasNoZeroValue(T->getDecl())) {
       FoundEnum = T;
       return true;
     }
     return false;
   }
   bool VisitRecordType(const RecordType *T) {
-    const RecordDecl *RD = T->getOriginalDecl()->getDefinition();
+    const RecordDecl *RD = T->getDecl()->getDefinition();
     if (!RD || RD->isUnion())
       return false;
     auto VisitField = [this](const FieldDecl *F) {
@@ -139,7 +139,7 @@ void InvalidEnumDefaultInitializationCheck::check(
     if (!Finder.Visit(InitList->getArrayFiller()->getType().getTypePtr()))
       return;
     InitExpr = InitList;
-    Enum = Finder.FoundEnum->getOriginalDecl();
+    Enum = Finder.FoundEnum->getDecl();
   }
 
   if (!InitExpr || !Enum)
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
index 5de4e33a1e16d..37d737afc19e8 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
@@ -190,7 +190,7 @@ struct InitializerInsertion {
 // Convenience utility to get a RecordDecl from a QualType.
 const RecordDecl *getCanonicalRecordDecl(const QualType &Type) {
   if (const auto *RT = Type->getAsCanonical<RecordType>())
-    return RT->getOriginalDecl();
+    return RT->getDecl();
   return nullptr;
 }
 
diff --git a/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp b/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
index a038af4fa9543..6d5182d1e9787 100644
--- a/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
@@ -72,7 +72,7 @@ static bool isStdInitializerList(QualType Type) {
   }
   if (const auto *RT = Type->getAs<RecordType>()) {
     if (const auto *Specialization =
-            dyn_cast<ClassTemplateSpecializationDecl>(RT->getOriginalDecl()))
+            dyn_cast<ClassTemplateSpecializationDecl>(RT->getDecl()))
       return declIsStdInitializerList(Specialization->getSpecializedTemplate());
   }
   return false;
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
index 31524e41f12a3..81840cc984135 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
@@ -132,7 +132,7 @@ void UnusedUsingDeclsCheck::check(const MatchFinder::MatchResult &Result) {
     }
     if (const auto *ECD = dyn_cast<EnumConstantDecl>(Used)) {
       if (const auto *ET = ECD->getType()->getAsCanonical<EnumType>())
-        removeFromFoundDecls(ET->getOriginalDecl());
+        removeFromFoundDecls(ET->getDecl());
     }
   };
   // We rely on the fact that the clang AST is walked in order, usages are only
diff --git a/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
index aa1ee6db8917a..a004480cb1b92 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
@@ -29,7 +29,7 @@ static bool isLockGuardDecl(const NamedDecl *Decl) {
 
 static bool isLockGuard(const QualType &Type) {
   if (const auto *Record = Type->getAsCanonical<RecordType>())
-    if (const RecordDecl *Decl = Record->getOriginalDecl())
+    if (const RecordDecl *Decl = Record->getDecl())
       return isLockGuardDecl(Decl);
 
   if (const auto *TemplateSpecType = Type->getAs<TemplateSpecializationType>())
diff --git a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
index 3e27d8fa1fe42..d623ec402179b 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
@@ -77,7 +77,7 @@ struct UnqualNameVisitor : public RecursiveASTVisitor<UnqualNameVisitor> {
       if (T->getKeyword() != ElaboratedTypeKeyword::None ||
           TTL.getQualifierLoc())
         break;
-      if (visitUnqualName(T->getOriginalDecl()->getName()))
+      if (visitUnqualName(T->getDecl()->getName()))
         return false;
       break;
     }
diff --git a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
index 29084f4e875f7..d1738f10e0f93 100644
--- a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
@@ -413,11 +413,10 @@ static bool areTypesCompatible(QualType ArgType, QualType ParamType,
 
   // Arithmetic types are interconvertible, except scoped enums.
   if (ParamType->isArithmeticType() && ArgType->isArithmeticType()) {
-    if ((ParamType->isEnumeralType() && ParamType->castAsCanonical<EnumType>()
-                                            ->getOriginalDecl()
-                                            ->isScoped()) ||
+    if ((ParamType->isEnumeralType() &&
+         ParamType->castAsCanonical<EnumType>()->getDecl()->isScoped()) ||
         (ArgType->isEnumeralType() &&
-         ArgType->castAsCanonical<EnumType>()->getOriginalDecl()->isScoped()))
+         ArgType->castAsCanonical<EnumType>()->getDecl()->isScoped()))
       return false;
 
     return true;
diff --git a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
index 70f6092a5e4bc..71d252fb2dc1a 100644
--- a/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
+++ b/clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
@@ -331,7 +331,7 @@ class RenamerClangTidyVisitor
   }
 
   bool VisitTagTypeLoc(const TagTypeLoc &Loc) {
-    Check->addUsage(Loc.getOriginalDecl(), Loc.getNameLoc(), SM);
+    Check->addUsage(Loc.getDecl(), Loc.getNameLoc(), SM);
     return true;
   }
 
diff --git a/clang-tools-extra/clangd/DumpAST.cpp b/clang-tools-extra/clangd/DumpAST.cpp
index 9a8d41d870929..cd409a2b930ef 100644
--- a/clang-tools-extra/clangd/DumpAST.cpp
+++ b/clang-tools-extra/clangd/DumpAST.cpp
@@ -261,7 +261,7 @@ class DumpVisitor : public RecursiveASTVisitor<DumpVisitor> {
       return TL.getType().getLocalQualifiers().getAsString(
           Ctx.getPrintingPolicy());
     if (const auto *TT = dyn_cast<TagType>(TL.getTypePtr()))
-      return getDetail(TT->getOriginalDecl());
+      return getDetail(TT->getDecl());
     if (const auto *DT = dyn_cast<DeducedType>(TL.getTypePtr()))
       if (DT->isDeduced())
         return DT->getDeducedType().getAsString(Ctx.getPrintingPolicy());
diff --git a/clang-tools-extra/clangd/FindTarget.cpp b/clang-tools-extra/clangd/FindTarget.cpp
index 799c64b8dab4d..7aca276c96a5d 100644
--- a/clang-tools-extra/clangd/FindTarget.cpp
+++ b/clang-tools-extra/clangd/FindTarget.cpp
@@ -366,7 +366,7 @@ struct TargetFinder {
       Visitor(TargetFinder &Outer, RelSet Flags) : Outer(Outer), Flags(Flags) {}
 
       void VisitTagType(const TagType *TT) {
-        Outer.add(cast<TagType>(TT)->getOriginalDecl(), Flags);
+        Outer.add(cast<TagType>(TT)->getDecl(), Flags);
       }
 
       void VisitUsingType(const UsingType *ET) {
@@ -861,7 +861,7 @@ refInTypeLoc(TypeLoc L, const HeuristicResolver *Resolver) {
       Refs.push_back(ReferenceLoc{L.getQualifierLoc(),
                                   L.getNameLoc(),
                                   /*IsDecl=*/false,
-                                  {L.getOriginalDecl()}});
+                                  {L.getDecl()}});
     }
 
     void VisitTemplateTypeParmTypeLoc(TemplateTypeParmTypeLoc L) {
diff --git a/clang-tools-extra/clangd/Hover.cpp b/clang-tools-extra/clangd/Hover.cpp
index acc8e87ed4764..34369e188d4ec 100644
--- a/clang-tools-extra/clangd/Hover.cpp
+++ b/clang-tools-extra/clangd/Hover.cpp
@@ -179,7 +179,7 @@ HoverInfo::PrintedType printType(QualType QT, ASTContext &ASTCtx,
   if (!QT.isNull() && !QT.hasQualifiers() && PP.SuppressTagKeyword) {
     if (auto *TT = llvm::dyn_cast<TagType>(QT.getTypePtr());
         TT && TT->isCanonicalUnqualified())
-      OS << TT->getOriginalDecl()->getKindName() << " ";
+      OS << TT->getDecl()->getKindName() << " ";
   }
   QT.print(OS, PP);
 
diff --git a/clang-tools-extra/clangd/IncludeFixer.cpp b/clang-tools-extra/clangd/IncludeFixer.cpp
index c27d960cd963b..3f3d7fbefd58e 100644
--- a/clang-tools-extra/clangd/IncludeFixer.cpp
+++ b/clang-tools-extra/clangd/IncludeFixer.cpp
@@ -173,7 +173,7 @@ std::vector<Fix> IncludeFixer::fix(DiagnosticsEngine::Level DiagLevel,
           // `enum x : int;' is not formally an incomplete type.
           // We may need a full definition anyway.
           if (auto * ET = llvm::dyn_cast<EnumType>(T))
-            if (!ET->getOriginalDecl()->getDefinition())
+            if (!ET->getDecl()->getDefinition())
               return fixIncompleteType(*T);
         }
       }
diff --git a/clang-tools-extra/clangd/InlayHints.cpp b/clang-tools-extra/clangd/InlayHints.cpp
index d56b93e5f36dc..23bd02304a4fd 100644
--- a/clang-tools-extra/clangd/InlayHints.cpp
+++ b/clang-tools-extra/clangd/InlayHints.cpp
@@ -60,7 +60,7 @@ const NamedDecl *getDeclForType(const Type *T) {
   case Type::Enum:
   case Type::Record:
   case Type::InjectedClassName:
-    return cast<TagType>(T)->getOriginalDecl();
+    return cast<TagType>(T)->getDecl();
   case Type::TemplateSpecialization:
     return cast<TemplateSpecializationType>(T)
         ->getTemplateName()
diff --git a/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp b/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
index f65c74fdbc9ee..3f43362a307a9 100644
--- a/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
+++ b/clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
@@ -322,7 +322,7 @@ bool AddUsing::prepare(const Selection &Inputs) {
       if (!QualifierToRemove)
         break;
       SpelledNameRange = TL.getNameLoc();
-      MustInsertAfterLoc = TL.getOriginalDecl()->getBeginLoc();
+      MustInsertAfterLoc = TL.getDecl()->getBeginLoc();
       break;
     }
     case TypeLoc::Typedef: {
diff --git a/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp b/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
index 2c9841762b869..769d73f34d445 100644
--- a/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
+++ b/clang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
@@ -116,7 +116,7 @@ bool PopulateSwitch::prepare(const Selection &Sel) {
   EnumT = Cond->getType()->getAsCanonical<EnumType>();
   if (!EnumT)
     return false;
-  EnumD = EnumT->getOriginalDecl()->getDefinitionOrSelf();
+  EnumD = EnumT->getDecl()->getDefinitionOrSelf();
   if (EnumD->isDependentType())
     return false;
 
diff --git a/clang-tools-extra/include-cleaner/lib/WalkAST.cpp b/clang-tools-extra/include-cleaner/lib/WalkAST.cpp
index 7bbdc8ba00dca..d444ddd90839d 100644
--- a/clang-tools-extra/include-cleaner/lib/WalkAST.cpp
+++ b/clang-tools-extra/include-cleaner/lib/WalkAST.cpp
@@ -342,7 +342,7 @@ class ASTWalker : public RecursiveASTVisitor<ASTWalker> {
   }
 
   bool VisitTagTypeLoc(TagTypeLoc TTL) {
-    reportType(TTL.getNameLoc(), TTL.getOriginalDecl());
+    reportType(TTL.getNameLoc(), TTL.getDecl());
     return true;
   }
 
diff --git a/clang/include/clang/AST/ASTNodeTraverser.h b/clang/include/clang/AST/ASTNodeTraverser.h
index 092160405aff4..e74bb72571d64 100644
--- a/clang/include/clang/AST/ASTNodeTraverser.h
+++ b/clang/include/clang/AST/ASTNodeTraverser.h
@@ -770,7 +770,7 @@ class ASTNodeTraverser
       // it will not be in the parent context:
       if (auto *TT = D->getFriendType()->getType()->getAs<TagType>())
         if (TT->isTagOwned())
-          Visit(TT->getOriginalDecl());
+          Visit(TT->getDecl());
     } else {
       Visit(D->getFriendDecl());
     }
diff --git a/clang/include/clang/AST/CanonicalType.h b/clang/include/clang/AST/CanonicalType.h
index b5a4e94e1330a..87bbd7b5d885d 100644
--- a/clang/include/clang/AST/CanonicalType.h
+++ b/clang/include/clang/AST/CanonicalType.h
@@ -551,18 +551,18 @@ struct CanProxyAdaptor<UnaryTransformType>
 
 template<>
 struct CanProxyAdaptor<TagType> : public CanProxyBase<TagType> {
-  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(TagDecl *, getOriginalDecl)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(TagDecl *, getDecl)
 };
 
 template<>
 struct CanProxyAdaptor<RecordType> : public CanProxyBase<RecordType> {
-  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(RecordDecl *, getOriginalDecl)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(RecordDecl *, getDecl)
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, hasConstFields)
 };
 
 template<>
 struct CanProxyAdaptor<EnumType> : public CanProxyBase<EnumType> {
-  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(EnumDecl *, getOriginalDecl)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(EnumDecl *, getDecl)
 };
 
 template<>
diff --git a/clang/include/clang/AST/DeclCXX.h b/clang/include/clang/AST/DeclCXX.h
index 898487bffec08..dfa3befb27dd0 100644
--- a/clang/include/clang/AST/DeclCXX.h
+++ b/clang/include/clang/AST/DeclCXX.h
@@ -3832,7 +3832,7 @@ class UsingEnumDecl : public BaseUsingDecl, public Mergeable<UsingEnumDecl> {
 
 public:
   EnumDecl *getEnumDecl() const {
-    return EnumType->getType()->castAs<clang::EnumType>()->getOriginalDecl();
+    return EnumType->getType()->castAs<clang::EnumType>()->getDecl();
   }
 
   static UsingEnumDecl *Create(ASTContext &C, DeclContext *DC,
diff --git a/clang/include/clang/AST/RecursiveASTVisitor.h b/clang/include/clang/AST/RecursiveASTVisitor.h
index 7a2881f6124f3..7adcaf7c083cb 100644
--- a/clang/include/clang/AST/RecursiveASTVisitor.h
+++ b/clang/include/clang/AST/RecursiveASTVisitor.h
@@ -1710,7 +1710,7 @@ DEF_TRAVERSE_DECL(FriendDecl, {
     // it will not be in the parent context:
     if (auto *TT = D->getFriendType()->getType()->getAs<TagType>();
         TT && TT->isTagOwned())
-      TRY_TO(TraverseDecl(TT->getOriginalDecl()));
+      TRY_TO(TraverseDecl(TT->getDecl()));
   } else {
     TRY_TO(TraverseDecl(D->getFriendDecl()));
   }
diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h
index df106d5b12c8d..7bd2441289619 100644
--- a/clang/include/clang/AST/Type.h
+++ b/clang/include/clang/AST/Type.h
@@ -27,7 +27,7 @@ inline CXXRecordDecl *Type::getAsCXXRecordDecl() const {
   const auto *TT = dyn_cast<TagType>(CanonicalType);
   if (!isa_and_present<RecordType, InjectedClassNameType>(TT))
     return nullptr;
-  auto *TD = TT->getOriginalDecl();
+  auto *TD = TT->getDecl();
   if (isa<RecordType>(TT) && !isa<CXXRecordDecl>(TD))
     return nullptr;
   return cast<CXXRecordDecl>(TD)->getDefinitionOrSelf();
@@ -35,41 +35,39 @@ inline CXXRecordDecl *Type::getAsCXXRecordDecl() const {
 
 inline CXXRecordDecl *Type::castAsCXXRecordDecl() const {
   const auto *TT = cast<TagType>(CanonicalType);
-  return cast<CXXRecordDecl>(TT->getOriginalDecl())->getDefinitionOrSelf();
+  return cast<CXXRecordDecl>(TT->getDecl())->getDefinitionOrSelf();
 }
 
 inline RecordDecl *Type::getAsRecordDecl() const {
   const auto *TT = dyn_cast<TagType>(CanonicalType);
   if (!isa_and_present<RecordType, InjectedClassNameType>(TT))
     return nullptr;
-  return cast<RecordDecl>(TT->getOriginalDecl())->getDefinitionOrSelf();
+  return cast<RecordDecl>(TT->getDecl())->getDefinitionOrSelf();
 }
 
 inline RecordDecl *Type::castAsRecordDecl() const {
   const auto *TT = cast<TagType>(CanonicalType);
-  return cast<RecordDecl>(TT->getOriginalDecl())->getDefinitionOrSelf();
+  return cast<RecordDecl>(TT->getDecl())->getDefinitionOrSelf();
 }
 
 inline EnumDecl *Type::getAsEnumDecl() const {
   if (const auto *TT = dyn_cast<EnumType>(CanonicalType))
-    return TT->getOriginalDecl()->getDefinitionOrSelf();
+    return TT->getDecl()->getDefinitionOrSelf();
   return nullptr;
 }
 
 inline EnumDecl *Type::castAsEnumDecl() const {
-  return cast<EnumType>(CanonicalType)
-      ->getOriginalDecl()
-      ->getDefinitionOrSelf();
+  return cast<EnumType>(CanonicalType)->getDecl()->getDefinitionOrSelf();
 }
 
 inline TagDecl *Type::getAsTagDecl() const {
   if (const auto *TT = dyn_cast<TagType>(CanonicalType))
-    return TT->getOriginalDecl()->getDefinitionOrSelf();
+    return TT->getDecl()->getDefinitionOrSelf();
   return nullptr;
 }
 
 inline TagDecl *Type::castAsTagDecl() const {
-  return cast<TagType>(CanonicalType)->getOriginalDecl()->getDefinitionOrSelf();
+  return cast<TagType>(CanonicalType)->getDecl()->getDefinitionOrSelf();
 }
 
 inline bool QualType::hasNonTrivialToPrimitiveDefaultInitializeCUnion() const {
diff --git a/clang/include/clang/AST/TypeBase.h b/clang/include/clang/AST/TypeBase.h
index 625cc77dc1f08..f2e5d5e92d022 100644
--- a/clang/include/clang/AST/TypeBase.h
+++ b/clang/include/clang/AST/TypeBase.h
@@ -6419,10 +6419,7 @@ class TagType : public TypeWithKeyword {
           bool IsInjected, const Type *CanonicalType);
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  TagDecl *getOriginalDecl() const { return decl; }
+  TagDecl *getDecl() const { return decl; }
 
   NestedNameSpecifier getQualifier() const;
 
@@ -6463,7 +6460,7 @@ struct TagTypeFoldingSetPlaceholder : public llvm::FoldingSetNode {
 
   void Profile(llvm::FoldingSetNodeID &ID) const {
     const TagType *T = getTagType();
-    Profile(ID, T->getKeyword(), T->getQualifier(), T->getOriginalDecl(),
+    Profile(ID, T->getKeyword(), T->getQualifier(), T->getDecl(),
             T->isTagOwned(), T->isInjected());
   }
 
@@ -6487,11 +6484,8 @@ class RecordType final : public TagType {
   using TagType::TagType;
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  RecordDecl *getOriginalDecl() const {
-    return reinterpret_cast<RecordDecl *>(TagType::getOriginalDecl());
+  RecordDecl *getDecl() const {
+    return reinterpret_cast<RecordDecl *>(TagType::getDecl());
   }
 
   /// Recursively check all fields in the record for const-ness. If any field
@@ -6507,11 +6501,8 @@ class EnumType final : public TagType {
   using TagType::TagType;
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  EnumDecl *getOriginalDecl() const {
-    return reinterpret_cast<EnumDecl *>(TagType::getOriginalDecl());
+  EnumDecl *getDecl() const {
+    return reinterpret_cast<EnumDecl *>(TagType::getDecl());
   }
 
   static bool classof(const Type *T) { return T->getTypeClass() == Enum; }
@@ -6542,11 +6533,8 @@ class InjectedClassNameType final : public TagType {
                         bool IsInjected, const Type *CanonicalType);
 
 public:
-  // FIXME: Temporarily renamed from `getDecl` in order to facilitate
-  // rebasing, due to change in behaviour. This should be renamed back
-  // to `getDecl` once the change is settled.
-  CXXRecordDecl *getOriginalDecl() const {
-    return reinterpret_cast<CXXRecordDecl *>(TagType::getOriginalDecl());
+  CXXRecordDecl *getDecl() const {
+    return reinterpret_cast<CXXRecordDecl *>(TagType::getDecl());
   }
 
   static bool classof(const Type *T) {
@@ -8930,8 +8918,8 @@ inline bool Type::isIntegerType() const {
   if (const EnumType *ET = dyn_cast<EnumType>(CanonicalType)) {
     // Incomplete enum types are not treated as integer types.
     // FIXME: In C++, enum types are never integer types.
-    return IsEnumDeclComplete(ET-...
[truncated]

@mizvekov mizvekov force-pushed the users/mizvekov/GH147835-rename-back-getdecl branch from cc13239 to d2fd989 Compare October 13, 2025 21:41
@zmodem
Copy link
Collaborator

zmodem commented Oct 14, 2025

@llvm/clang-vendors fyi

Copy link
Contributor

@andykaylor andykaylor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CIR changes look complete

This rename was made as part of #147835
in order to ease rebasing the PR, and give a nice window for other patches to
get rebased as well.

This has been a while already, so lets go ahead and rename it back.
@mizvekov mizvekov force-pushed the users/mizvekov/GH147835-rename-back-getdecl branch from d2fd989 to e434708 Compare October 15, 2025 13:27
@llvmbot llvmbot added the lldb label Oct 15, 2025
@mizvekov mizvekov requested a review from rupprecht October 15, 2025 18:11
Copy link
Collaborator

@rupprecht rupprecht left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks :)

@mizvekov mizvekov merged commit b516dcc into main Oct 15, 2025
14 of 15 checks passed
@mizvekov mizvekov deleted the users/mizvekov/GH147835-rename-back-getdecl branch October 15, 2025 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend:AArch64 backend:ARC backend:ARM backend:Lanai backend:loongarch backend:MIPS backend:RISC-V backend:X86 clang:analysis clang:as-a-library libclang and C++ API clang:bytecode Issues for the clang bytecode constexpr interpreter clang:codegen IR generation bugs: mangling, exceptions, etc. clang:frontend Language frontend issues, e.g. anything involving "Sema" clang:modules C++20 modules and Clang Header Modules clang:static analyzer clang Clang issues not falling into any other category clang-tidy clang-tools-extra clangd ClangIR Anything related to the ClangIR project coroutines C++20 coroutines debuginfo HLSL HLSL Language Support lldb

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants