LLVM/project eb5f780clang/lib/Basic/Targets PPC.cpp PPC.h, clang/lib/CodeGen CodeGenFunction.cpp CodeGenModule.cpp

code review

code review

code review
DeltaFile
+3-9clang/lib/CodeGen/CodeGenFunction.cpp
+4-6clang/lib/CodeGen/CodeGenModule.cpp
+0-7clang/lib/Basic/Targets/PPC.cpp
+0-1clang/lib/Basic/Targets/PPC.h
+7-234 files

LLVM/project b2c6788clang/test/CodeGen attr-target-clones-ppc.c

test all supported CPUs
DeltaFile
+13-2clang/test/CodeGen/attr-target-clones-ppc.c
+13-21 files

LLVM/project 5c8c073clang/include/clang/Basic AttrDocs.td

update target_clones documentation
DeltaFile
+6-0clang/include/clang/Basic/AttrDocs.td
+6-01 files

LLVM/project cc711c8clang/test/Sema attr-target-clones-ppc.c

fix test
DeltaFile
+3-1clang/test/Sema/attr-target-clones-ppc.c
+3-11 files

LLVM/project 35b2e4fclang/lib/Sema SemaPPC.cpp

create PPCTargetInfo::isTargetClonesSupportedCPU to filter out unsupported CPUs during Sema
DeltaFile
+6-3clang/lib/Sema/SemaPPC.cpp
+6-31 files

LLVM/project 74e4342clang/include/clang/Sema SemaPPC.h, clang/lib/Basic/Targets PPC.cpp PPC.h

normalize CPU during Sema

fix Sema and create ppc target_clones tests based on the x86 test
DeltaFile
+130-0clang/test/Sema/attr-target-clones-ppc.c
+15-5clang/lib/Sema/SemaPPC.cpp
+7-0clang/lib/Basic/Targets/PPC.cpp
+2-1clang/lib/Sema/SemaDeclAttr.cpp
+2-1clang/include/clang/Sema/SemaPPC.h
+1-0clang/lib/Basic/Targets/PPC.h
+157-76 files

LLVM/project 062947cclang/lib/CodeGen CodeGenModule.cpp, clang/lib/Sema SemaPPC.cpp

diagnose non-cpu strings in target_clones in Sema
DeltaFile
+3-5clang/lib/Sema/SemaPPC.cpp
+1-1clang/lib/CodeGen/CodeGenModule.cpp
+4-62 files

LLVM/project 8a2f16aclang/lib/Basic/Targets PPC.cpp, clang/lib/CodeGen CodeGenFunction.cpp

now that we normalize CPU on target_clones in Sema, remove normalization in codegen
DeltaFile
+5-5clang/lib/CodeGen/CodeGenFunction.cpp
+2-7clang/lib/Basic/Targets/PPC.cpp
+7-122 files

LLVM/project d900078clang/lib/Sema SemaPPC.cpp

checkTargetClonesAttr: compute TargetInfo once
DeltaFile
+4-4clang/lib/Sema/SemaPPC.cpp
+4-41 files

LLVM/project eaf36ebclang/include/clang/Sema SemaPPC.h, clang/lib/Sema SemaPPC.cpp

code review: add const to parameters
DeltaFile
+2-2clang/include/clang/Sema/SemaPPC.h
+2-1clang/lib/Sema/SemaPPC.cpp
+4-32 files

LLVM/project 07e2abcclang/lib/CodeGen CodeGenModule.cpp

inline the only call to IgnoreFMVOnADeclaration
DeltaFile
+7-15clang/lib/CodeGen/CodeGenModule.cpp
+7-151 files

LLVM/project 11313b0clang/include/clang/Basic TargetInfo.h, clang/lib/CodeGen/TargetBuiltins PPC.cpp

code review
DeltaFile
+29-28clang/lib/CodeGen/TargetBuiltins/PPC.cpp
+1-1clang/include/clang/Basic/TargetInfo.h
+30-292 files

LLVM/project 268d3fbclang/lib/CodeGen CodeGenFunction.cpp, clang/lib/CodeGen/Targets PPC.cpp

clang-formt
DeltaFile
+6-6clang/lib/CodeGen/CodeGenFunction.cpp
+1-1clang/lib/CodeGen/Targets/PPC.cpp
+1-1clang/lib/Sema/SemaPPC.cpp
+8-83 files

LLVM/project d898e69clang/lib/CodeGen CodeGenModule.cpp

Handle case when an FMV function is declared, used, then defined by:
fixing getMangledNameImpl such that it does not need to special case for FMV declarations because GetOrCreateLLVMFunction already can return the non-mangled name of declared FMV functions
DeltaFile
+1-3clang/lib/CodeGen/CodeGenModule.cpp
+1-31 files

LLVM/project caf6c94clang/lib/CodeGen CodeGenFunction.cpp, clang/test/CodeGen attr-target-clones-ppc.c

test

test

test
DeltaFile
+116-0clang/test/CodeGen/attr-target-clones-ppc.c
+17-6clang/lib/CodeGen/CodeGenFunction.cpp
+133-62 files

LLVM/project 02257f6clang/test/CodeGen attr-target-clones-ppc.c

add IR codegen test
DeltaFile
+18-3clang/test/CodeGen/attr-target-clones-ppc.c
+18-31 files

LLVM/project 1322dd9clang/lib/AST ASTContext.cpp, clang/lib/Basic/Targets PPC.cpp

limit support to cpu-only versions, and implement getFMVPriority
DeltaFile
+16-16clang/lib/CodeGen/CodeGenFunction.cpp
+4-20clang/lib/CodeGen/Targets/PPC.cpp
+17-1clang/lib/Basic/Targets/PPC.cpp
+8-5clang/lib/AST/ASTContext.cpp
+7-6clang/lib/Sema/SemaPPC.cpp
+52-485 files

LLVM/project b3be124clang/lib/Basic/Targets PPC.cpp

normalize the CPU name on the target* attribute
DeltaFile
+2-0clang/lib/Basic/Targets/PPC.cpp
+2-01 files

LLVM/project dcb0c92clang/lib/AST ASTContext.cpp, clang/lib/CodeGen CodeGenFunction.cpp CodeGenModule.cpp

clang-format
DeltaFile
+18-13clang/lib/CodeGen/CodeGenFunction.cpp
+16-13clang/lib/CodeGen/CodeGenModule.cpp
+7-7clang/lib/CodeGen/TargetBuiltins/PPC.cpp
+3-2clang/lib/CodeGen/CodeGenFunction.h
+2-3clang/lib/CodeGen/Targets/PPC.cpp
+4-1clang/lib/AST/ASTContext.cpp
+50-391 files not shown
+51-417 files

LLVM/project c46dc5cclang/test/Sema attr-target.c

fix Sema/attr-target.c
DeltaFile
+5-7clang/test/Sema/attr-target.c
+5-71 files

LLVM/project 4e62d88clang/lib/CodeGen CodeGenModule.cpp

ignore target_clones on a declaration and internalize the resolver and the clones
DeltaFile
+34-6clang/lib/CodeGen/CodeGenModule.cpp
+34-61 files

LLVM/project 0813d65clang/lib/Basic/Targets PPC.cpp

fix PPCTargetInfo::parseTargetAttr
DeltaFile
+14-12clang/lib/Basic/Targets/PPC.cpp
+14-121 files

LLVM/project aef34e4clang/include/clang/Sema SemaPPC.h, clang/lib/Basic/Targets PPC.cpp

clang codegen for target_clones
DeltaFile
+68-2clang/lib/CodeGen/CodeGenFunction.cpp
+56-0clang/lib/Sema/SemaPPC.cpp
+47-0clang/lib/CodeGen/Targets/PPC.cpp
+36-0clang/lib/Basic/Targets/PPC.cpp
+6-4clang/lib/CodeGen/CodeGenModule.cpp
+4-0clang/include/clang/Sema/SemaPPC.h
+217-65 files not shown
+230-711 files

LLVM/project 4ff6a9bclang/lib/CodeGen CodeGenFunction.h, clang/lib/CodeGen/TargetBuiltins PPC.cpp

refactor EmitPPCBuiltinCpu
DeltaFile
+35-27clang/lib/CodeGen/TargetBuiltins/PPC.cpp
+1-0clang/lib/CodeGen/CodeGenFunction.h
+36-272 files

LLVM/project 0ca8324clang/include/clang/Serialization ASTWriter.h, clang/lib/Serialization ASTWriter.cpp ASTWriterDecl.cpp

Revert "[Serialization] [ASTWriter] Try to not record namespace as much as possible (#179178)"

This reverts commit 8eb0dfe5b6d658fa9991612060a1840927fd2eea.

Breaks some clang header module targets. See the original PR for
discussion/reproducers.
DeltaFile
+0-216clang/test/Modules/pr184957.cppm
+15-50clang/lib/Serialization/ASTWriter.cpp
+0-44clang/test/Modules/no-transitive-change-namespace.cppm
+4-13clang/lib/Serialization/ASTWriterDecl.cpp
+1-1clang/test/Modules/no-transitive-decl-change-4.cppm
+2-0clang/include/clang/Serialization/ASTWriter.h
+22-3246 files

LLVM/project 2a40acdllvm/lib/Target/LoongArch/MCTargetDesc LoongArchAsmBackend.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+0-2llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
+0-21 files

LLVM/project eb687fbmlir/python/mlir/dialects ext.py, mlir/test/python/dialects ext.py

[MLIR][Python] Make location optional in Python-defined dialect loading (#186172)

Now we need to provide a location when call `load()`, e.g.
```python
with Context(), Location.unknown():
  MyDialect.load()
```

But it's actually weird: IRDL is just an implementation details, so for
users they don't know why they need to provide a location for loading a
dialect, which is unrelated to constructing an IR module.

This PR made location optional for dialect loading.
DeltaFile
+9-8mlir/test/python/dialects/ext.py
+5-3mlir/python/mlir/dialects/ext.py
+14-112 files

LLVM/project 48f4d31clang/lib/CIR/CodeGen CIRGenBuiltin.cpp, clang/test/CIR/CodeGen atomic.c

[CIR][CIRGen] Add support for __sync_* binary atomic builtins (#186026)

Adds CIRGen support for a subset of the __sync_fetch_and_* builtins,
including arithmetic (add, sub) and bitwise (and, or, xor, nand)
variants.
DeltaFile
+523-1clang/test/CIR/CodeGen/atomic.c
+17-1clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+540-22 files

LLVM/project 14e04edclang/lib/Driver ToolChain.cpp

Fix TranslateOpenMPTargetArgs dropping -mlinker-version (#186208)

TranslateOpenMPTargetArgs drops OPT_m_Group options, including
`-mlinker-version`, when the device triple differs from the host triple.
This can cause an assertion failure in MachO::getLinkerVersion when
running `offload-Xarch.c` and `openmp-offload-gpu.c` on Darwin as it
expects the linker version obtained via `-mlinker-version` and the
version cached during a previous invocation to match.

Fix this by preserving `-mlinker-version` when filtering OPT_m_Group
options.

The tests currently pass because 6758becb8f19 ("[ObjC] Support emission
of selector stubs calls instead of objc_msgSend."), which triggered the
assertion, was reverted. This fix is a prerequisite for reapplying that
commit.
DeltaFile
+8-3clang/lib/Driver/ToolChain.cpp
+8-31 files

LLVM/project cef418ecompiler-rt CMakeLists.txt, compiler-rt/lib/asan asan_mapping.h

[compiler-rt] Add ASan/UBSan runtime support for Hexagon Linux (#183982)

Add the architecture-specific pieces needed for the ASan and UBSan
sanitizer runtimes to build and run on hexagon-unknown-linux-musl.

Without this patch, building sanitizer runtimes for Hexagon Linux fails
with:

  sanitizer_linux.cpp: error: member access into incomplete type
      'struct stat64'

because musl libc does not provide struct stat64. This patch routes
Hexagon through the statx() syscall path (like LoongArch) to avoid the
stat64 dependency entirely.

Changes:

* asan_mapping.h: Add ASAN_SHADOW_OFFSET_CONST (0x20000000) for Hexagon
with shadow layout documentation.

    [11 lines not shown]
DeltaFile
+53-5compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+11-3compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
+9-0compiler-rt/lib/asan/asan_mapping.h
+7-0compiler-rt/CMakeLists.txt
+2-1compiler-rt/lib/sanitizer_common/sanitizer_linux.h
+1-1compiler-rt/test/asan/CMakeLists.txt
+83-102 files not shown
+87-108 files