LLVM/project 5669dfcclang/include/clang/Analysis/Analyses/LifetimeSafety FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp

[LifetimeSafety] Propagate loans through pointer arithmetic (#189546)

This PR adds loan propagation for pointer arithmetic.

It also updates the tests to match the new behavior.

Fixes #180933
DeltaFile
+13-2clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+9-4clang/test/Sema/warn-lifetime-safety.cpp
+3-0clang/test/Sema/warn-lifetime-safety-suggestions.cpp
+2-0clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+27-64 files

LLVM/project d34e847clang/lib/Driver/ToolChains Clang.cpp

clang: Use MakeArgStringRef more often (#189463)

Avoid an intermediate copy by using MakeArgStringRef. Also
use better use of Twine with MakeArgString.
DeltaFile
+10-12clang/lib/Driver/ToolChains/Clang.cpp
+10-121 files

LLVM/project f2dff15clang/docs ReleaseNotes.rst, clang/lib/CodeGen CGExprComplex.cpp

[clang] Fixed a crash when explicitly casting between atomic complex types (#172210)

Fixed a crash when explicitly casting between atomic complex types

resolve: #172208
DeltaFile
+85-0clang/test/CodeGen/complex.c
+6-2clang/lib/CodeGen/CGExprComplex.cpp
+1-0clang/docs/ReleaseNotes.rst
+92-23 files

LLVM/project a413a40clang-tools-extra/clang-tidy/portability StdAllocatorConstCheck.cpp

[clang-tidy][NFC] Remove another ad-hoc exclusion for system headers (#190094)

This is another ad-hoc approach made obsolete by #151035.
DeltaFile
+1-7clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
+1-71 files

LLVM/project 16b9fe4clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.cpp

fix build error
DeltaFile
+2-0clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+2-01 files

LLVM/project 7d2f2a3clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGenOpenACC compute-reduction-clause-inline-ops.cpp combined-reduction-clause-outline-ops.cpp

[CIR] Fix off-by-one dtor loop bug (#190242)

We had an off-by-one error in the CIR generation for array destructor
loops, causing us to miss destructing one element of the array. This
change fixes the problem.
DeltaFile
+32-30clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+18-18clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
+18-18clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
+18-18clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
+18-18clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
+18-18clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
+122-1208 files not shown
+195-19614 files

LLVM/project 7379f1cclang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.cpp, clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.cpp

fix clang-format
DeltaFile
+5-5clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+1-2clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
+6-72 files

LLVM/project 2d1a8b1clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.cpp

clean up
DeltaFile
+10-22clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+10-221 files

LLVM/project f3c29eeclang/include/clang/ScalableStaticAnalysisFramework/Analyses EntityPointerLevel.h, clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.h EntityPointerLevelFormat.h

rebase
DeltaFile
+0-332clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel.cpp
+292-0clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+0-134clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel.h
+124-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
+67-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
+10-23clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
+493-4895 files not shown
+509-49711 files

LLVM/project dbde0ballvm/lib/Target/AMDGPU AMDGPU.td, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

[AMDGPU] Rename 1_5xVGPRs to 1536VGPRs to be more contextual. NFC (#190245)

Renaming feature from 1_5xVGPRs to 1536VGPRs to to be more contextual.
DeltaFile
+8-8llvm/lib/Target/AMDGPU/AMDGPU.td
+2-2llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+10-102 files

LLVM/project 2105f9fclang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGenCUDA device-stub.cu

[CIR][CUDA] Do Runtime Kernel Registration
DeltaFile
+119-2clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+28-2clang/test/CIR/CodeGenCUDA/device-stub.cu
+147-42 files

LLVM/project 6095417clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

unreachable on RDC compilation
DeltaFile
+2-1clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+2-11 files

LLVM/project 82086d6clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGenCUDA device-stub.cu

[CIR][CUDA] Handle CUDA module constructor and destructor emission.
DeltaFile
+121-2clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+41-0clang/test/CIR/CodeGenCUDA/device-stub.cu
+162-22 files

LLVM/project 67c0715clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

fix twine crashes
DeltaFile
+5-6clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+5-61 files

LLVM/project 0fff8dbclang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td, clang/lib/CIR/CodeGen CIRGenModule.cpp

Avoid copies from `std::string`
DeltaFile
+23-17clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+7-4clang/lib/CIR/CodeGen/CIRGenModule.cpp
+1-1clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+31-223 files

LLVM/project beb2302clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGenCUDA device-stub.cu kernel-stub-name.cu

Fix conflicts and add section to fatbin globals
DeltaFile
+9-1clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+3-4clang/test/CIR/CodeGenCUDA/device-stub.cu
+3-3clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
+2-2clang/test/CIR/CodeGenCUDA/kernel-call.cu
+1-1clang/test/CIR/CodeGenHIP/simple.cpp
+18-115 files

LLVM/project 74ff77fclang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGenCUDA device-stub.cu

fix tests and remove unnecessary comments.
DeltaFile
+0-3clang/test/CIR/CodeGenCUDA/device-stub.cu
+0-1clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+0-42 files

LLVM/project 3b1cadfclang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

fix fmt
DeltaFile
+1-1clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+1-11 files

LLVM/project 9930dd3clang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td, clang/lib/CIR/CodeGen CIRGenCall.cpp

address more string copies stuff yo
DeltaFile
+4-3clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+4-2clang/lib/CIR/CodeGen/CIRGenCall.cpp
+1-1clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+9-63 files

LLVM/project 0c6b853clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

fix global builder ordering
DeltaFile
+8-7clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+8-71 files

LLVM/project 2e61735clang/include/clang/CIR MissingFeatures.h, clang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td CIRDialect.td

[CIR][CUDA] Global emission for fatbin symbols
DeltaFile
+154-0clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+50-0clang/test/CIR/CodeGenCUDA/device-stub.cu
+17-0clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+10-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+2-0clang/include/clang/CIR/MissingFeatures.h
+1-0clang/include/clang/CIR/Dialect/IR/CIRDialect.td
+234-06 files

LLVM/project 3fc4d44llvm/test/MC/Disassembler/AMDGPU gfx1250_dasm_vop3cx.txt

[AMDGPU] Update gfx1250_dasm_vop3cx.txt test for true16. NFC (#190240)
DeltaFile
+114-57llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
+114-571 files

LLVM/project c30fa21clang/lib/Driver/ToolChains Clang.cpp

clang: Use MakeArgStringRef more often

Avoid an intermediate copy by using MakeArgStringRef. Also
use better use of Twine with MakeArgString.
DeltaFile
+10-12clang/lib/Driver/ToolChains/Clang.cpp
+10-121 files

LLVM/project 2f9ac44clang/lib/Driver/ToolChains Clang.cpp

clang: Reorder linker aux-triple handling (#189462)

Move the IsCuda check out from the IsCuda || isHIP block. Keep
this from splitting the aux-triple handling for future convenience.
DeltaFile
+20-19clang/lib/Driver/ToolChains/Clang.cpp
+20-191 files

LLVM/project eed1f27libclc/clc/lib/generic/math clc_atan2.inc clc_atan2.cl

libclc: Use special division for atan2 for DAZ (#190248)

The AMDGPU DAZ fdiv works fine in this case, so there's
maybe something better we could do here.
DeltaFile
+7-1libclc/clc/lib/generic/math/clc_atan2.inc
+2-0libclc/clc/lib/generic/math/clc_atan2.cl
+9-12 files

LLVM/project 45ac2dbclang/include/clang/Sema Initialization.h, clang/lib/Sema SemaDeclCXX.cpp SemaExprCXX.cpp

[clang][NFC] Clean up InitializedEntity booleans. (#185335)

As discussed in #182203, use enums instead.

I tried to name/use them appropriately, but I'm not sure sure I'm really
happy with the results; suggestions welcome.
DeltaFile
+69-43clang/include/clang/Sema/Initialization.h
+5-9clang/lib/Sema/SemaDeclCXX.cpp
+5-4clang/lib/Sema/SemaExprCXX.cpp
+1-1clang/lib/Sema/SemaInit.cpp
+80-574 files

LLVM/project 75a354bllvm/lib/Transforms/InstCombine InstCombineCasts.cpp, llvm/test/Transforms/InstCombine fpcast.ll

[InstCombine] Use ComputeNumSignBits in isKnownExactCastIntToFP (#190235)

For signed int-to-FP casts, ComputeNumSignBits can prove exactness where
computeKnownBits cannot -- e.g. through ashr(shl x, a), b where sign propagation is
tracked precisely but individual known bits are all unknown.
DeltaFile
+36-0llvm/test/Transforms/InstCombine/fpcast.ll
+10-2llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+46-22 files

LLVM/project 148cb22llvm/test/CodeGen/NVPTX asm-printer-ptx-module-directives.ll

[NVPTX] Fix missing arch version for ptxas in LIT test. (#190231)

Recently added LIT test in #188539 missed -arch option for ptxas causing
post commit build failure. This PR addresses that failure.
DeltaFile
+1-1llvm/test/CodeGen/NVPTX/asm-printer-ptx-module-directives.ll
+1-11 files

LLVM/project eee70fdlibclc/clc/lib/generic/math clc_atan2.inc clc_atan2.cl

libclc: Use special division for atan2 for DAZ

The AMDGPU DAZ fdiv works fine in this case, so there's
maybe something better we could do here.
DeltaFile
+7-1libclc/clc/lib/generic/math/clc_atan2.inc
+2-0libclc/clc/lib/generic/math/clc_atan2.cl
+9-12 files

LLVM/project 86bf4d1clang/lib/CIR/CodeGen CIRGenExpr.cpp CIRGenRecordLayoutBuilder.cpp, clang/test/CIR/CodeGen no-unique-address.cpp assign-operator.cpp

[CIR] Fix record layout for [[no_unique_address]] fields
DeltaFile
+81-24clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+53-0clang/test/CIR/CodeGen/no-unique-address.cpp
+28-2clang/test/CIR/CodeGen/assign-operator.cpp
+12-6clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
+5-2clang/test/CIR/CodeGen/dtors.cpp
+179-345 files