[all-commits] [llvm/llvm-project] 1e6672: [Flang][Runtime] Simplify StringLength implementation
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu Jul 25 09:44:44 PDT 2024
Branch: refs/heads/users/MaskRay/spr/elf-support-relocatable-files-using-crel
Home: https://github.com/llvm/llvm-project
Commit: 1e6672af2497042d5dad0236c2ad9e61f879ac07
https://github.com/llvm/llvm-project/commit/1e6672af2497042d5dad0236c2ad9e61f879ac07
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/runtime/command.cpp
Log Message:
-----------
[Flang][Runtime] Simplify StringLength implementation
This implementation relies on arithmetic conversion, let's see what
happens when we do
std::size_t length{std::strlen(string)};
if (length <= std::numeric_limits<std::int64_t>::max())
return static_cast<std::int64_t>(length);
1) if size_t == uint32_t (or lower), then the comparison operator
invokes integral promotion to uint64_t, the comparison happens, it's
fine.
2) if size_t == uint64_t, then the comparison is done between unsigned
types, which implies a conversion of
std::numeric_limits<std::int64_t>::max() to uint64_t, which happens
without accuracy loss, fine
3) if size_t == uint128_t (or higher), then we invoke integral promotion
of std::int64_t, it's also fine.
So this snippet has the same behavior as the existing one, while being
easier to read.
Commit: f36331770267501e157ac34afc3ca7d7a0bfb52c
https://github.com/llvm/llvm-project/commit/f36331770267501e157ac34afc3ca7d7a0bfb52c
Author: Alexander Pivovarov <pivovaa at amazon.com>
Date: 2024-07-17 (Wed, 17 Jul 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/MicrosoftMangle.cpp
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Add support for f8E4M3 IEEE 754 type (#97179)
This PR adds `f8E4M3` type to APFloat.
`f8E4M3` type follows IEEE 754 convention
```c
f8E4M3 (IEEE 754)
- Exponent bias: 7
- Maximum stored exponent value: 14 (binary 1110)
- Maximum unbiased exponent value: 14 - 7 = 7
- Minimum stored exponent value: 1 (binary 0001)
- Minimum unbiased exponent value: 1 − 7 = −6
- Precision specifies the total number of bits used for the significand (mantisa),
including implicit leading integer bit = 3 + 1 = 4
- Follows IEEE 754 conventions for representation of special values
- Has Positive and Negative zero
- Has Positive and Negative infinity
- Has NaNs
Additional details:
- Max exp (unbiased): 7
- Min exp (unbiased): -6
- Infinities (+/-): S.1111.000
- Zeros (+/-): S.0000.000
- NaNs: S.1111.{001, 010, 011, 100, 101, 110, 111}
- Max normal number: S.1110.111 = +/-2^(7) x (1 + 0.875) = +/-240
- Min normal number: S.0001.000 = +/-2^(-6)
- Max subnormal number: S.0000.111 = +/-2^(-6) x 0.875 = +/-2^(-9) x 7
- Min subnormal number: S.0000.001 = +/-2^(-6) x 0.125 = +/-2^(-9)
```
Related PRs:
- [PR-97118](https://github.com/llvm/llvm-project/pull/97118) Add f8E4M3
IEEE 754 type to mlir
Commit: 7b08c2774ca7350b372f70f63135eacc04d739c5
https://github.com/llvm/llvm-project/commit/7b08c2774ca7350b372f70f63135eacc04d739c5
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
Log Message:
-----------
[mlir][Linalg] Remove unused header include.
There seems to be no direct usage of any tosa utils.
Commit: 0ce3ea1bfffcbd62195cf07e34477cc7cc5c5009
https://github.com/llvm/llvm-project/commit/0ce3ea1bfffcbd62195cf07e34477cc7cc5c5009
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Simplify selection of llvm.amdgcn.inverse.ballot. NFCI. (#99345)
Commit: 14c323cfd66454c65324c4d5b9d9b6a9c5651eca
https://github.com/llvm/llvm-project/commit/14c323cfd66454c65324c4d5b9d9b6a9c5651eca
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/test/Driver/amdgpu-openmp-toolchain.c
Log Message:
-----------
[OpenMP][AMDGPU] Do not attach -fcuda-is-device (#99002)
-fcuda-is-device flag is not used for OpenMP offloading for AMD GPUs and
it does not need to be added as clang cc1 option for OpenMP code.
This PR has the same functionality as
https://github.com/llvm/llvm-project/pull/96909 but it doesn't introduce
regression for virtual function support.
Commit: 7aabdb8776eb11b90d43162254db47df46806ec9
https://github.com/llvm/llvm-project/commit/7aabdb8776eb11b90d43162254db47df46806ec9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
Log Message:
-----------
[clang][Interp][NFC] Protect ByteCodeEmitter against unfinished fns
This is similar to a check in TextNodeDumper.cpp. Without this, we will
crash later when trying to iterate over FuncDecl->params().
Commit: 4b9bcabdf05346fd72db0d1ad88faa9b969a8f13
https://github.com/llvm/llvm-project/commit/4b9bcabdf05346fd72db0d1ad88faa9b969a8f13
Author: David Green <david.green at arm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
A llvm/test/CodeGen/AArch64/stack-hazard.ll
Log Message:
-----------
[AArch64] Add streaming-mode stack hazards. (#98956)
Under some SME contexts, a coprocessor with its own separate cache will
be used for FPR operations. This can create hazards if the CPU and the
SME unit try to access the same area of memory, including if the access
is to an area of the stack.
To try to alleviate that, this patch attempts to introduce extra padding
into the stack frame between FP and GPR accesses, controlled by the
StackHazardSize option. Without changing the layout of the stack frame,
a stack object of the right size is added between GPR and FPR CSRs.
Another is added to the stack objects section, and stack objects are
sorted so that FPR > Hazard padding slot > GPRs (where possible).
Unfortunately some things are not handled well (VLA area, FPR arguments
on the stack, object with both GPR and FPR accesses), but if those are
controlled by the user then the entire stack frame becomes GPR at the
start/end with FPR in the middle, surrounded by Hazard padding. This can
greatly help reduce something that can be difficult for the user to
control themselves.
The current implementation is opt-in through an
-aarch64-stack-hazard-size flag, and should have no effect if the option
is unset. In the long run the implementation might change (for example
using more base pointers to separate in more cases, re-enabling ldp/stp
using an extra register, etc), but this gets at least something for
people to use in llvm-19 if they need it. The only change whilst the
option is unset will be a fix for making sure the stack increment is
added at the right place when it cannot be converted to postinc
(++MBBI). I believe without extra padding that can not normally be
reached.
Commit: 8afb395aeef5335554c623f92f48cbdc9ffe927d
https://github.com/llvm/llvm-project/commit/8afb395aeef5335554c623f92f48cbdc9ffe927d
Author: Ilya Leoshkevich <iii at linux.ibm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
R compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_bad_report_path_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Log Message:
-----------
[sanitizer] Fix running sanitizer_bad_report_path_test on Linux as root (#97732)
Running tests as root is not the greatest idea, however, there is one
valid use case - running them in a container in order to verify LLVM on
different distros. There is no reason to configure unprivileged users
in a container, so one works as root.
sanitizer_bad_report_path_test assumes that creating a file in a
non-writable directory would fail, which is not the always case. For
example, when we are on Linux and CAP_DAC_OVERRIDE, which root has, is
in effect. Therefore, one solution is to drop it. However, that would
be Linux-specific.
Instead, use argv[0] as if it were a directory. mkdir() on top of a
file should be prohibited by all supported Posix operating systems.
Combine this with a partial revert of commit f4214e1469ad ("[sanitizer]
Skip test on Android where chmod is not working"), since we shouldn't
need to exclude Android anymore.
Commit: a19e5aedd9b15ecf0b05bafb7d20e13c952b4531
https://github.com/llvm/llvm-project/commit/a19e5aedd9b15ecf0b05bafb7d20e13c952b4531
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/second.f90
Log Message:
-----------
[flang] load SECOND result in genSecond (#99342)
Until genSecond, all intrinsic `genXXX` returning scalar intrinsic
(except NULL) were returning them as value.
The code calling genIntrinsicCall is using that assumption when
generation the asExprOp because hflir.expr<> of scalar are badly
supported in tools (I should likely just forbid them all together), the
type is meant for "non trivial" values: arrays, character, and derived
type. For instance, the added tests crashed with error: `'arith.subf' op
operand #0 must be floating-point-like, but got '!hlfir.expr<f32>'`
Load the result in genSecond and add an assert after genIntrinsicCall to
better enforce this.
Commit: e93df78bd46b585c0bdabdbdc95410e4c08b9d38
https://github.com/llvm/llvm-project/commit/e93df78bd46b585c0bdabdbdc95410e4c08b9d38
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s
Log Message:
-----------
[llvm/DWARF] Recursively resolve DW_AT_signature references (#97423)
findRecursively follows DW_AT_specification and DW_AT_abstract_origin
references, but not DW_AT_signature. As far as I can tell, there is no
fundamental difference between these attributes that would make this
behavior desirable, and this just seems like a consequence of the fact
that this attribute is newer. This patch aims to change that.
The motivation is some code in lldb, which assumes that it can construct
a qualified name of a type by just walking the parent chain and looking
at the name attribute. This works for "regular" debug info, even when
some of the DIEs are just forward declarations, but it breaks in the
presence of type units, because of the need to explicitly resolve the
signature reference.
While LLDB does not use the llvm's DWARFDie class (yet?), this seems
like a very important change in the overall API, and any divergence here
would complicate eventual reunification, which is why I am making the
change in the llvm API first. However, putting lldb aside, I think this
change is beneficial in llvm on its own, as it allows us to remove the
explicit DW_AT_signature resolution in the DWARFTypePrinter.
Commit: 09cbb45edd149d30766c87be4628e4df13f3496d
https://github.com/llvm/llvm-project/commit/09cbb45edd149d30766c87be4628e4df13f3496d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] A better DIEBuilder for the llvm API change in #98905 (#99324)
The caller (cloneAttribute) already switches on the reference type. By
aligning the cases with the retrieval functions, we can avoid branching
twice.
Commit: 2ef7cbf71c98246d6f3a9c63dea75b76c7b5e928
https://github.com/llvm/llvm-project/commit/2ef7cbf71c98246d6f3a9c63dea75b76c7b5e928
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/Ofast.c
Log Message:
-----------
[clang] Add deprecation warning for `-Ofast` driver option (#98736)
This patch implements consensus on the corresponding RFC documented
here: https://discourse.llvm.org/t/rfc-deprecate-ofast/78687/72
Specifically, I added a deprecation warning for `-Ofast`, that suggests
to use `-O3` or `-O3` with `-ffast-math`, and a new diagnostic group for
aforementioned warning.
Deprecation period is going to be lengthy, so I hope this PR can be
merged in time for Clang 19.
Commit: cf66cec7c4481ff39525232d64a4d5215cca3ac5
https://github.com/llvm/llvm-project/commit/cf66cec7c4481ff39525232d64a4d5215cca3ac5
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
Recommit "[PatternMatch] Fix issue of stale reference in new `m_{I,F,}Cmp` matchers" (3rd Try) (#99292)
The first fix forgot to fixup the commutative matchers...
Commit: 94cd18b7fcf239b85698ad70f145ca5fa5edd516
https://github.com/llvm/llvm-project/commit/94cd18b7fcf239b85698ad70f145ca5fa5edd516
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[CVP] Add test for phi merging of vectors (NFC)
Commit: 3eba28d1fd3347a1658f68b63285148b0bb25fab
https://github.com/llvm/llvm-project/commit/3eba28d1fd3347a1658f68b63285148b0bb25fab
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg-disabled.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
Log Message:
-----------
[clang] Extend lifetime analysis to support assignments for pointer-like objects. (#99032)
This is a follow-up patch to #96475 to detect dangling assignments for
C++ pointer-like objects (classes annotated with the
`[[gsl::Pointer]]`). Fixes #63310.
Similar to the behavior for built-in pointer types, if a temporary owner
(`[[gsl::Owner]]`) object is assigned to a pointer-like class object,
and this temporary object is destroyed at the end of the full assignment
expression, the assignee pointer is considered dangling. In such cases,
clang will emit a warning:
```
/tmp/t.cpp:7:20: warning: object backing the pointer my_string_view will be destroyed at the end of the full-expression [-Wdangling-assignment-gsl]
7 | my_string_view = CreateString();
| ^~~~~~~~~~~~~~
1 warning generated.
```
This new warning is `-Wdangling-assignment-gsl`. It is initially
disabled, but I intend to enable it by default in clang 20.
I have initially tested this patch on our internal codebase, and it has
identified many use-after-free bugs, primarily related to `string_view`.
Commit: 26af44b3985c762b2cbaf348f8012a30af09151f
https://github.com/llvm/llvm-project/commit/26af44b3985c762b2cbaf348f8012a30af09151f
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/preserving-debugloc-signedinst-branch-feasible-succ.ll
Log Message:
-----------
[DebugInfo][SCCPSolver] Fix missing debug locations (#98876)
Fixes #98875
Commit: 57539418bae45e3c972e8f4f0a88577f807e8697
https://github.com/llvm/llvm-project/commit/57539418bae45e3c972e8f4f0a88577f807e8697
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/var-sized-fragment.ll
A llvm/test/DebugInfo/Generic/sroa-alloca-offset.ll
Log Message:
-----------
[SROA] Fix debug locations for variables with non-zero offsets (#97750)
Fixes issue #61981 by adjusting variable location offsets (in the DIExpression)
when splitting allocas.
Patch [4/4] to fix structured bindings in SROA.
NOTE: There's still a bug in mem2reg which generates incorrect locations in some
situations: if the variable fragment has an offset into the new (split) alloca,
mem2reg will fail to convert that into a bit shift (the location contains a
garbage offset). That's not addressed here.
insertNewDbgInst - Now takes the address-expression and FragmentInfo as
separate parameters because unlike dbg_declares dbg_assigns want those to go
to different places. dbg_assign records put the variable fragment info in the
value expression only (whereas dbg_declare has only one expression so puts it
there - ideally this information wouldn't live in DIExpression, but that's
another issue).
MigrateOne - Modified to correctly compute the necessary offsets and fragment
adjustments. The previous implementation produced bogus locations for variables
with non-zero offsets. The changes replace most of the body of this lambda, so
it might be easier to review in a split-diff view and focus on the change as a
whole than to compare it to the old implementation.
This uses calculateFragmentIntersect and extractLeadingOffset added in previous
patches in this series, and createOrReplaceFragment described below.
createOrReplaceFragment - Similar to DIExpression::createFragmentExpression
except for 3 important distinctions:
1. The new fragment isn't relative to an existing fragment.
2. There are no checks on the the operation types because it is assumed
the location this expression is computing is not implicit (i.e., it's
always safe to create a fragment because arithmetic operations apply
to the address computation, not to an implicit value computation).
3. Existing extract_bits are modified independetly of fragment changes
using \p BitExtractOffset. A change to the fragment offset or size
may affect a bit extract. But a bit extract offset can change
independently of the fragment dimensions.
Returns the new expression, or nullptr if one couldn't be created. Ideally
this is only used to signal that a bit-extract has become zero-sized (and thus
the new debug record has no size and can be dropped), however, it fails for
other reasons too - see the FIXME below.
FIXME: To keep the scope of this change focused on non-bitfield structured
bindings the function bails in situations that
DIExpression::createFragmentExpression fails. E.g. when fragment and bit
extract sizes differ. These limitations can be removed in the future.
Commit: cbd255942b52c3576aa0dca444811512fff43714
https://github.com/llvm/llvm-project/commit/cbd255942b52c3576aa0dca444811512fff43714
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
Log Message:
-----------
[lldb] add RISCV target specific info in API tests (#99039)
Add information about RISCV first register in python API testsuite, that
is used to check register readability in tests.
Fixed tests on RISCV target:
TestBreakpointByFileColonLine.BreakpointByLineAndColumnTestCase
TestAddressBreakpoints.AddressBreakpointTestCase
TestBreakpointAutoContinue.BreakpointAutoContinue
TestInterruptBacktrace.TestInterruptingBacktrace
TestBadAddressBreakpoints.BadAddressBreakpointTestCase
TestScriptedResolver.TestScriptedResolver
TestStopHookScripted.TestStopHooks
TestBreakpointConditions.BreakpointConditionsTestCase
TestLocalVariables.LocalVariablesTestCase
TestFindLineEntry.FindLineEntry
TestScriptedResolver.TestScriptedResolver
TestInlineSourceFiles.InlineSourceFilesTestCase
TestModuleAndSection.ModuleAndSectionAPIsTestCase
TestFrameVar.TestFrameVar
TestInferiorAssert.AssertingInferiorTestCase
TestInferiorCrashing.CrashingInferiorTestCase
TestInferiorCrashingStep.CrashingInferiorStepTestCase
TestRegistersIterator.RegistersIteratorTestCase
TestCoroutineHandle.TestCoroutineHandle
TestWithLimitDebugInfo.TestWithLimitDebugInfo
TestLLDBIterator.LLDBIteratorTestCase
TestMemoryWrite.MemoryWriteTestCase
TestNestedTemplate.NestedTemplateTestCase
TestParrayVrsCharArrayChild.TestParrayVrsCharArrayChild
TestRecursiveInferior.CrashingRecursiveInferiorTestCase
TestRecursiveInferiorStep.CrashingRecursiveInferiorStepTestCase
TestRunLocker.TestRunLocker
TestSampleTest.RenameThisSampleTestTestCase
TestUniqueTypes3.UniqueTypesTestCase3
TestPrintStackTraces.ThreadsStackTracesTestCase
TestUnicodeSymbols.TestUnicodeSymbols
TestUnusedInlinedParameters.TestUnusedInlinedParameters
TestValueVarUpdate.ValueVarUpdateTestCase
TestPtrRef2Typedef.PtrRef2TypedefTestCase
TestDataFormatterStdIterator.StdIteratorDataFormatterTestCase
TestDataFormatterStdString.StdStringDataFormatterTestCase
TestDataFormatterStdVBool.StdVBoolDataFormatterTestCase
Commit: 26cb88e3210af24942310a192431c8d7c3544e21
https://github.com/llvm/llvm-project/commit/26cb88e3210af24942310a192431c8d7c3544e21
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/DebugInfo/DWARF/DWARFTypePrinter.cpp
M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units.s
Log Message:
-----------
Revert "[llvm/DWARF] Recursively resolve DW_AT_signature references" (#99444)
Reverts llvm/llvm-project#97423 due to a failure in the
cross-project-tests.
Commit: 80865c01e1b8d3a6bea308fda7bbc53047dcc2e7
https://github.com/llvm/llvm-project/commit/80865c01e1b8d3a6bea308fda7bbc53047dcc2e7
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
A clang/test/OpenMP/reverse_ast_print.cpp
A clang/test/OpenMP/reverse_codegen.cpp
A clang/test/OpenMP/reverse_messages.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
A openmp/runtime/test/transform/reverse/foreach.cpp
A openmp/runtime/test/transform/reverse/intfor.c
A openmp/runtime/test/transform/reverse/iterfor.cpp
A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-foreach.cpp
A openmp/runtime/test/transform/reverse/parallel-wsloop-collapse-intfor.cpp
Log Message:
-----------
[Clang][OpenMP] Add reverse directive (#92916)
Add the reverse directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).
---------
Co-authored-by: Alexey Bataev <a.bataev at outlook.com>
Commit: 1dfbd07255f50ab3920d397dda5f8f9c05020f76
https://github.com/llvm/llvm-project/commit/1dfbd07255f50ab3920d397dda5f8f9c05020f76
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Analysis/ValueTracking/known-bits.ll
M llvm/test/Analysis/ValueTracking/known-fpclass.ll
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `llvm.vector.reverse` with `DemandedElts`; NFC
Commit: 6ef970b65f93b0f7fbcd8ffc44fb9b9af58cc097
https://github.com/llvm/llvm-project/commit/6ef970b65f93b0f7fbcd8ffc44fb9b9af58cc097
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-bits.ll
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `computeKnownBits`
Commit: 72ff0499bba72eecc1b3d19833027b6c04337041
https://github.com/llvm/llvm-project/commit/72ff0499bba72eecc1b3d19833027b6c04337041
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `isKnownNonZero`
Commit: e8eeda8e4dc581ae744bc64a2683b5533fec8922
https://github.com/llvm/llvm-project/commit/e8eeda8e4dc581ae744bc64a2683b5533fec8922
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `ComputeNumSignBits`
Commit: 0589762e4e42a21796ca74eeb356cdfc50eaa232
https://github.com/llvm/llvm-project/commit/0589762e4e42a21796ca74eeb356cdfc50eaa232
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-fpclass.ll
Log Message:
-----------
[ValueTracking] Consistently propagate `DemandedElts` is `computeKnownFPClass`
Closes #99080
Commit: c1263b326439dd623264d35ac5d006800092bac6
https://github.com/llvm/llvm-project/commit/c1263b326439dd623264d35ac5d006800092bac6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Transforms/SCCP/phis.ll
Log Message:
-----------
[SCCP] Add tests for vectors ins phis (NFC)
Commit: 474d35f238d46010d12485734e62de91cb469404
https://github.com/llvm/llvm-project/commit/474d35f238d46010d12485734e62de91cb469404
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
[safestack] Various Solaris fixes (#99290)
Even with the `-u __safestack_init` link order fixed on Solaris, there
are still several safestack test issues left:
- While 540fd42c755f20f7b79c6c79493ec36d8cb9b3d3 enabled safestack on
Solaris in the driver unconditionally, it ignored that Solaris also
exists on SPARC and forgot to enable SPARC support for the runtime lib.
This patch fixes that.
- The tests fail to link with undefined references to
`__sanitizer_internal_memset` etc in `safestack.cpp.o` and
`interception_linux.cpp.o`. These are from indirectly including
`sanitizer_redefine_builtins.h`. Instead of using the implementations
from `sanitizer_common` as was done in [[safestack] Various Solaris
fixes](https://github.com/llvm/llvm-project/pull/98469), this patch
disables the interception as discussed in [Revert "[safestack] Various
Solaris fixes"](https://github.com/llvm/llvm-project/pull/98541). A
similar issue affects 32-bit Linux/sparc where compiling `safestack.cpp`
with `-ftrivial-auto-var-init=pattern` causes the compiler to generate
calls to `memset` to initialize a `pthread_attr_t` which is larger than
can be handled inline. This is avoided by defining
`SANITIZER_COMMON_NO_REDEFINE_BUILTINS` in `safestack.cpp` and also
adding definitions of the interceptors that just forward to `libc` for
the benefit of `interception_linux.cpp`.
- The `pthread*.c` tests `FAIL` with
``` safestack CHECK failed:
/vol/llvm/src/llvm-project/local/compiler-rt/lib/safestack/safestack.cpp:227
size ```
The problem is that `pthread_attr_init` initializes the `stacksize`
attribute to 0, signifying the default. Unless explicitly overridded, it
stays that way. I think this is allowed by XPG7. Since safestack cannot
deal with this, I set `size` to the defaults documented in
`pthread_create(3C)`. Unfortunately, there's no macro for those values
outside of private `libc` headers.
- The Solaris `syscall` interface isn't stable. This is not just a
theoretical concern, but the syscalls have changed incompatibly several
times in the past. Therefore this patch switches the implementations of
`TgKill` (where `SYS_lwp_kill` doesn't exist on Solaris 11.4 anyway),
`Mmap`, `Munmap`, and `Mprotect` to the same `_REAL*` solution already
used in `sanitizer_solaris.cpp`.
With those changes, safestack compiles and all tests `PASS`, so the
tests are re-enabled for good.
Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`,
`x86_64-pc-linux-gnu`, and `sparc64-unknown-linux-gnu`.
Commit: b1864a8d6ab8bfd346922e36d80e684a4eaf3248
https://github.com/llvm/llvm-project/commit/b1864a8d6ab8bfd346922e36d80e684a4eaf3248
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/test/MachO/link-search-at-rpath.s
M lld/test/MachO/rpath.s
Log Message:
-----------
[lld-macho] Ignore duplicate `-rpath` entries (#99289)
Starting with Xcode 16 (dyld-1122), Apple's binary utilities, e.g.
`dyld_info` (but not dyld itself), will refuse to load binaries built
against the macOS 15 SDK or newer that contain the same `LC_RPATH`
entry multiple times:
https://github.com/apple-oss-distributions/dyld/blob/rel/dyld-1122/mach_o/Policy.cpp#L246-L249
`ld-prime` deduplicates entries (regardless of the deployment target),
we now do the same. We also match `ld-prime`'s and `ld64`'s behavior by
warning on duplicate `-rpath` arguments. This can be disabled by the
LLD-specific `--no-warn-duplicate-rpath` flag.
Commit: 1ce89899ad33a0d2976859d8d278dba4342cbb6b
https://github.com/llvm/llvm-project/commit/1ce89899ad33a0d2976859d8d278dba4342cbb6b
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
Log Message:
-----------
[clang-tidy] Fix false in unnecessary-value-param inside templates (#98488)
Summary:
If callExpr is type dependent, there is no way to analyze individual
arguments until template specialization. Before this diff only calls
with dependent callees were skipped so unnecessary-value-param was
processing arguments that had non-dependent type that gave false
positives because the call was not fully resolved till specialization.
So now instead of checking type dependent callee, the whole expression
will be checked for type dependent.
Test Plan: check-clang-tools
Commit: dfddc0c4843baaf9605aeb1c4f82eac185e90265
https://github.com/llvm/llvm-project/commit/dfddc0c4843baaf9605aeb1c4f82eac185e90265
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/atomic
M libcxx/include/expected
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/functional
M libcxx/include/iterator
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/numeric
M libcxx/include/ostream
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/stop_token
M libcxx/include/string_view
M libcxx/include/type_traits
M libcxx/include/utility
M libcxx/test/libcxx/containers/sequences/deque/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/abi.compile.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.lifetimebound.verify.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.adaptor.helpers/as-lvalue.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/type_traits/is_callable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
M libcxx/test/libcxx/type_traits/is_specialization.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
M libcxx/test/libcxx/type_traits/lazy_metafunctions.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.no_exceptions.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.bind.partial/compose.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.factories/range.repeat.view/iterator/plus_eq.pass.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Include the rest of the detail headers by version in the umbrella headers (#96032)
This is a follow-up to #83740.
Commit: c6144cb0de35013e19ddd4d9fbc86367bb1ba223
https://github.com/llvm/llvm-project/commit/c6144cb0de35013e19ddd4d9fbc86367bb1ba223
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Remove unnecessary `m_ElementWiseBitCast` from `isKnownNonZeroFromOperator`; NFC
Commit: d097f430a172a5d798a39b416b1af84f4ec572e1
https://github.com/llvm/llvm-project/commit/d097f430a172a5d798a39b416b1af84f4ec572e1
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Fixed the error `unable to launch a GDB server` in API tests (#98833)
TestPlatformLaunchGDBServer.py runs `ldb-server` w/o parameters
`--min-gdbserver-port`, `--max-gdbserver-port` or `--gdbserver-port`. So
`gdbserver_portmap` is empty and
`gdbserver_portmap.GetNextAvailablePort()` will return 0. Do not call
`portmap_for_child.AllowPort(0)` in this case. Otherwise
`portmap_for_child.GetNextAvailablePort()` will allocate and never free
the port 0 and next call `portmap_for_child.GetNextAvailablePort()` will
fail.
Added few asserts in `GDBRemoteCommunicationServerPlatform::PortMap` to
avoid such issue in the future.
This patch fixes a bug added in #88845. The behaviour is very close to
#97537 w/o parameters `--min-gdbserver-port`, `--max-gdbserver-port` and
`--gdbserver-port`.
Commit: ba8e4920ca57518f429bcf0a68ed3d48195fb1e6
https://github.com/llvm/llvm-project/commit/ba8e4920ca57518f429bcf0a68ed3d48195fb1e6
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
Log Message:
-----------
[MLIR] NFC. Remove anti-patterns given the default null init for Value (#99457)
Remove anti-patterns given the default null init for Value. Drop some
extra includes while on this file. NFC.
Co-authored-by: GitHub runner <github-runner at polymagelabs.com>
Commit: e4a2d74e0917d481ecda8e8ff0c0af3c683c9441
https://github.com/llvm/llvm-project/commit/e4a2d74e0917d481ecda8e8ff0c0af3c683c9441
Author: Him188 <tguan at nvidia.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/store-addressing-modes.mir
M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
Log Message:
-----------
[AArch64][GISel] Always fold G_SHL into addressing mode where possible, unless the subtarget has addr-lsl-slow-14 (#96603)
Before this patch, we fold G_SHL into addressing mode lsl only when
there is exactly one usage, or all the usages are memory ops, or we are
optimizing for size. However, lsl is free on all aarch64 targets except
those with FeatureAddrLSLSlow14.
This patch uses this fact and always folds G_SHL into lsl for memory
ops, with exceptions for FeatureAddrLSLSlow14.
This patch also fixes GISel 15% regression in TSVC kernel s482, and
brings regression in s291 from 20% to 10%.
Commit: c661422db04d86b83c1bfeed18e31745a3725357
https://github.com/llvm/llvm-project/commit/c661422db04d86b83c1bfeed18e31745a3725357
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[Clang] Handle OMPReverseDirectiveClass in switch
Commit: 783e07f3a4f4684613ffb4a442c97f25c83f309b
https://github.com/llvm/llvm-project/commit/783e07f3a4f4684613ffb4a442c97f25c83f309b
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/ashr-demand.ll
Log Message:
-----------
[InstCombine] Add tests cases related to demanded use bits for ashr
When trying to improve value tracking in
https://github.com/llvm/llvm-project/pull/97693
some regressions was found due to a "weirdness" in simplify demanded
use bits for ashr. Normally an ashr is replaced by lshr when the
shifted in bits aren't demanded. Some years ago (see commit
22178dd33b346020) there was a test case motivating to keep the ashr
when any sign bit (besides the shifted in bits) was demanded. The
weird part about it is that the better we get at analysing known sign
bits, the less likely it is that we canonicalize from ashr to lshr.
That makes it hard to tune other combines to work based on the
canonicalization, as well as possibly resulting in unexpected
regressions when improving value tracking.
This patch adds a test case for which it would be better to
canonicalize ashr into lshr when possible. Worth mentioning is also
that reverting 22178dd33b346020 doesn't seem to cause regressions
in any other lit tests (not even the one added in 22178dd33b346020).
Commit: b8c4c58ecf186dd91f40bdff4d1bdad403435789
https://github.com/llvm/llvm-project/commit/b8c4c58ecf186dd91f40bdff4d1bdad403435789
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/ashr-demand.ll
Log Message:
-----------
[InstCombine] Turn AShr into LShr more often in SimplifyDemandedUseBits (#99155)
The functional change here is to undo "llvm-svn: 311773", aka D36936,
aka commit 22178dd33b3460207b8. That patch avoided to convert AShr
into LShr in SimplifyDemandedUseBits based on known sign bits
analysis. Even if it would be legal to turn the shift into a
logical shift (given by the fact that the shifted in bits wasn't
demanded), that patch prevented converting the shift into LShr when
any of the original sign bits were demanded.
One side effect of the reverted functionalty was that the better we
were at computing number of sign bits, the less likely it was that
we would replace AShr by LShr during SimplifyDemandedUseBits. This
was seen in https://github.com/llvm/llvm-project/pull/97693/ when
an improvement of ComputeNumSignBits resulted in regressions due
to no longer rewriting AShr to LShr.
The test case from D36936 still passes after this commit. So it seems
like at least the compiler has been taught how to optimize that
scenario even if we do the AShr->LShr transform more aggressively.
Commit: c68c289984d161d220b9434be5dbbfc387981e23
https://github.com/llvm/llvm-project/commit/c68c289984d161d220b9434be5dbbfc387981e23
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
A flang/test/Parser/OpenMP/proc-bind.f90
Log Message:
-----------
[Flang][OpenMP] Add support for proc_bind=primary (#99319)
The support was missing only in the parser, all other phases handle the
primary option for proc_bind.
Fixes one of the issues in parsing for gomp/affinity-1.f90.
(https://discourse.llvm.org/t/proposal-rename-flang-new-to-flang/69462/60)
Commit: da0c8b275564f814a53a5c19497669ae2d99538d
https://github.com/llvm/llvm-project/commit/da0c8b275564f814a53a5c19497669ae2d99538d
Author: Hau Hsu <hau.hsu at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[RISCV][sanitizer] Fix sanitizer support for different virtual memory layout (#66743)
This PR combines the following reviews from Phabricator:
* https://reviews.llvm.org/D139823
* https://reviews.llvm.org/D139827
Other related (and merged) reviews are:
* https://reviews.llvm.org/D152895
* https://reviews.llvm.org/D152991
* https://reviews.llvm.org/D152990
---------
Co-authored-by: Kito Cheng <kito.cheng at gmail.com>
Commit: 4a19be5d45e4b1e02c2512023151be5d56ef5744
https://github.com/llvm/llvm-project/commit/4a19be5d45e4b1e02c2512023151be5d56ef5744
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/string
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string.string_view.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][strings] P2591R5: Concatenation of strings and string views (#88389)
Implemented: https://wg21.link/P2591R5
- https://eel.is/c++draft/string.syn
- https://eel.is/c++draft/string.op.plus
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: b7a6cca218aef4e18ce03a58561555ef0dee7231
https://github.com/llvm/llvm-project/commit/b7a6cca218aef4e18ce03a58561555ef0dee7231
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
Log Message:
-----------
[libc++][test] XFAIL sized deallocation tests for AIX, z/OS, and MinGW (#98960)
The sized deallocation test cases fail on AIX, z/OS, and MinGW because
they default to `-fno-sized-deallocation`. This patch XFAILs these test
cases for the affected targets. Once they change the default, we will
get `unexpectedly pass`.
Commit: 6838c7afb2d2fa5eb642a4b5922ae55d97f7b344
https://github.com/llvm/llvm-project/commit/6838c7afb2d2fa5eb642a4b5922ae55d97f7b344
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Revise IDE folder structure (#89746)
Reviewers of #89153 suggested to break up the patch into per-subproject
patches. This is the libclc part. See #89153 for the entire series and
motivation.
Update the folder titles for targets in the monorepository that have not
seen taken care of for some time. These are the folders that targets are
organized in Visual Studio and XCode
(`set_property(TARGET <target> PROPERTY FOLDER "<title>")`)
when using the respective CMake's IDE generator.
* Ensure that every target is in a folder
* Use a folder hierarchy with each LLVM subproject as a top-level folder
* Use consistent folder names between subprojects
* When using target-creating functions from AddLLVM.cmake, automatically
deduce the folder. This reduces the number of
`set_property`/`set_target_property`, but are still necessary when
`add_custom_target`, `add_executable`, `add_library`, etc. are used. A
LLVM_SUBPROJECT_TITLE definition is used for that in each subproject's
root CMakeLists.txt.
Commit: c0084c36ed55ce78331aca7d0d10781a9f00b256
https://github.com/llvm/llvm-project/commit/c0084c36ed55ce78331aca7d0d10781a9f00b256
Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
Log Message:
-----------
[mlir][BytecodeReader] Const qualify *SectionReader, NFC (#99376)
`StringSectionReader`, `ResourceSectionReader` and
`PropertiesSectionReader` are immutable after `initialize` so this PR
adds const to their parsing functions and references in `AttrTypeReader`
and `DialectReader`.
Commit: 7e6a73959ae97b1f9476a90290a492ba90cb950d
https://github.com/llvm/llvm-project/commit/7e6a73959ae97b1f9476a90290a492ba90cb950d
Author: Romaric Jodin <rjodin at chromium.org>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libclc/clspv/lib/math/fma.cl
M libclc/generic/include/clc/convert.h
M libclc/generic/include/math/clc_ldexp.h
M libclc/generic/lib/clcmacro.h
M libclc/generic/lib/gen_convert.py
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/clc_ldexp.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_sw_binary.inc
M libclc/generic/lib/math/clc_sw_unary.inc
M libclc/generic/lib/math/cos.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/frexp.inc
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
M libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/log2.cl
M libclc/generic/lib/math/log_base.h
M libclc/generic/lib/math/logb.cl
M libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/remquo.inc
M libclc/generic/lib/math/rootn.inc
M libclc/generic/lib/math/sin.cl
M libclc/generic/lib/math/sincos.inc
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tanh.cl
Log Message:
-----------
libclc: increase fp16 support (#98149)
Increase fp16 support to allow clspv to continue to be OpenCL compliant
following the update of the OpenCL-CTS adding more testing on math
functions and conversions with half.
Math functions are implemented by upscaling to fp32 and using the fp32
implementation. It garantees the accuracy required for half-precision
float-point by the CTS.
Commit: 61a58633d541780e34e6d459af2631b3539d415f
https://github.com/llvm/llvm-project/commit/61a58633d541780e34e6d459af2631b3539d415f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Log Message:
-----------
[gn build] Port fe6c24000f2d (clangd modules)
Commit: d1d14b78d18a9f45f36e580fdd8d499a4bf09093
https://github.com/llvm/llvm-project/commit/d1d14b78d18a9f45f36e580fdd8d499a4bf09093
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/SandboxIR/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn
Log Message:
-----------
[gn build] Port 5338bd3c8ac5
Commit: 38f1dd2e45b854c1d682dd1d4481ef471e61fa10
https://github.com/llvm/llvm-project/commit/38f1dd2e45b854c1d682dd1d4481ef471e61fa10
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/docs/gpu/support.rst
Log Message:
-----------
[libc] Remove `strerror_r` on the GPU for now
Summary:
This function has conflicting definitions, which makes it difficult to
use in an offloading setting. Disable it for now.
Commit: cb3de24b5c0a662ba4a03c6c06a2d765d558bf62
https://github.com/llvm/llvm-project/commit/cb3de24b5c0a662ba4a03c6c06a2d765d558bf62
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__iterator/concepts.h
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_binary_predicate.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_equivalence_relation.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_strict_weak_order.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_unary_predicate.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_regular_unary_invocable.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirectly_unary_invocable.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][iterator][ranges] P2997R1: Removing the common reference requirement from the indirectly invocable concepts (#98817)
Implements as DR against C++20: https://wg21.link/P2997R1
References:
- https://eel.is/c++draft/indirectcallable.indirectinvocable
- https://eel.is/c++draft/version.syn#header:%3cversion%3e
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: b634e057ddecc41dce046887d0f0854fed305374
https://github.com/llvm/llvm-project/commit/b634e057ddecc41dce046887d0f0854fed305374
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/revec-fix-99411.ll
Log Message:
-----------
[SLP][REVEC] Fix false assumption of the source for castToScalarTyElem. (#99424)
The argument V may come from adjustExtracts, which is the vector operand
of ExtractElementInst. In addition, it is not existed in getTreeEntry.
The vector operand of ExtractElementInst may have a type of <1 x Ty>,
ensuring that the number of elements in ScalarTy and VecTy are equal.
reference: https://github.com/llvm/llvm-project/issues/99411
Commit: 68cb903594cd03dd708ef70c85c10807a6deefb5
https://github.com/llvm/llvm-project/commit/68cb903594cd03dd708ef70c85c10807a6deefb5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
Revert d43ec97de081755990264049eba09cb7c83cb321 "[X86] combineConcatVectorOps - IsConcatFree - peek through bitcasts to find inplace subvectors."
I've been given reports of this causing infinite loops downstream - I'm going to revert for now while I investigate.
Commit: 8badfccefeaff2c05ef71a8d2fd6d803a1b4e129
https://github.com/llvm/llvm-project/commit/8badfccefeaff2c05ef71a8d2fd6d803a1b4e129
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/CMakeLists.txt
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/src/ctype/CMakeLists.txt
M libc/benchmarks/gpu/src/ctype/isalnum_benchmark.cpp
Log Message:
-----------
[libc] Add Multithreaded GPU Benchmarks (#98964)
This PR runs benchmarks on a 32 threads (A single warp on NVPTX) by
default, adding the option for single threaded benchmarks. We can
specify that a benchmark should be run on a single thread using the
`SINGLE_THREADED_BENCHMARK()` macro.
I chose to use a flag here so that other options could be added in the
future.
Commit: bf02f41726a48e5eb1dbe7c188f9e36ec6a29ac2
https://github.com/llvm/llvm-project/commit/bf02f41726a48e5eb1dbe7c188f9e36ec6a29ac2
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/C/C2y/n3254.c
M clang/test/Sema/alignas.c
Log Message:
-----------
Fix a regression with alignas on structure members in C (#98642)
This was a 19.x regression and thus has no release note.
Fixes #95032
Commit: c5f402f95d9617882b26d5799f503383b895c2e4
https://github.com/llvm/llvm-project/commit/c5f402f95d9617882b26d5799f503383b895c2e4
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
Log Message:
-----------
[APINotes] Reduce memory footprint for Obj-C/C++ contexts
We were storing extraneous data for certain Objective-C/C++ entities.
Specifically, for declarations that can be nested in another context
(such as functions) we were storing the kind of the parent context in
addition to its ID. The ID is always sufficient.
This removes the logically incorrect usages of `ContextTableKey` that
don't actually describe a context, but rather describe a single
declaration. This introduces `SingleDeclTableKey` to store that kind of
entities in a more compact and reasonable way.
Commit: 39bb244a16e59cb8f2080f96e9de599007762635
https://github.com/llvm/llvm-project/commit/39bb244a16e59cb8f2080f96e9de599007762635
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] Make Instruction::Call support vector instructions. (#99317)
Commit: 27ec379f636ceac655faa290e78735ea98e02cbf
https://github.com/llvm/llvm-project/commit/27ec379f636ceac655faa290e78735ea98e02cbf
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
Log Message:
-----------
[AMDGPU] Do not select llvm.amdgcn.inverse.ballot with wrong wave size (#99470)
This produces a "cannot select" error, instead of failing later with an
illegal vgpr to sgpr copy.
Commit: 7f2bd53b142ec147da9f8bd98775be1d14457ba1
https://github.com/llvm/llvm-project/commit/7f2bd53b142ec147da9f8bd98775be1d14457ba1
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/include/__math/traits.h
M libcxx/test/std/numerics/c.math/isfinite.pass.cpp
Log Message:
-----------
[libc++] Fix acceptance of convertible-to-{float,double,long double} in std::isfinite() (#98841)
Closes https://github.com/llvm/llvm-project/issues/98816.
Commit: 6a141610f1fc3a53b5b1fd86fa996a90f5c1b849
https://github.com/llvm/llvm-project/commit/6a141610f1fc3a53b5b1fd86fa996a90f5c1b849
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add getGFNICtrlMask helper for the constant creation and bitcasting. NFC.
Commit: fde51e24b593087a15494203ef68a77bb4f12115
https://github.com/llvm/llvm-project/commit/fde51e24b593087a15494203ef68a77bb4f12115
Author: Janet Cobb <jason.e.cobb at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][test] Raise a useful error when no -std=c++NN flag is found to work (#99423)
Recently ran into an issue with symptoms very similar to
https://github.com/llvm/llvm-project/issues/56816 while attempting to
build and test libc++ on NixOS. The error message is cryptic (just
`StopIteration`), which was very annoying to track down. The error at
least saying "hey your compiler's bad" would have saved me quite a bit
of time figuring out the issue.
Commit: 3eb666e292baf87c969be733de858b0cb7ead13f
https://github.com/llvm/llvm-project/commit/3eb666e292baf87c969be733de858b0cb7ead13f
Author: Krasimir Georgiev <krasimir at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
update bazel for a6d2da8b9d7be19816dd4c76b02016c19618c1be
Commit: fc65a9603bf16ed1fe98fbee6933bca9e2083384
https://github.com/llvm/llvm-project/commit/fc65a9603bf16ed1fe98fbee6933bca9e2083384
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/new-delete.cpp
Log Message:
-----------
[clang][Interp] Run record destructors when deallocating dynamic memory
Commit: 4dfa75c663e53be1d548b340e562dd5c4e87fe65
https://github.com/llvm/llvm-project/commit/4dfa75c663e53be1d548b340e562dd5c4e87fe65
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__type_traits/is_enum.h
R libcxx/include/__type_traits/is_scoped_enum.h
M libcxx/include/module.modulemap
M libcxx/include/type_traits
Log Message:
-----------
[libc++] Merge is_scoped_enum.h into is_enum.h (#99458)
Commit: 561246e90282a72b5b0c437cbbdae171526aad8f
https://github.com/llvm/llvm-project/commit/561246e90282a72b5b0c437cbbdae171526aad8f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/include/__type_traits/remove_cv.h
Log Message:
-----------
[libc++][NFC] Remove wrong #endif comment
Commit: 15495b8cd4051d05c1b88c919e7c509a8ea4056a
https://github.com/llvm/llvm-project/commit/15495b8cd4051d05c1b88c919e7c509a8ea4056a
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/test/CAPI/rewrite.c
Log Message:
-----------
[mlir] Fix unused-variable warning w/o assertions. (#99489)
Commit: d00b35534d068510025d22e5bd9c4fdac45757fb
https://github.com/llvm/llvm-project/commit/d00b35534d068510025d22e5bd9c4fdac45757fb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
A clang/test/AST/Interp/cxx2a.cpp
Log Message:
-----------
[clang][Interp] Fix CheckCallable for undefined-and-not-constexpr fns
Commit: d9cb65ff483a2f79d0d3f0239796abe829372e52
https://github.com/llvm/llvm-project/commit/d9cb65ff483a2f79d0d3f0239796abe829372e52
Author: Romaric Jodin <rjodin at chromium.org>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libclc/generic/include/clc/convert.h
M libclc/generic/lib/gen_convert.py
Log Message:
-----------
libclc: fix convert with half (#99481)
Fix following update of libclc introducing more fp16 support:
https://github.com/llvm/llvm-project/commit/7e6a73959ae97b1f9476a90290a492ba90cb950d
Commit: ad7aeb0ff58ebd29f68adb85c64e8010639e2a76
https://github.com/llvm/llvm-project/commit/ad7aeb0ff58ebd29f68adb85c64e8010639e2a76
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
R clang/test/AST/Interp/cxx2a.cpp
Log Message:
-----------
Revert "[clang][Interp] Fix CheckCallable for undefined-and-not-constexpr fns"
This reverts commit d00b35534d068510025d22e5bd9c4fdac45757fb.
This breaks the ms-constexpr test:
https://lab.llvm.org/buildbot/#/builders/144/builds/2605
Commit: a778909168746e266ad52b817a758328cdd28311
https://github.com/llvm/llvm-project/commit/a778909168746e266ad52b817a758328cdd28311
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 4dfa75c663e5
Commit: 684a61506a3ddc943b8baef1d14c96bbf82e6c04
https://github.com/llvm/llvm-project/commit/684a61506a3ddc943b8baef1d14c96bbf82e6c04
Author: A. Jiang <de34 at live.cn>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__chrono/weekday.h
M libcxx/test/std/time/time.cal/time.cal.weekday/time.cal.weekday.nonmembers/comparisons.pass.cpp
Log Message:
-----------
[libc++][chrono] Remove non-standard relational operators for `std::chrono::weekday` (#98730)
These operators are absent in https://eel.is/c++draft/time.syn and a note in
https://eel.is/c++draft/time.cal.wd.overview#1 indicates that the absence is
intended.
This patch removes the undocumented extension, while providing a migration path
for vendors by providing the `_LIBCPP_ENABLE_REMOVED_WEEKDAY_RELATIONAL_OPERATORS`
macro. This macro will be honored for the LLVM 19 release and will be removed after
that, at which point allocator will be removed unconditionally.
Commit: 078198f310d55925ccd9e1aa5b6ff4af3b36bbc7
https://github.com/llvm/llvm-project/commit/078198f310d55925ccd9e1aa5b6ff4af3b36bbc7
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
Log Message:
-----------
[DebugInfo][InstrRef] Index DebugVariables and some DILocations (#99318)
A lot of time in LiveDebugValues is spent computing DenseMap keys for
DebugVariables, and they're made up of three pointers, so are large.
This patch installs an index for them: for the SSA and value-to-location
mapping parts of InstrRefBasedLDV we don't need to access things like
the variable declaration or the inlining site, so just use a uint32_t
identifier for each variable fragment that's tracked. The compile-time
performance improvements are substantial (almost 0.4% on the tracker).
About 80% of this patch is just replacing DebugVariable references with
DebugVariableIDs instead, however there are some larger consequences. We
spend lots of time fetching DILocations when emitting DBG_VALUE
instructions, so index those with the DebugVariables: this means all
DILocations on all new DBG_VALUE instructions will normalise to the
first-seen DILocation for the variable (which should be fine).
We also used to keep an ordering of when each variable was seen first in
a DBG_* instruction, in the AllVarsNumbering collection, so that we can
emit new DBG_* instructions in a stable order. We can hang this off the
DebugVariable index instead, so AllVarsNumbering is deleted.
Finally, rather than ordering by AllVarsNumbering just before DBG_*
instructions are linked into the output MIR, store instructions along
with their DebugVariableID, so that they can be sorted by that instead.
Commit: 50b657c8f655a86826e94131729b0f13a58acbca
https://github.com/llvm/llvm-project/commit/50b657c8f655a86826e94131729b0f13a58acbca
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
Log Message:
-----------
Revert "[DebugInfo][InstrRef] Index DebugVariables and some DILocations (#99318)"
This reverts commit 078198f310d55925ccd9e1aa5b6ff4af3b36bbc7.
Buildbots unhappy, I must have fluffed it
Commit: 1a80153ba91f1e623c042fa0ae1ee5ab67087c0e
https://github.com/llvm/llvm-project/commit/1a80153ba91f1e623c042fa0ae1ee5ab67087c0e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC]Simplify the structure and improve message of safe distance analysis for scalable vectorization. (#99487)
Commit: 92f9f014015554c5dd18df4699765cc42853a04d
https://github.com/llvm/llvm-project/commit/92f9f014015554c5dd18df4699765cc42853a04d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
[X86] getGFNICtrlMask - create a vXi8 mask instead of a bitcasted vXi64 mask.
Helps avoid some missed load-folds by stripping away bitcasts and make it easier to grok the GF2P8AFFINEQB masks.
Commit: 9fae0c6f9c05915a5daac5b368258a40e1fab237
https://github.com/llvm/llvm-project/commit/9fae0c6f9c05915a5daac5b368258a40e1fab237
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
A clang/test/AST/Interp/cxx2a.cpp
Log Message:
-----------
Reapply "[clang][Interp] Fix CheckCallable for undefined-and-not-constexpr fns"
This reverts commit ad7aeb0ff58ebd29f68adb85c64e8010639e2a76.
Commit: cd495d2cdd84a22026a115c7e9923c27b196732e
https://github.com/llvm/llvm-project/commit/cd495d2cdd84a22026a115c7e9923c27b196732e
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
A a-abfdec1d.o.tmp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/Driver/ftime-trace-sections.cpp
M clang/test/Driver/ftime-trace.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
Log Message:
-----------
Add source file name for template instantiations in -ftime-trace (#98320)
This is helpful in identifying file and location which contain the particular template declaration.
Commit: 1cc107234969c33a7036b9694da57f4223e3e4d7
https://github.com/llvm/llvm-project/commit/1cc107234969c33a7036b9694da57f4223e3e4d7
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/MachineVerifier/test_uscmp.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[GlobalIsel] Add G_SCMP and G_UCMP instructions (#98894)
https://github.com/llvm/llvm-project/pull/83227
Commit: 47b63cd508f993d9fab2acfbf0dcf86cdc8c5335
https://github.com/llvm/llvm-project/commit/47b63cd508f993d9fab2acfbf0dcf86cdc8c5335
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/Options.td
A lld/test/MachO/reproduce-thin-archive-objc.s
M lld/test/MachO/reproduce-thin-archives.s
Log Message:
-----------
[lld-macho] Save all thin archive members in repro tarball (#97169)
Previously, we only saved those members of thin archives into a repro
file that were actually used during linking. However, -ObjC handling
requires us to inspect all members, even those that don't end up being
loaded.
We weren't handling missing members correctly and crashed with an
"unhandled `Error`" failure in LLVM_ENABLE_ABI_BREAKING_CHECKS builds.
To fix this, we now eagerly load all object files and warn when
encountering missing members (in the instances where it wasn't a hard
error before). To avoid having to patch out the checks when dealing
with older repro files, the `--no-warn-thin-archive-missing-members`
flag is added as an escape hatch.
Commit: c0c4ad5d9a6e05e0b1f5f98ce2e08d479b281be8
https://github.com/llvm/llvm-project/commit/c0c4ad5d9a6e05e0b1f5f98ce2e08d479b281be8
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
[clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)
Whenever these tests change, it's difficult to see why they don't match,
and the diff after you've fixed them isn't easy to grok. By splitting
them with a sed pipe, we fix both issues simultaneously.
Commit: 257a0d535ac052a4eb1bb847605eff1eb169087d
https://github.com/llvm/llvm-project/commit/257a0d535ac052a4eb1bb847605eff1eb169087d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/cxx11.cpp
Log Message:
-----------
[clang][Interp] Diagnose out-of-range casts to enum types
Commit: 7d74ca9513a3fa53b482230c20b1977a1f3d121b
https://github.com/llvm/llvm-project/commit/7d74ca9513a3fa53b482230c20b1977a1f3d121b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueLattice.h
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
M llvm/test/Transforms/SCCP/phis.ll
Log Message:
-----------
[ValueLattice] Support constant vectors in mergeIn() (#99466)
This is a followup to vector support in LVI/CVP/SCCP. In mergeIn(), if
one of the operands is a vector of integer constant, we should try to
convert it into a constant range, in case that allows performing a range
union to something better than overdefined.
Commit: 9711f6bda1363eb3b8850ee67958ab90357db006
https://github.com/llvm/llvm-project/commit/9711f6bda1363eb3b8850ee67958ab90357db006
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/Transforms/GVN/condprop.ll
Log Message:
-----------
[GVN] Add additional tests for pointer replacement (NFC)
Commit: f6b06b42a3f4f59ff33da20d42358f2768eaf726
https://github.com/llvm/llvm-project/commit/f6b06b42a3f4f59ff33da20d42358f2768eaf726
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Headers/ptrauth.h
A clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
A clang/test/CodeGen/ptrauth-function-type-discriminator-cast.c
Log Message:
-----------
[PAC] Implement function pointer re-signing (#98847)
Re-signing occurs when function type discrimination is enabled and a
function pointer is converted to another function pointer type that
requires signing using a different discriminator. A function pointer is
re-signed using discriminator zero when it's converted to a pointer to a
non-function type such as `void*`.
---------
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Co-authored-by: John McCall <rjmccall at apple.com>
Commit: 676efd0ffb717215c752f200fe14163732290dcc
https://github.com/llvm/llvm-project/commit/676efd0ffb717215c752f200fe14163732290dcc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/test/DebugInfo/MIR/X86/live-debug-values-fragments.mir
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
Log Message:
-----------
Reapply 078198f310d5 "Index DebugVariables and some DILocations"
Now revised to actually make the unit test compile, which I'd been
ignoring. No actual functional change, it's a type difference.
Original commit message follows.
[DebugInfo][InstrRef] Index DebugVariables and some DILocations (#99318)
A lot of time in LiveDebugValues is spent computing DenseMap keys for
DebugVariables, and they're made up of three pointers, so are large.
This patch installs an index for them: for the SSA and value-to-location
mapping parts of InstrRefBasedLDV we don't need to access things like
the variable declaration or the inlining site, so just use a uint32_t
identifier for each variable fragment that's tracked. The compile-time
performance improvements are substantial (almost 0.4% on the tracker).
About 80% of this patch is just replacing DebugVariable references with
DebugVariableIDs instead, however there are some larger consequences. We
spend lots of time fetching DILocations when emitting DBG_VALUE
instructions, so index those with the DebugVariables: this means all
DILocations on all new DBG_VALUE instructions will normalise to the
first-seen DILocation for the variable (which should be fine).
We also used to keep an ordering of when each variable was seen first in
a DBG_* instruction, in the AllVarsNumbering collection, so that we can
emit new DBG_* instructions in a stable order. We can hang this off the
DebugVariable index instead, so AllVarsNumbering is deleted.
Finally, rather than ordering by AllVarsNumbering just before DBG_*
instructions are linked into the output MIR, store instructions along
with their DebugVariableID, so that they can be sorted by that instead.
Commit: 497ea1d84951626dea5bf644fef2d99e145e21ac
https://github.com/llvm/llvm-project/commit/497ea1d84951626dea5bf644fef2d99e145e21ac
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] tryToFoldExtendSelectLoad - reuse existing SDLoc. NFC.
Commit: 2bdcfbe62cb9a08df4b58a17d44be0a3082df053
https://github.com/llvm/llvm-project/commit/2bdcfbe62cb9a08df4b58a17d44be0a3082df053
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
Log Message:
-----------
[clang] Fix crash in concept deprecation (#98622)
There is a gap between `getAs<AutoType>()` and
`getConstrainedAutoType()` that the original patch #92295 was not aware
of.
Fixes #98164
Commit: a2d309912a2863dfe7286ffde67b968e8c720b07
https://github.com/llvm/llvm-project/commit/a2d309912a2863dfe7286ffde67b968e8c720b07
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/aarch64-fmv-resolver-emission.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
A clang/test/CodeGenCXX/aarch64-fmv-resolver-emission.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
Log Message:
-----------
[FMV][AArch64] Do not emit ifunc resolver on use. (#97761)
It was raised in https://github.com/llvm/llvm-project/issues/81494 that
we are not generating correct code when there is no TU-local caller.
The suggestion was to emit a resolver:
* Whenever there is a use in the TU.
* When the TU has a definition of the default version.
See the comment for more details:
https://github.com/llvm/llvm-project/issues/81494#issuecomment-1985963497
This got addressed with https://github.com/llvm/llvm-project/pull/84405.
Generating a resolver on use means that we may end up with multiple
resolvers across different translation units. Those resolvers may not be
the same because each translation unit may contain different version
declarations (user's fault). Therefore the order of linking the final
image determines which of these weak symbols gets selected, resulting in
non consisted behavior. I am proposing to stop emitting a resolver on
use and only do so in the translation unit which contains the default
definition. This way we guarantee the existence of a single resolver.
Now, when a versioned function is used we want to emit a declaration of
the function symbol omitting the multiversion mangling.
I have added a requirement to ACLE mandating that all the function
versions are declared in the translation unit which contains the default
definition: https://github.com/ARM-software/acle/pull/328
Commit: 9af3628ce7400a96205a4c4468867c3c11dd4b2f
https://github.com/llvm/llvm-project/commit/9af3628ce7400a96205a4c4468867c3c11dd4b2f
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/test/CodeGen/SystemZ/systemz-abi.c
Log Message:
-----------
[SystemZ] Fix transparent_union calling convention
The SystemZ ABI code was missing code to handle the transparent_union
extension. Arguments of such types are specified to be passed like
the first member of the union, instead of according to the usual
ABI calling convention for aggregates.
This did not make much difference in practice as the SystemZ ABI
already specifies that 1-, 2-, 4- or 8-byte aggregates are passed
in registers. However, there *is* a difference if the first member
of the transparent union is a scalar integer type smaller than word
size - if passed as a scalar, it needs to be zero- or sign-extended
to word size, while if passed as aggregate, it is not.
Fixed by adding code to handle transparent_union similar to what
is done on other targets.
Commit: 0c4023ae3b64c54ff51947e9776aee0e963c5635
https://github.com/llvm/llvm-project/commit/0c4023ae3b64c54ff51947e9776aee0e963c5635
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
Log Message:
-----------
[RISCV] Use Root instead of N throughout the worklist loop in combineBinOp_VLToVWBinOp_VL. (#99416)
We were only checking that the node from the worklist is a supported
root. We weren't checking the strategy or any of its operands unless it
was the original node. For any other node, we just rechecked the
original node's strategy and operands.
The effect of this is that we don't do all of the transformations at
once. Instead, when there were multiple possible nodes to transform we
would only do them as each node was visited by the main DAG combine
worklist.
The test shows a case where we widened an instruction without removing
all of the uses of the vsext. The sext is shared by one node that shares
another sext node with the root another node that doesn't share anything
with the root.
Commit: 342bd4b89355c27203b5f1abd8c43de6b01aba14
https://github.com/llvm/llvm-project/commit/342bd4b89355c27203b5f1abd8c43de6b01aba14
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_archive_two_objects_same_name.s
Log Message:
-----------
[orc] Add the name of static archives to the name of their member objects (#99407)
Changes "MyObj.o" to "/path/to/libMyLib.a(MyObj.o)".
This allows us to differentiate between objects that have the same
basename but came from different archives. It also fixes a bug where if
two such objects were both linked and both have initializer sections
their initializer symbol would cause a duplicate symbol error.
rdar://131782514
Commit: 10627d20044cb13d3fa60a3bce31d37edb3a591f
https://github.com/llvm/llvm-project/commit/10627d20044cb13d3fa60a3bce31d37edb3a591f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
Log Message:
-----------
Revert "[RISCV] Use Root instead of N throughout the worklist loop in combineBinOp_VLToVWBinOp_VL. (#99416)"
This reverts commit 0c4023ae3b64c54ff51947e9776aee0e963c5635.
I messed up re-generating the test after the change.
Commit: 0ce11a1a763d46e4afe678f3f94a1932c1dcfe5d
https://github.com/llvm/llvm-project/commit/0ce11a1a763d46e4afe678f3f94a1932c1dcfe5d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++] Add a release note about C++03 being frozen after LLVM 21 (#95894)
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 2bf91db0c743f041c9f83609399f75654c07445a
https://github.com/llvm/llvm-project/commit/2bf91db0c743f041c9f83609399f75654c07445a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++] Use char_traits::copy while inserting when possible (#97201)
This reduces the number of asm lines from 707 to 519 for this snippet:
```c++
auto test(std::string& str, const char* begin, const char* end) {
str.insert(str.begin(), begin, end);
}
```
While that's not a performance metric, I've never seen a use of `memcpy`
result in a performance regression for any realistic usage.
Commit: 77ac07444d32668d5826ef27c24180fb10425213
https://github.com/llvm/llvm-project/commit/77ac07444d32668d5826ef27c24180fb10425213
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
Log Message:
-----------
Re-commit "[RISCV] Use Root instead of N throughout the worklist loop in combineBinOp_VLToVWBinOp_VL. (#99416)"
With correct test update.
Original message:
We were only checking that the node from the worklist is a supported
root. We weren't checking the strategy or any of its operands unless it
was the original node. For any other node, we just rechecked the
original node's strategy and operands.
The effect of this is that we don't do all of the transformations at
once. Instead, when there were multiple possible nodes to transform we
would only do them as each node was visited by the main DAG combine
worklist.
The test shows a case where we widened an instruction without removing
all of the uses of the vsext. The sext is shared by one node that shares
another sext node with the root another node that doesn't share anything
with the root.
Commit: c0c157a51832a2c7bbd09a449e33cc94d7747abf
https://github.com/llvm/llvm-project/commit/c0c157a51832a2c7bbd09a449e33cc94d7747abf
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Remove DWO ranges base (#99284)
Removes getters and setters for DWO ranges base due to it not being
used.
Commit: 8c8e0ddae96882247717b8ae1739abcf09726eab
https://github.com/llvm/llvm-project/commit/8c8e0ddae96882247717b8ae1739abcf09726eab
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/test/AST/Interp/cxx11.cpp
Log Message:
-----------
[clang][Interp][test] Use fixed triple in cxx11 test
This uses 'long', which has a different size on Windows. The test
I copied this from also uses x86_64-linux.
This should fix the bot:
https://lab.llvm.org/buildbot/#/builders/81/builds/853
Commit: fe04aafe6c27f32ad4ba38e552d06d14431cb2de
https://github.com/llvm/llvm-project/commit/fe04aafe6c27f32ad4ba38e552d06d14431cb2de
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
M mlir/test/Dialect/Affine/loop-tiling-validity.mlir
Log Message:
-----------
[MLIR][Affine] NFC. Expose affine loop tiling validity utility (#99459)
Move the utility to check for the validity of tiling affine loop nests
to affine loop utils and expose for users outside the loop tiling pass
or downstream users.
Commit: 06ab30b57450694818dbb649dec2a687f44df7f4
https://github.com/llvm/llvm-project/commit/06ab30b57450694818dbb649dec2a687f44df7f4
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
[AMDGPU] Constant folding of llvm.amdgcn.trig.preop (#98562)
If the parameters(the input and segment select) coming in to
amdgcn.trig.preop intrinsic are compile time constants, we pre-compute
the output of amdgcn.trig.preop on the CPU and replaces the uses with
the computed constant.
This work extends the patch https://reviews.llvm.org/D120150 to make it
a complete coverage.
For the segment select, only src1[4:0] are used. A segment select is
invalid if we are selecting the 53-bit segment beyond the [1200:0] range
of the 2/PI table. 0 is returned when a segment select is not valid.
Commit: 371777695fe1b5407753ef2232d1b73014d3e501
https://github.com/llvm/llvm-project/commit/371777695fe1b5407753ef2232d1b73014d3e501
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Assert uniform recipes don't get predicated for when vectorizing.
Add assertion ensuring invariant on construction, split off as suggested
from https://github.com/llvm/llvm-project/pull/98892.
Commit: d06b55e7934635049d55efff2dc9e745f911240c
https://github.com/llvm/llvm-project/commit/d06b55e7934635049d55efff2dc9e745f911240c
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/runtime/misc-intrinsic.cpp
Log Message:
-----------
[Flang][Runtime] Improve runtime implementation of the RENAME intrinsic (#99445)
The RENAME implementation in the Fortran runtime had a few glitches that
had to be addressed:
- Wrong usage of RTDECL (fixed)
- Issue fatal error when trying to use RENAME on a target device (fixed)
Commit: 3d69bbc35158822c9e1371b5c37a24213a8a81fc
https://github.com/llvm/llvm-project/commit/3d69bbc35158822c9e1371b5c37a24213a8a81fc
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
M llvm/test/MC/SystemZ/insn-bad.s
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
Allow MAY(R)? to accept the high components of register pairs (#98606)
The HFP instructions `MAY` and `MAYR`, unlike any other floating point
instructions, allow the specification of a 128bit register pair by
either the lower-numbered or the higher-numbered component register. In
order to support this, but change as little about codegen as possible,
the existing `MAY(R)?` definition is made `CodeGenOnly`, while a copy is
provided for the assembler and disassembler, which simply accepts a
64bit floating point register in place of the 128bit one. This copy is
stripped of its pattern to prevent codegen from using it.
The corresponding assembly tests that checked the register specification
rule that this commit removes from `MAY(R)?` have also been removed.
Commit: 574dbe3e9cdaf94b390015a53b76f87bdaf68aae
https://github.com/llvm/llvm-project/commit/574dbe3e9cdaf94b390015a53b76f87bdaf68aae
Author: Christopher Di Bella <cjdb at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Log Message:
-----------
suppresses unused variable warning (#99526)
Commit: 74e51e3efe1d4c79c1b7914c3ead19832e8cc1fb
https://github.com/llvm/llvm-project/commit/74e51e3efe1d4c79c1b7914c3ead19832e8cc1fb
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/revec-fix-99411.ll
R llvm/test/Transforms/SLPVectorizer/revec-fix-99411.ll
Log Message:
-----------
Move the test to the correct folder. A test specified for a target
should remain in its designated folder.
Commit: 13a8f8d51962b59949496c460ea0b8ad22ae908a
https://github.com/llvm/llvm-project/commit/13a8f8d51962b59949496c460ea0b8ad22ae908a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
Log Message:
-----------
[InferAttrs] Set attributes for `remainder` (#99521)
Fixes one of the issues in
https://github.com/llvm/llvm-project/issues/99497.
Commit: 1c55586e9a475a09b7d769e7fc9a254e7150c972
https://github.com/llvm/llvm-project/commit/1c55586e9a475a09b7d769e7fc9a254e7150c972
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/Lex/Preprocessor.cpp
Log Message:
-----------
[clang] Fix typo in comments
Commit: ce8c43fe274f3f090cad2342af6032176efb846f
https://github.com/llvm/llvm-project/commit/ce8c43fe274f3f090cad2342af6032176efb846f
Author: Lei Wang <wlei at fb.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
Fix assertion of null pointer samples in inline replay mode (#99378)
Fix https://github.com/llvm/llvm-project/issues/97108. In inline replay
mode, `CalleeSamples` may be null and the order doesn't matter.
Commit: b2dcf62c514d3c9c143c85bd029d22098b92c38d
https://github.com/llvm/llvm-project/commit/b2dcf62c514d3c9c143c85bd029d22098b92c38d
Author: Meredith Julian <35236176+mjulian31 at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/i1-ext-load.ll
A llvm/test/CodeGen/NVPTX/i1-load-lower.ll
Log Message:
-----------
[NVPTX] fix emission for i1 load and extload (#99392)
Currently, an illegal 2-byte load from a 1-byte global variable is being
generated. This change instead generates a 1-byte load and zero-extends
it to i16 register. This was always the intended behavior of the
function.
In addition, an i1 ext load of any kind needs to be promoted. A missing
setLoadExtAction for ISD::EXTLOAD was causing an "Unhandled source type"
unreachable due to an illegal i1 ext load during ISelDAGtoDAG (see below
bug).
Bug https://github.com/llvm/llvm-project/issues/98033.
Commit: 04bcd74df73af6fed16bfd0d6784fc0aec582bc0
https://github.com/llvm/llvm-project/commit/04bcd74df73af6fed16bfd0d6784fc0aec582bc0
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
R a-abfdec1d.o.tmp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/Driver/ftime-trace-sections.cpp
M clang/test/Driver/ftime-trace.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
Log Message:
-----------
Revert "Add source file name for template instantiations in -ftime-trace" (#99534)
Reverts llvm/llvm-project#98320
Breaks windows tests:
```
Step 8 (test-build-unified-tree-check-clang-unit) failure: test (failure)
******************** TEST 'Clang-Unit :: Support/./ClangSupportTests.exe/1/3' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\tools\clang\unittests\Support\.\ClangSupportTests.exe-Clang-Unit-4296-1-3.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=3 GTEST_SHARD_INDEX=1 C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\tools\clang\unittests\Support\.\ClangSupportTests.exe
--
Script:
--
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\build\tools\clang\unittests\Support\.\ClangSupportTests.exe --gtest_filter=TimeProfilerTest.TemplateInstantiations
--
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\clang\unittests\Support\TimeProfilerTest.cpp(278): error: Expected equality of these values:
R"(
Frontend
| ParseFunctionDefinition (fooB)
| ParseFunctionDefinition (fooMTA)
| ParseFunctionDefinition (fooA)
| ParseDeclarationOrFunctionDefinition (test.cc:3:5)
| | ParseFunctionDefinition (user)
| PerformPendingInstantiations
| | InstantiateFunction (fooA<int>, ./a.h:7)
| | | InstantiateFunction (fooB<int>, ./b.h:3)
| | | InstantiateFunction (fooMTA<int>, ./a.h:4)
)"
Which is: "\nFrontend\n| ParseFunctionDefinition (fooB)\n| ParseFunctionDefinition (fooMTA)\n| ParseFunctionDefinition (fooA)\n| ParseDeclarationOrFunctionDefinition (test.cc:3:5)\n| | ParseFunctionDefinition (user)\n| PerformPendingInstantiations\n| | InstantiateFunction (fooA<int>, ./a.h:7)\n| | | InstantiateFunction (fooB<int>, ./b.h:3)\n| | | InstantiateFunction (fooMTA<int>, ./a.h:4)\n"
buildTraceGraph(Json)
Which is: "\nFrontend\n| ParseFunctionDefinition (fooB)\n| ParseFunctionDefinition (fooMTA)\n| ParseFunctionDefinition (fooA)\n| ParseDeclarationOrFunctionDefinition (test.cc:3:5)\n| | ParseFunctionDefinition (user)\n| PerformPendingInstantiations\n| | InstantiateFunction (fooA<int>, .\\a.h:7)\n| | | InstantiateFunction (fooB<int>, .\\b.h:3)\n| | | InstantiateFunction (fooMTA<int>, .\\a.h:4)\n"
With diff:
@@ -7,5 +7,5 @@
| | ParseFunctionDefinition (user)
| PerformPendingInstantiations
-| | InstantiateFunction (fooA<int>, ./a.h:7)
-| | | InstantiateFunction (fooB<int>, ./b.h:3)
-| | | InstantiateFunction (fooMTA<int>, ./a.h:4)\n
+| | InstantiateFunction (fooA<int>, .\\a.h:7)
+| | | InstantiateFunction (fooB<int>, .\\b.h:3)
+| | | InstantiateFunction (fooMTA<int>, .\\a.h:4)\n
C:\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\clang\unittests\Support\TimeProfilerTest.cpp:278
Expected equality of these values:
R"(
Frontend
| ParseFunctionDefinition (fooB)
| ParseFunctionDefinition (fooMTA)
| ParseFunctionDefinition (fooA)
| ParseDeclarationOrFunctionDefinition (test.cc:3:5)
| | ParseFunctionDefinition (user)
| PerformPendingInstantiations
| | InstantiateFunction (fooA<int>, ./a.h:7)
```
Commit: 9fb049c8c6a77026fa75a8d36b386a7f5a60613a
https://github.com/llvm/llvm-project/commit/9fb049c8c6a77026fa75a8d36b386a7f5a60613a
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
M libc/src/__support/FPUtil/generic/CMakeLists.txt
A libc/src/__support/FPUtil/generic/mul.h
M libc/src/math/CMakeLists.txt
A libc/src/math/dmulf128.h
A libc/src/math/dmull.h
A libc/src/math/f16mul.h
A libc/src/math/f16mulf.h
A libc/src/math/f16mulf128.h
A libc/src/math/f16mull.h
A libc/src/math/fmulf128.h
A libc/src/math/fmull.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/dmulf128.cpp
A libc/src/math/generic/dmull.cpp
A libc/src/math/generic/f16mul.cpp
A libc/src/math/generic/f16mulf.cpp
A libc/src/math/generic/f16mulf128.cpp
A libc/src/math/generic/f16mull.cpp
M libc/src/math/generic/fmul.cpp
A libc/src/math/generic/fmulf128.cpp
A libc/src/math/generic/fmull.cpp
M libc/test/src/math/CMakeLists.txt
R libc/test/src/math/FMulTest.h
A libc/test/src/math/MulTest.h
A libc/test/src/math/dmull_test.cpp
A libc/test/src/math/f16mul_test.cpp
A libc/test/src/math/f16mulf_test.cpp
A libc/test/src/math/f16mull_test.cpp
M libc/test/src/math/fmul_test.cpp
A libc/test/src/math/fmull_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
R libc/test/src/math/smoke/FMulTest.h
A libc/test/src/math/smoke/MulTest.h
A libc/test/src/math/smoke/dmulf128_test.cpp
A libc/test/src/math/smoke/dmull_test.cpp
A libc/test/src/math/smoke/f16mul_test.cpp
A libc/test/src/math/smoke/f16mulf128_test.cpp
A libc/test/src/math/smoke/f16mulf_test.cpp
A libc/test/src/math/smoke/f16mull_test.cpp
M libc/test/src/math/smoke/fmul_test.cpp
A libc/test/src/math/smoke/fmulf128_test.cpp
A libc/test/src/math/smoke/fmull_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc][math][c23] Add {f,d}mul{l,f128} and f16mul{,f,l,f128} C23 math functions (#98972)
Part of #93566.
Fixes #94833.
Commit: b37bdadbe784339e455915368a4893d3bd4a1193
https://github.com/llvm/llvm-project/commit/b37bdadbe784339e455915368a4893d3bd4a1193
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/newhdrgen/class_implementation/classes/function.py
M libc/newhdrgen/header.py
R libc/newhdrgen/tests/output/test_small.h
M libc/newhdrgen/tests/test_integration.py
Log Message:
-----------
[libc] newheadergen: adding h_def_file arg to test (#99397)
- spacing with _NOEXCEPT
Commit: 78e3bfc120c8a23e246f544a5e9fb122828a21a7
https://github.com/llvm/llvm-project/commit/78e3bfc120c8a23e246f544a5e9fb122828a21a7
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[LLDB][test] Drop OS/HOST_OS detection code from Makefile.rules (#99535)
Remove commands for OS/HOST_OS detection from Makefile.rules to simplify
it, since logic for these variables has been implemented in
`lldb/packages/Python/lldbsuite/test/lldbplatformutil.py`
(7021e44b2f0e11717c0d82456bad0fed4a0b48f9).
Commit: c5432d31cb339262451215f6cf9c356a514a1770
https://github.com/llvm/llvm-project/commit/c5432d31cb339262451215f6cf9c356a514a1770
Author: vporpo <vporpodas at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR][Tracker] Track eraseFromParent() (#99431)
This patch adds tracking support for Instruction::eraseFromParent(). The
Instruction is not actually being erased, but instead it is detached
from the instruction list and drops its Use edges. The original
instruction position and Use edges are saved in the `EraseFromParent`
change object, and are being used during `revert()` to restore the
original state.
Commit: 507c18b445ef88d985d95181db8107f669aed998
https://github.com/llvm/llvm-project/commit/507c18b445ef88d985d95181db8107f669aed998
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
Log Message:
-----------
[clang-tidy] Few tiny fixes after #99084
Update documentation, and correct configuration
Commit: 5431a31f87387763cca8d014e7c07394bab7a1ad
https://github.com/llvm/llvm-project/commit/5431a31f87387763cca8d014e7c07394bab7a1ad
Author: Rafael Stahl <dummdoof-doof at web.de>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix gsl::not_null template parameter (#99472)
`T` is expected to be a pointer type.
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-nullptr
Commit: 280d90d0fdb2734af6c071064c6f87a8fe8d06d0
https://github.com/llvm/llvm-project/commit/280d90d0fdb2734af6c071064c6f87a8fe8d06d0
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
Log Message:
-----------
AMDGPU: Add back half and bfloat support for global_load_tr16 pats (#99540)
half and bfloat are common types for 16-bit elements. The support of
them was original there and dropped due to some reasons. This work adds
the support of the float types back.
Commit: 9527d77aefcf214944a4c8bd284dde3ffe9dff60
https://github.com/llvm/llvm-project/commit/9527d77aefcf214944a4c8bd284dde3ffe9dff60
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
Log Message:
-----------
[mlir][spirv] Restructure code in `SPIRVConversion.cpp`. NFC. (#99393)
Commit: f6f88f4b99638821af803d1911ab6a7dac04880b
https://github.com/llvm/llvm-project/commit/f6f88f4b99638821af803d1911ab6a7dac04880b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
[LLVM] Silence compiler-rt warning in runtimes build (#99525)
Summary:
The `compiler-rt` project wants `LLVM_CMAKE_DIR` but the
`llvm_ExternalProject_add` interface sets the `LLVM_CONFIG_PATH`. This
patch just makes the utility pass that as well.
Commit: 5e8cd29d62a72ed18e7bc782554d7f14eccec0ee
https://github.com/llvm/llvm-project/commit/5e8cd29d62a72ed18e7bc782554d7f14eccec0ee
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/RISCV/vecreduce-of-cast.ll
Log Message:
-----------
[RISCV] Add coverage for vector combine reduce(cast x) transformation
This covers both the existing trunc transform - basically checking
that it performs sanely with the RISCV cost model - and a planned
change to handle sext/zext as well.
Commit: eed72d4381261bfe1acb693fb8751c05765c4831
https://github.com/llvm/llvm-project/commit/eed72d4381261bfe1acb693fb8751c05765c4831
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
Log Message:
-----------
[mlir][ArmSME] Support filling liveness 'holes' in the tile allocator (#98350)
Holes in a live range are points where the corresponding value does not
need to be in a tile/register. If the tile allocator keeps track of
these holes it can reuse tiles for more values (avoiding spills).
Take this simple example:
```mlir
func.func @example(%cond: i1) {
%tileA = arm_sme.get_tile : vector<[4]x[4]xf32>
cf.cond_br %cond, ^bb2, ^bb1
^bb1:
// If we end up here we never use %tileA again!
"test.some_use"(%tileB) : (vector<[4]x[4]xf32>) -> ()
cf.br ^bb3
^bb2:
"test.some_use"(%tileA) : (vector<[4]x[4]xf32>) -> ()
cf.br ^bb3
^bb3:
return
}
```
If you were to calculate the liveness of %tileA and %tileB. You'd see
there is a hole in the liveness of %tileA in bb1:
```
%tileA %tileB
^bb0: Live
^bb1: Live
^bb2: Live
```
The tile allocator can make use of that hole and reuse the tile ID it
assigned to %tileA for %tileB.
Commit: e2c3cd7f3d0cd40bd8506ab305573d61a1ae25d9
https://github.com/llvm/llvm-project/commit/e2c3cd7f3d0cd40bd8506ab305573d61a1ae25d9
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
AMDGPU: Loop over the types for global_load_tr16 pats (NFC) (#99551)
Commit: 82cca0c77e935b4972c31745d94edef616970b6c
https://github.com/llvm/llvm-project/commit/82cca0c77e935b4972c31745d94edef616970b6c
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/byval-size-limit.ll
M llvm/test/Verifier/param-align.ll
M llvm/test/Verifier/param-attr-align.ll
M llvm/test/Verifier/param-ret-align.ll
Log Message:
-----------
[IR] Unify max alignment for arguments with generic max align. (#99257)
The 2^14 limit was completely arbitrary; the generic limit is still
arbitrary, but at least it's the same arbitrary limit as everything
else.
While I'm here, also add a verifier check for the ByValOrByRefSize.
Commit: 892c58cf7490c219ff8fc4dc0d2497e062a9c665
https://github.com/llvm/llvm-project/commit/892c58cf7490c219ff8fc4dc0d2497e062a9c665
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-load-error.cl
Log Message:
-----------
[Clang][AMDGPU] Add builtins for instrinsic `llvm.amdgcn.raw.ptr.buffer.load` (#99258)
Commit: 52d947b5c14173b0aee96e419a04a49f83e5a283
https://github.com/llvm/llvm-project/commit/52d947b5c14173b0aee96e419a04a49f83e5a283
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unnecessary variable from InnerLoopVectorizer::createBitOrPointerCast. NFC
DstVTy is already a VectorType, we don't need to cast it again. This
used to be a cast to FixedVectorType that was changed to support
scalable vectors.
Commit: eb7d54a84bd6b8f85ceb94d96d09b50b494a3f9c
https://github.com/llvm/llvm-project/commit/eb7d54a84bd6b8f85ceb94d96d09b50b494a3f9c
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_origins.ll
Log Message:
-----------
[msan] Precommit MSan Arm NEON vst tests with origin-tracking (#99555)
This adds an abridged copy of neon_vst.ll (from
https://github.com/llvm/llvm-project/commit/ff0821583eab1651ff126bbf4f881e6163b67435),
but with origin tracking enabled.
The test will be updated when MSan's Arm NEON support is improved (e.g.,
https://github.com/llvm/llvm-project/pull/99360).
Commit: a0662176a9b40462aafbb17cd8eb8cf6a65e940e
https://github.com/llvm/llvm-project/commit/a0662176a9b40462aafbb17cd8eb8cf6a65e940e
Author: Iuri Chaer <iuri.chaer at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/set_intersection.bench.cpp
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__algorithm/iterator_operations.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/types.h
M libcxx/test/std/ranges/range.adaptors/range.transform/types.h
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Speed up set_intersection() by fast-forwarding over ranges of non-matching elements with one-sided binary search. (#75230)
One-sided binary search, aka meta binary search, has been in the public
domain for decades, and has the general advantage of being constant time
in the best case, with the downside of executing at most 2*log(N)
comparisons vs classic binary search's exact log(N). There are two
scenarios in which it really shines: the first one is when operating
over non-random-access iterators, because the classic algorithm requires
knowing the container's size upfront, which adds N iterator increments
to the complexity. The second one is when traversing the container in
order, trying to fast-forward to the next value: in that case the
classic algorithm requires at least O(N*log(N)) comparisons and, for
non-random-access iterators, O(N^2) iterator increments, whereas the
one-sided version will yield O(N) operations on both counts, with a
best-case of O(log(N)) comparisons which is very common in practice.
Commit: b1fd6f0996a9d6e6ebfa0cc3df0fe499c5ccdf65
https://github.com/llvm/llvm-project/commit/b1fd6f0996a9d6e6ebfa0cc3df0fe499c5ccdf65
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] newheadergen: cmake config newhdrgen (#99543)
- revert to revert for patch
https://github.com/llvm/llvm-project/pull/98828
- revert to revert https://github.com/llvm/llvm-project/pull/99410
- revert to revert https://github.com/llvm/llvm-project/pull/99413
Commit: 05275b05ca58e4d015eea1503f120e6967ef1b91
https://github.com/llvm/llvm-project/commit/05275b05ca58e4d015eea1503f120e6967ef1b91
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
fixup! [clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)
Looks like sed on the ppc64-aix bot does not support the '\n' literal. Let's
try using `tr` to perform that substitution. Failing that, we can revert.
Commit: 5c9fc3cdd7acae4ede998f2983e6107f3c0ea36a
https://github.com/llvm/llvm-project/commit/5c9fc3cdd7acae4ede998f2983e6107f3c0ea36a
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/config/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/undefined_behavior.rst
M libc/spec/posix.td
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/pid.cpp
A libc/src/__support/OSUtil/pid.h
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/thread.h
A libc/src/__support/threads/tid.h
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/getpid.h
A libc/src/unistd/gettid.cpp
A libc/src/unistd/gettid.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/getpid.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/do_start.cpp
M libc/test/integration/src/unistd/CMakeLists.txt
M libc/test/integration/src/unistd/fork_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/gettid_test.cpp
Log Message:
-----------
[libc] implement cached process/thread identity (#98989)
migrated from https://github.com/llvm/llvm-project/pull/95965 due to
corrupted git history
Commit: 415ca24f8e392bca6f6295e667be2f02211fc303
https://github.com/llvm/llvm-project/commit/415ca24f8e392bca6f6295e667be2f02211fc303
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/config/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/undefined_behavior.rst
M libc/spec/posix.td
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
R libc/src/__support/OSUtil/linux/pid.cpp
R libc/src/__support/OSUtil/pid.h
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/thread.h
R libc/src/__support/threads/tid.h
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/getpid.h
R libc/src/unistd/gettid.cpp
R libc/src/unistd/gettid.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/getpid.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/do_start.cpp
M libc/test/integration/src/unistd/CMakeLists.txt
M libc/test/integration/src/unistd/fork_test.cpp
M libc/test/src/unistd/CMakeLists.txt
R libc/test/src/unistd/gettid_test.cpp
Log Message:
-----------
Revert "[libc] implement cached process/thread identity" (#99559)
Reverts llvm/llvm-project#98989
Commit: af5352fe8e66e71ae381498745c0e52ca56478c6
https://github.com/llvm/llvm-project/commit/af5352fe8e66e71ae381498745c0e52ca56478c6
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-store-error.cl
Log Message:
-----------
[Clang][AMDGPU] Use unsigned data type for `__builtin_amdgcn_raw_buffer_store_*` (#99546)
Commit: 4272847546225bcf2e83e09e3a620bf286c058fd
https://github.com/llvm/llvm-project/commit/4272847546225bcf2e83e09e3a620bf286c058fd
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][deps] Don't treat ObjC method args as module directives (#97654)
`import:(type)name` is a method argument decl in ObjC, but the C++20
preprocessing rules say this is a preprocessing line.
Because the dependency directive scanner is not language dependent, this
patch extends the C++20 rule to exclude `module :` (which is never a
valid module decl anyway), and `import :` that is not followed by an
identifier.
This is ok to do because in C++20 mode the compiler will later error on
lines like this anyway, and the dependencies the scanner returns are
still correct.
Commit: 06518cea3905556d8d1eea4088132ebb234bfdab
https://github.com/llvm/llvm-project/commit/06518cea3905556d8d1eea4088132ebb234bfdab
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
Revert "[clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)"
This reverts commit c0c4ad5d9a6e05e0b1f5f98ce2e08d479b281be8.
And the fixup broke another bot. Darn.
https://lab.llvm.org/buildbot/#/builders/46/builds/1896
Commit: 719b2ac42e42807c9282052718cbc91e0cac930c
https://github.com/llvm/llvm-project/commit/719b2ac42e42807c9282052718cbc91e0cac930c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/cmake/caches/Apple.cmake
A libcxx/test/configs/apple-libc++-shared.cfg.in
M libcxx/utils/ci/apple-install-libcxx.sh
A libcxxabi/src/vendor/apple/shims.cpp
A libcxxabi/test/configs/apple-libc++abi-shared.cfg.in
Log Message:
-----------
[libc++] Allow testing Apple's system library as it is installed (#99086)
In order to test libc++ under the "Apple System Library" configuration,
we need to run the tests using DYLD_LIBRARY_PATH. This is required
because libc++ gets an install_name of /usr/lib when built as a system
library, which means that we must override the copy of libc++ used by
the whole process. This effectively reverts 2cf2f1b, which was the wrong
solution for the problem I was having.
Of course, this assumes that the just-built libc++ is sufficient to
replace the system library, which is not actually the case
out-of-the-box. Indeed, the system library contains a few symbols that
are not provided by the upstream library, leading to undefined symbols
when replacing the system library by the just-built one.
To solve this problem, we separately build shims that provide those
missing symbols and we manually link against them when we build
executables in the tests. While this is somewhat brittle, it provides a
localized and unintrusive way to allow testing the Apple system
configuration in an upstream environment, which has been a frequent
request.
Commit: 50b5bb717ca5d2ec78587551bc90a8ddd0cc8983
https://github.com/llvm/llvm-project/commit/50b5bb717ca5d2ec78587551bc90a8ddd0cc8983
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libcxx/utils/ci/apple-install-libcxx.sh
Log Message:
-----------
[libc++] Add comment about matching standard version in apple-install-libcxx
This was forgotten when I landed #99086
Commit: 4f786c6823956f72ef0b9eee57bf0c462842b609
https://github.com/llvm/llvm-project/commit/4f786c6823956f72ef0b9eee57bf0c462842b609
Author: vporpo <vporpodas at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR][Tracker] Track Instruction::removeFromParent() (#99541)
This patch adds the necessary functionality to the Tracker and to the
Sandbox IR API functions for tracking calls to removeFromParent().
Commit: ded35c0c3ad371287e80872d6bd104ce3f7d2864
https://github.com/llvm/llvm-project/commit/ded35c0c3ad371287e80872d6bd104ce3f7d2864
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/RISCV/vecreduce-of-cast.ll
Log Message:
-----------
[vectorcombine] Pull sext/zext through reduce.or/and/xor (#99548)
This extends the existing foldTruncFromReductions transform to handle
sext and zext as well. This is only legal for the bitwise reductions
(and/or/xor) and not the arithmetic ones (add, mul). Use the same
costing decision to drive whether we do the transform.
Commit: 19c9a1c2fd2c3849439bca2ba5084dada4d1f47f
https://github.com/llvm/llvm-project/commit/19c9a1c2fd2c3849439bca2ba5084dada4d1f47f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Include IndirectUnsafe in ::isPossiblyBackward.
Similarly to Unknown, IndirectUnsafe should also be considered possibly
backward, as it may be a backwards dependency e.g. via loading
different base pointers.
This also brings isPossiblyBackward in line with
Dependence::isSafeForVectorization. At the moment this can't be tested,
as it is not possible to write a test with an AddRec that is based on a
loop varying value. But this may change in the future and may cause
mis-compiles in the future.
Commit: 2ec1a39bcb1ab893f4b6cde7fc9e24cfdff0aeb6
https://github.com/llvm/llvm-project/commit/2ec1a39bcb1ab893f4b6cde7fc9e24cfdff0aeb6
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/directive-contin-with-pp.F90
Log Message:
-----------
[flang][preprocessor] Handle initial "MACRO&" with no space (#98684)
The prescanner checks lines that begin with a keyword macro name to see
whether they should be treated as a comment or compiler directive
instead of a source line. This fails when the potential keyword macro
name is extended with identifier characters via Fortran line
continuation. Disable line continuation during this check.
Commit: f61c9a9485cc359cdd0262e66840e095dbc246c2
https://github.com/llvm/llvm-project/commit/f61c9a9485cc359cdd0262e66840e095dbc246c2
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc][CMake] Set library type of libcMPFRWrapper to STATIC (#99527)
Fixes linker errors due to hidden symbols when running CMake with
-DBUILD_SHARED_LIBS=ON.
Commit: 4afdcd98c5e28e0b353b21bf01c5cd3568878e41
https://github.com/llvm/llvm-project/commit/4afdcd98c5e28e0b353b21bf01c5cd3568878e41
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
Log Message:
-----------
[AArch64,test] Remove over reliance on section offsets and symbol indexes
Commit: 99faa038c66872f6507dfe1d5aa470ba13e58614
https://github.com/llvm/llvm-project/commit/99faa038c66872f6507dfe1d5aa470ba13e58614
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp:621:16: error:
unused variable 'removed' [-Werror,-Wunused-variable]
Commit: 6c6baf019a25710cdc3c3971b09cd6332d0379c0
https://github.com/llvm/llvm-project/commit/6c6baf019a25710cdc3c3971b09cd6332d0379c0
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
Revert "[clang][test] Split AArch64 target feature checks across multiple lines. NFC (#99365)"
This reverts commit 06518cea3905556d8d1eea4088132ebb234bfdab.
This reverts commit 05275b05ca58e4d015eea1503f120e6967ef1b91.
This reverts commit c0c4ad5d9a6e05e0b1f5f98ce2e08d479b281be8.
Commit: 05bce3f079b677edd0efd28e3923f4776ffb8b59
https://github.com/llvm/llvm-project/commit/05bce3f079b677edd0efd28e3923f4776ffb8b59
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
[mlir][ArmSME] Suppress potential unused warning (#99573)
When building in release mode, the assert will be dropped, making
`remove` unused.
Commit: a41a4b8feda789529e4e927d9d6a04b7be8e9664
https://github.com/llvm/llvm-project/commit/a41a4b8feda789529e4e927d9d6a04b7be8e9664
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
Revert "[mlir][ArmSME] Suppress potential unused warning (#99573)" (#99578)
This reverts commit 05bce3f079b677edd0efd28e3923f4776ffb8b59.
The work was already done in 99faa03.
Commit: 8be714b6724f1f2f57442f2cdd3a0625c053d872
https://github.com/llvm/llvm-project/commit/8be714b6724f1f2f57442f2cdd3a0625c053d872
Author: Ilya Leoshkevich <iii at linux.ibm.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Log Message:
-----------
[sanitizer] Fix running sanitizer_set_report_path_test on Android (#99469)
sanitizer_set_report_path_test outputs the following on an Android
builder [1]:
ERROR: Can't create directory:
/data/local/tmp/Output/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/compiler_rt_build_android_arm/test/sanitizer_common/asan-arm-Android/Posix/Output/sanitizer_set_report_path_test.cpp.tmp
Path
/data/local/tmp/Output/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/compiler_rt_build_android_arm/test/sanitizer_common/asan-arm-Android/Posix/Output/sanitizer_set_report_path_test.cpp.tmp.report_path/report.24954
The order of messages is reversed.
The test can use strcmp+assert instead of CHECK for `__sanitizer_get_report_path` output.
[1]
https://lab.llvm.org/buildbot/#/builders/186/builds/703/steps/26/logs/stdio
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 1f6f97e2b64a9c4c51712d32b53e07d2a20e0cc0
https://github.com/llvm/llvm-project/commit/1f6f97e2b64a9c4c51712d32b53e07d2a20e0cc0
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang] Loop over FieldDecls instead of all Decls (#99574)
Only FieldDecls are important when determining GEP indices. A struct
defined within another struct has the same semantics as if it were
defined outside of the struct. So there's no need to look into
RecordDecls that aren't a field.
See commit 5bcf31ebfad8 ("[Clang] Loop over FieldDecls instead of all
Decls (#89453)")
Fixes 2039.
Commit: f1a8db1a1f93a7e921e10c362a659712a4be2a33
https://github.com/llvm/llvm-project/commit/f1a8db1a1f93a7e921e10c362a659712a4be2a33
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/include/CMakeLists.txt
R libc/newhdrgen/yaml/arpa/arpa_inet.yaml
A libc/newhdrgen/yaml/arpa/inet.yaml
R libc/newhdrgen/yaml/gpu/gpu_rpc.yaml
A libc/newhdrgen/yaml/gpu/rpc.yaml
A libc/newhdrgen/yaml/sys/auxv.yaml
A libc/newhdrgen/yaml/sys/epoll.yaml
A libc/newhdrgen/yaml/sys/ioctl.yaml
A libc/newhdrgen/yaml/sys/mman.yaml
A libc/newhdrgen/yaml/sys/prctl.yaml
A libc/newhdrgen/yaml/sys/random.yaml
A libc/newhdrgen/yaml/sys/resource.yaml
A libc/newhdrgen/yaml/sys/select.yaml
A libc/newhdrgen/yaml/sys/sendfile.yaml
A libc/newhdrgen/yaml/sys/socket.yaml
A libc/newhdrgen/yaml/sys/stat.yaml
A libc/newhdrgen/yaml/sys/statvfs.yaml
R libc/newhdrgen/yaml/sys/sys_auxv.yaml
R libc/newhdrgen/yaml/sys/sys_epoll.yaml
R libc/newhdrgen/yaml/sys/sys_ioctl.yaml
R libc/newhdrgen/yaml/sys/sys_mman.yaml
R libc/newhdrgen/yaml/sys/sys_prctl.yaml
R libc/newhdrgen/yaml/sys/sys_random.yaml
R libc/newhdrgen/yaml/sys/sys_resource.yaml
R libc/newhdrgen/yaml/sys/sys_select.yaml
R libc/newhdrgen/yaml/sys/sys_sendfile.yaml
R libc/newhdrgen/yaml/sys/sys_socket.yaml
R libc/newhdrgen/yaml/sys/sys_stat.yaml
R libc/newhdrgen/yaml/sys/sys_statvfs.yaml
R libc/newhdrgen/yaml/sys/sys_syscall.yaml
R libc/newhdrgen/yaml/sys/sys_time.yaml
R libc/newhdrgen/yaml/sys/sys_types.yaml
R libc/newhdrgen/yaml/sys/sys_utsname.yaml
R libc/newhdrgen/yaml/sys/sys_wait.yaml
A libc/newhdrgen/yaml/sys/syscall.yaml
A libc/newhdrgen/yaml/sys/time.yaml
A libc/newhdrgen/yaml/sys/types.yaml
A libc/newhdrgen/yaml/sys/utsname.yaml
A libc/newhdrgen/yaml/sys/wait.yaml
Log Message:
-----------
[libc][newhdrgen] Remove redundant yaml prefixes (#99581)
Since the yaml files are already organized into folders, the name of the
file doesn't also need to be prefixed by what folder it's in.
Commit: 202785708ed0ff11770f8ae8603514d2c9a54bd9
https://github.com/llvm/llvm-project/commit/202785708ed0ff11770f8ae8603514d2c9a54bd9
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/runtime/unit.cpp
Log Message:
-----------
[flang][runtime] Clear leftTabLimit at in FinishReadingRecord (#98822)
ExternalFileUnit::FinishReadingRecord() is called at the end of a READ
statement, unless the read is non-advancing and there was no error. In
the event of an erroneous non-advancing read, however,
FinishReadingRecord() leaves ConnectionState::leftTabLimit inhabited by
a value, leaving the impression that the *next* record is undergoing a
non-advancing operation, and this cause the next operation to fail. In
the test case in the reported bug, the next operation is a BACKSPACE,
and it ends up doing nothing. The fix is to always reset leftTabLimit in
FinishReadingRecord.
Fixes https://github.com/llvm/llvm-project/issues/98783.
Commit: ef94732b4fa0512a3a635766b872c1574a1aade4
https://github.com/llvm/llvm-project/commit/ef94732b4fa0512a3a635766b872c1574a1aade4
Author: Connie <60797237+connieyzhu at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/utils/lit/lit/builtin_commands/cat.py
Log Message:
-----------
[llvm-lit] Resolve TypeError in built-in cat -v implementation (#98363)
When using -v in lit's internal implementation of cat, there is a
TypeError when the file data is passed into convertToCaretAndMNotation()
as a str, because bytearray() requires an encoded string. This patch
encodes the str before passing it through bytearray().
Commit: 6c09a9bf6c6247299b53833602e6bb312dfda555
https://github.com/llvm/llvm-project/commit/6c09a9bf6c6247299b53833602e6bb312dfda555
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/array-constr-values.f90
M flang/test/Semantics/assign10.f90
Log Message:
-----------
[flang] Check assignment conformance for derived types (#99059)
Derived type assignment checking needs to account for the possibility of
derived assignment. The implementation was checking compile-time
conformance errors only on the path for assignments of intrinsic types.
Add a static array conformance check in the derived type flow once it
has been established that no defined assignment exists.
Fixes https://github.com/llvm/llvm-project/issues/98981.
Commit: 0004ca670a960d3573137679b3c67a7b3932530a
https://github.com/llvm/llvm-project/commit/0004ca670a960d3573137679b3c67a7b3932530a
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/headers.txt
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml/sys/statvfs.yaml
M libc/src/sys/statvfs/linux/CMakeLists.txt
Log Message:
-----------
[libc] Removed __LIBC_CONST_ATTR attribute and updated math.yaml with the new math functions (#99571)
- deleted attribute from fabs function
- added math functions from #98972
- also updated statvfs files so that it can be generated
Commit: 40ed6ba016ea59106e18e610cc17df43e0192ee4
https://github.com/llvm/llvm-project/commit/40ed6ba016ea59106e18e610cc17df43e0192ee4
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/docs/Extensions.md
A flang/test/Semantics/parent-comp-name.f90
Log Message:
-----------
[flang][NFC] Document an intentional violation of the standard (#99073)
The Fortran standard committees passed an "interp" request at their June
2024 meetings that is distinct from nearly every other Fortran compiler
that I tried (6) in an an ambiguous case (parent component naming when
the base type has been renamed via USE association). Document this case
in flang/docs/Extensions.md as an intentional instance of
non-conformance chosen for portability and better usability.
Commit: adacb5010f5ca6e923b3cf2d8ea47cbaab96099d
https://github.com/llvm/llvm-project/commit/adacb5010f5ca6e923b3cf2d8ea47cbaab96099d
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
Log Message:
-----------
[libc] Restore DECLS_FILE_PATH property (#99583)
The DECLS_FILE_PATH property is supposed to be set on the targets for
the generated headers for the GPU build installation. It got missed when
creating the cmake rule for new headergen.
Commit: c675a9be63b67682477e5cbdc01c450f66bbc59a
https://github.com/llvm/llvm-project/commit/c675a9be63b67682477e5cbdc01c450f66bbc59a
Author: pcc <peter at pcc.me.uk>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/Object/ArchiveWriter.h
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/test/Object/archive-malformed-object.test
Log Message:
-----------
Object: Don't error out on malformed bitcode files.
An error reading a bitcode file most likely indicates that the file
was created by a compiler from the future. Normally we don't try to
implement forwards compatibility for bitcode files, but when creating
an archive we can implement best-effort forwards compatibility by
treating the file as a blob and not creating symbol index entries for
it. lld and mold ignore the archive symbol index, so provided that
you use one of these linkers, LTO will work as long as lld or the
gold plugin is newer than the compiler. We only ignore errors if the
archive format is one that is supported by a linker that is known to
ignore the index, otherwise there's no chance of this working so we
may as well error out. We print a warning on read failure so that
users of linkers that rely on the symbol index can diagnose the issue.
This is the same behavior as GNU ar when the linker plugin returns
an error when reading the input file. If the bitcode file is actually
malformed, it will be diagnosed at link time.
Reviewers: MaskRay, dwblaikie, jh7370
Reviewed By: MaskRay, dwblaikie, jh7370
Pull Request: https://github.com/llvm/llvm-project/pull/96848
Commit: 433e09cf257526a24afc98326bd60fbf09923359
https://github.com/llvm/llvm-project/commit/433e09cf257526a24afc98326bd60fbf09923359
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add filegroups for MLIR bindings sources (#98396)
This can be useful if downstream projects configure their pybind
differently, similar to how local_config_python isn't defined here.
Commit: e73d51d3c8ea61fa34658f22147e65f95411eca2
https://github.com/llvm/llvm-project/commit/e73d51d3c8ea61fa34658f22147e65f95411eca2
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Semantics/definable.cpp
A flang/test/Semantics/associate03.f90
Log Message:
-----------
[flang] ASSOCIATE/SELECT TYPE entities aren't pointer/allocatable (#99364)
Fix what seems to be a regression in semantics in definability checking:
the construct entities of ASSOCIATE and SELECT TYPE constructs are never
pointers or allocatables, even when their selectors are so. SELECT RANK
construct entities, however, can be pointers or allocatables.
Commit: 043aca3990e3d47a25777f83569260aa4d822ae5
https://github.com/llvm/llvm-project/commit/043aca3990e3d47a25777f83569260aa4d822ae5
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
R libc/newhdrgen/class_implementation/classes/include.py
M libc/newhdrgen/gpu_headers.py
M libc/newhdrgen/header.py
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] newhdrgen: removed Include class (#99584)
Include class is not used (includes are made through Macro class, Type
class, and imports from .h.def files).
Commit: 0684db30a1e3226a0bfe4c5d839d1355a66ea4ba
https://github.com/llvm/llvm-project/commit/0684db30a1e3226a0bfe4c5d839d1355a66ea4ba
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M flang/lib/Parser/Fortran-parsers.cpp
A flang/test/Semantics/struct03.f90
Log Message:
-----------
[flang] A nested STRUCTURE must declare entities (#99379)
When a DEC legacy STRUCTURE definition appears within another, its
STRUCTURE statement must also declare some components of the enclosing
structure.
Fixes https://github.com/llvm/llvm-project/issues/99288.
Commit: bda1893a62b2081780fe1c000d6447b73d42aa2c
https://github.com/llvm/llvm-project/commit/bda1893a62b2081780fe1c000d6447b73d42aa2c
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_i386.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_x86_64.cpp
Log Message:
-----------
[compiler-rt] Add `DumpAllRegisters` impl (#99049)
- Add implementation for x86_64 and linux
- Add test
The output is like
==XXYYZZ==Register values:
rax = 0x... rbx = 0x... rcx = 0x... rdx = 0x...
rdi = 0x... rsi = 0x... rbp = 0x... rsp = 0x...
r8 = 0x... r9 = 0x... r10 = 0x... r11 = 0x...
r12 = 0x... r13 = 0x... r14 = 0x... r15 = 0x...
Commit: 996d31c7ba841fdc3bd375f3fed4d8324618425b
https://github.com/llvm/llvm-project/commit/996d31c7ba841fdc3bd375f3fed4d8324618425b
Author: Sam James <sam at gentoo.org>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Fix goo.gl link in comment for Valgrind paper
goo.gl is going away: https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/
Fix goo.gl link from:
- http://goo.gl/QKbem
+ https://static.usenix.org/event/usenix05/tech/general/full_papers/seward/seward_html/usenix2005.html
and reflow the comment a bit to make it look a bit better after the URL change,
although it's not perfect now.
Committed as obvious.
Bug: https://github.com/llvm/llvm-project/issues/99586
Commit: 4120570dc408a6ccc7133b4bdbaf5cf6c4af9db7
https://github.com/llvm/llvm-project/commit/4120570dc408a6ccc7133b4bdbaf5cf6c4af9db7
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M lldb/bindings/headers.swig
A lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
M lldb/bindings/interfaces.swig
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBFileSpec.h
M lldb/include/lldb/API/SBProcess.h
A lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Core/PluginManager.h
A lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBProcess.cpp
A lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.h
M lldb/source/Symbol/CMakeLists.txt
A lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
A lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
Log Message:
-----------
[LLDB][SaveCore] Add SBSaveCoreOptions Object, and SBProcess::SaveCore() overload (#98403)
This PR adds `SBSaveCoreOptions`, which is a container class for options
when LLDB is taking coredumps. For this first iteration this container
just keeps parity with the extant API of `file, style, plugin`. In the
future this options object can be extended to allow users to take a
subset of their core dumps.
Commit: 9e4c236650ac8220c4121ceb335de7df6ec4cb36
https://github.com/llvm/llvm-project/commit/9e4c236650ac8220c4121ceb335de7df6ec4cb36
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
Log Message:
-----------
[gn build] Port 4120570dc408
Commit: 71ab0dc6f02b7fd07de272dfcd67ccdb2399ab4f
https://github.com/llvm/llvm-project/commit/71ab0dc6f02b7fd07de272dfcd67ccdb2399ab4f
Author: Sam James <sam at gentoo.org>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/docs/CompileCudaWithLLVM.rst
Log Message:
-----------
[docs] Fix goo.gl link in comment for 'Straight-line scalar optimizations' paper
goo.gl is going away: https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/
Fix goo.gl link from:
- https://goo.gl/4Rb9As
+ https://docs.google.com/document/d/1momWzKFf4D6h8H3YlfgKQ3qeZy5ayvMRh6yR-Xn2hUE
Committed as obvious.
Bug: https://github.com/llvm/llvm-project/issues/99586
Commit: 59441f29323c37c7d0b21bcdd3db96506d1b24d2
https://github.com/llvm/llvm-project/commit/59441f29323c37c7d0b21bcdd3db96506d1b24d2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_i386.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_x86_64.cpp
Log Message:
-----------
[sanitizer] Use strict-whitespace in tests
Commit: 914a00a9c94bf1a0b857abdc5a06857914cc46c7
https://github.com/llvm/llvm-project/commit/914a00a9c94bf1a0b857abdc5a06857914cc46c7
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
A utils/bazel/third_party_build/pybind.BUILD
Log Message:
-----------
[bazel] Add support for pybind (#98398)
Previously these targets were disabled, but with a relatively new
rules_python we can build these pointing at a hermetic python, which
allows us to build these safely. Users can still access the files
directly if they need to customize how these are built.
Commit: f304b883730785a204a5197dd407305b5b1dfaaa
https://github.com/llvm/llvm-project/commit/f304b883730785a204a5197dd407305b5b1dfaaa
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port #98403 (#99592)
Commit: c0725804e6bc0f1b418db096099897e7fb029a0e
https://github.com/llvm/llvm-project/commit/c0725804e6bc0f1b418db096099897e7fb029a0e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/unittests/ADT/SetOperationsTest.cpp
Log Message:
-----------
[ADT] Add unit tests for set_subtract (#99561)
This patch adds a couple of unit tests:
- SetSubtractSmallPtrSet exercises the code path involving remove_if,
added in d772cdd6279de1e578dfdfca7432327a1806c659. Note that
SmallPtrSet supports remove_if.
- SetSubtractSmallVector exercises the code path involving
S1.erase(*SI) and ensures that set_subtract continues to accept S2
being a vector, which does not have contains.
Commit: bf4347b3da31625ce1ae2dd4ffb5c557072e03c0
https://github.com/llvm/llvm-project/commit/bf4347b3da31625ce1ae2dd4ffb5c557072e03c0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
Log Message:
-----------
[sanitizer_common] Use %p to print addresses (#98578)
Pointers print more leading zeroes for better alignment.
Commit: 467f96951c44fc7851e296ad76228503a49d7675
https://github.com/llvm/llvm-project/commit/467f96951c44fc7851e296ad76228503a49d7675
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
Log Message:
-----------
[compiler-rt] Fix a warning
This patch fixes:
compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp:126:72:
error: format specifies type 'void *' but the argument has type
'uptr *' (aka 'unsigned long *') [-Werror,-Wformat-pedantic]
Commit: d4b28fb7516c5a5ecded4154c207288da1949a6b
https://github.com/llvm/llvm-project/commit/d4b28fb7516c5a5ecded4154c207288da1949a6b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/CMakeLists.txt
M compiler-rt/test/ctx_profile/CMakeLists.txt
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/gwp_asan/CMakeLists.txt
M compiler-rt/test/interception/CMakeLists.txt
M compiler-rt/test/memprof/CMakeLists.txt
M compiler-rt/test/msan/CMakeLists.txt
M compiler-rt/test/nsan/CMakeLists.txt
M compiler-rt/test/rtsan/CMakeLists.txt
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/scudo/standalone/CMakeLists.txt
M compiler-rt/test/tsan/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Cleanup use of COMPILER_RT_INCLUDE_TESTS (#98246)
1. Move checks into parent test/CMakeLists.txt
2. COMPILER_RT_INCLUDE_TESTS disable both lit and
gtests. Before it was very inconsistent between
sanitizers.
Commit: 98ebdd0ca9a72c072a1dbe1af2fa7f1adcbb09ae
https://github.com/llvm/llvm-project/commit/98ebdd0ca9a72c072a1dbe1af2fa7f1adcbb09ae
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[NFC][sanitizer] Fix `unused variable 'RegName'` warning
Commit: cbbd15323469a70bf7d5f1d6e1177bb7f531ea2d
https://github.com/llvm/llvm-project/commit/cbbd15323469a70bf7d5f1d6e1177bb7f531ea2d
Author: vporpo <vporpodas at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR][Tracker] Track Instruction::moveBefore() (#99568)
This implements tracking of moving instrs with `moveBefore()`.
Commit: 962d018234cb8c94e387fe3950cd030658850541
https://github.com/llvm/llvm-project/commit/962d018234cb8c94e387fe3950cd030658850541
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-linux.c
Log Message:
-----------
[clang] [hexagon] handle --unwindlib arg (#99552)
Signed-off-by: Brian Cain <bcain at quicinc.com>
Commit: e1d0913a85d4034e875cd93ab531c2001afe6620
https://github.com/llvm/llvm-project/commit/e1d0913a85d4034e875cd93ab531c2001afe6620
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M utils/bazel/WORKSPACE
Log Message:
-----------
[bazel] Replace git_repository with http_archive. (#99422)
The current git_repository usage points to tags, which leads to warnings
that the build may not be reproducable due to not using a git sha.
The docs for
[git_repository](https://bazel.build/rules/lib/repo/git#git_repository)
recommend using `http_archive`, so switch to that instead. Also bump to
newer versions for these two repos.
Commit: 1df2e0c344f0ddf7e09a9c89eba6bbee52142344
https://github.com/llvm/llvm-project/commit/1df2e0c344f0ddf7e09a9c89eba6bbee52142344
Author: Allen <zhongyunde at huawei.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/math-libcalls-tbaa.cpp
Log Message:
-----------
[clang codegen] Emit int TBAA metadata on FP math libcall expf (#96025)
Base on the discussion
https://discourse.llvm.org/t/fp-can-we-add-pure-attribute-for-math-library-functions-default/79459,
math libcalls set errno, so it should emit "int" TBAA metadata on FP
libcalls to solve the alias issue.
Note: Only add support for expf in this PR
Fix https://github.com/llvm/llvm-project/issues/86635
Commit: e475bb7ac33d7bc0446fe86858f5c3073cd48c97
https://github.com/llvm/llvm-project/commit/e475bb7ac33d7bc0446fe86858f5c3073cd48c97
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__memory/allocator_traits.h
A libcxx/include/__memory/inout_ptr.h
A libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/version
M libcxx/modules/std/memory.inc
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.general.pass.cpp
A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.convert.pass.cpp
A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.ctor.pass.cpp
A libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr_t.verify.cpp
A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.general.pass.cpp
A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.convert.pass.cpp
A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.ctor.pass.cpp
A libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr_t.verify.cpp
A libcxx/test/std/utilities/smartptr/adapt/types.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][memory] P1132R8: `out_ptr` - a scalable output pointer abstraction (#73618)
Differential Revision: https://reviews.llvm.org/D150525
Implements:
- https://wg21.link/P1132R8 - `out_ptr` - a scalable output pointer
abstraction
- https://eel.is/c++draft/smartptr.adapt - 20.3.4 Smart pointer adaptors
- https://wg21.link/LWG3734 - Inconsistency in `inout_ptr` and `out_ptr`
for empty case
- https://wg21.link/LWG3897- `inout_ptr` will not update raw pointer to
0
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 401d7bcabc0affc38a6e52ffad782eedf0a5ec5a
https://github.com/llvm/llvm-project/commit/401d7bcabc0affc38a6e52ffad782eedf0a5ec5a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port e475bb7ac33d
Commit: 3023b15fb1ec00dbe6a1cb630236125f500978ef
https://github.com/llvm/llvm-project/commit/3023b15fb1ec00dbe6a1cb630236125f500978ef
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
M bolt/test/X86/jump-table-fixed-ref-pic.test
Log Message:
-----------
[BOLT] Support POSSIBLE_PIC_FIXED_BRANCH
Detect and support fixed PIC indirect jumps of the following form:
```
movslq En(%rip), %r1
leaq PIC_JUMP_TABLE(%rip), %r2
addq %r2, %r1
jmpq *%r1
```
with PIC_JUMP_TABLE that looks like following:
```
JT: ----------
E1:| L1 - JT |
|----------|
E2:| L2 - JT |
|----------|
| |
......
En:| Ln - JT |
----------
```
The code could be produced by compilers, see
https://github.com/llvm/llvm-project/issues/91648.
Test Plan: updated jump-table-fixed-ref-pic.test
Reviewers: maksfb, ayermolo, dcci, rafaelauler
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/91667
Commit: 9b007a199d650f47072fe112b8315f3b3bebb27d
https://github.com/llvm/llvm-project/commit/9b007a199d650f47072fe112b8315f3b3bebb27d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/pseudoprobe-decoding-inline.test
Log Message:
-----------
[BOLT] Expose pseudo probe function checksum and GUID (#99389)
Add a BinaryFunction field for pseudo probe function GUID.
Populate it during pseudo probe section parsing, and emit it in YAML
profile (both regular and BAT), along with function checksum.
To be used for stale function matching.
Test Plan: update pseudoprobe-decoding-inline.test
Commit: 6c3aa626b28d60411b14c593f3e0443cf37fc84d
https://github.com/llvm/llvm-project/commit/6c3aa626b28d60411b14c593f3e0443cf37fc84d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCPseudoProbe.h
Log Message:
-----------
[MC][NFC] Use std::map for AddressProbesMap
AddressProbesMap is keyed by binary addresses, and it makes sense to
treat them as ordered. This also enables slicing by binary function/
binary basic block, to be used in BOLT
(https://github.com/llvm/llvm-project/pull/99554).
Test Plan: NFC
Reviewers: wlei-llvm
Reviewed By: wlei-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/99553
Commit: c905db67a05c4455548ea322c780a8d74380fd86
https://github.com/llvm/llvm-project/commit/c905db67a05c4455548ea322c780a8d74380fd86
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/test/X86/pseudoprobe-decoding-inline.test
Log Message:
-----------
[BOLT] Attach pseudo probes to blocks in YAML profile
Read pseudo probes in regular and BAT YAML profile generation, and
attach them to YAML profile basic blocks. This exposes GUID, probe id,
and probe type in profile for future use in stale profile matching.
Test Plan: updated pseudoprobe-decoding-inline.test
Reviewers: dcci, rafaelauler, ayermolo, maksfb
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/99554
Commit: 871740761f15df9436fc5e31c0c0ef17b9294891
https://github.com/llvm/llvm-project/commit/871740761f15df9436fc5e31c0c0ef17b9294891
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/combine-udiv.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
Log Message:
-----------
[CodeGen] Remove checks for vectors in unsigned division prior to computing leading zeros (#99524)
It turns out we can safely use
DAG.computeKnownBits(N0).countMinLeadingZeros() with constant legal
vectors, so remove the check for it.
Commit: f554dd7e7690f96ecc130065972c306cf0decd7b
https://github.com/llvm/llvm-project/commit/f554dd7e7690f96ecc130065972c306cf0decd7b
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sucmp.ll
Log Message:
-----------
[GlobalIsel] import G_SCMP and G_UCMP (#99518)
See https://github.com/llvm/llvm-project/pull/98894
Commit: 687fc08e7c7755f68838040edb00d4f64e0bebe7
https://github.com/llvm/llvm-project/commit/687fc08e7c7755f68838040edb00d4f64e0bebe7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/unittests/ADT/SetOperationsTest.cpp
Log Message:
-----------
[ADT] Use UnorderedElementsAre in SetOperationsTest.cpp (NFC) (#99596)
Commit: 88e9bd822fe088eff74f49081b890071538fa40c
https://github.com/llvm/llvm-project/commit/88e9bd822fe088eff74f49081b890071538fa40c
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
Log Message:
-----------
[X86][Driver] Enable feature zu for -mapxf
This is follow-up for #78901 after validation.
Drop the comments for stability since zu is the last feature for cpuid APX_F.
Commit: 592233a962fc870b5270d4e55aab5fe8941ac676
https://github.com/llvm/llvm-project/commit/592233a962fc870b5270d4e55aab5fe8941ac676
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[TableGen][SelectionDAG] Make CheckValueTypeMatcher use MVT::SimpleValueType (#99537)
The original `CheckValueTypeMatcher` stores StringRef as the member
variable type, however it's more efficient to use use
MVT::SimpleValueType since it prevents string comparison in isEqualImpl,
it also reduce the memory consumption in each object.
Commit: 79a0b665934a3de1113d1df90a9d677f39d9389a
https://github.com/llvm/llvm-project/commit/79a0b665934a3de1113d1df90a9d677f39d9389a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M bolt/lib/Profile/CMakeLists.txt
Log Message:
-----------
[BOLT] Add MC dependency for Profile
Commit: 82af008d9891bc109ba218fb546170d83c5de9a2
https://github.com/llvm/llvm-project/commit/82af008d9891bc109ba218fb546170d83c5de9a2
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/lib/safestack/safestack_util.h
Log Message:
-----------
[safestack] Various 32-bit Linux fixes (#99455)
When enabling 32-bit testing on Linux/i386 and Linux/sparc, many tests
`FAIL`:
- All Linux/i386 tests `FAIL` with ``` safestack CHECK failed:
/vol/llvm/src/llvm-project/local/compiler-rt/lib/safestack/safestack.cpp:95
MAP_FAILED != addr ``` because the safestack `mmap` implementation
doesn't work there. This patch adjusts it to match the
`sanitizer_linux.cpp.c` one.
- On 32-bit Linux/sparc, the `pthread*.c` tests `FAIL` because a `tid_t`
(`uint64_t`) `tid` arg was passed to `syscall(SYS_tgkill)` while `tid`
is actually a `pid_t` (`int`). Fixed by adding a cast.
Tested on `x86_64-pc-linux-gnu` (32 and 64-bit) and
`sparc64-unknown-linux-gnu` (32 and 64-bit).
Commit: 2e5b4516b70be9b8d45d4ecd0bd72c41e91ce6fb
https://github.com/llvm/llvm-project/commit/2e5b4516b70be9b8d45d4ecd0bd72c41e91ce6fb
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
A llvm/test/Transforms/SimpleLoopUnswitch/preserving-debugloc-trivial-terminators.ll
Log Message:
-----------
[DebugInfo][SimpleLoopUnswitch] Fix missing debug location updates for new terminators (#98789)
Fix #98787 .
Commit: 3b78dfa10c4b77581cc29c4510aefe919ae660ba
https://github.com/llvm/llvm-project/commit/3b78dfa10c4b77581cc29c4510aefe919ae660ba
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M libcxx/CMakeLists.txt
A libcxx/cmake/Modules/HandleLibC.cmake
M libcxx/cmake/config-ix.cmake
M libcxx/include/CMakeLists.txt
M libcxx/src/CMakeLists.txt
Log Message:
-----------
[libc][libcxx] Support for building libc++ against LLVM libc (#99287)
Provide an option to build libc++ against LLVM libc and set the CMake
compile and link options appropriately when the option is enabled.
Commit: 2f0910d2d74419ef1ebf814b471af721ee78b464
https://github.com/llvm/llvm-project/commit/2f0910d2d74419ef1ebf814b471af721ee78b464
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pch-in-module-units.cppm
Log Message:
-----------
[C++20] [Modules] Skip ODR checks if either declaration comes from GMF
This patch tries to workaround the case that:
- in a module unit that imports another module unit
- both the module units including overlapped headers
- the compiler emits false positive ODR violation diagnostics for the
overlapped headers if ODR check is enabled
- the current module units enables PCH
For the third point, we disabled ODR check if the declarations comes
from GMF. However, due to the forth point, the check whether the
declaration comes from GMF failed. Then we still going to check it and
then the users get false positive checks.
What's worse is that, this always happens in clangd, where will generate
the PCH automatically before parsing the input files.
The root cause of the problem we mixed the modules in the semantical
level and the module in the serialization level.
The problem is pretty fundamental and we need time to fix that. But 19.x
is going to be branched and I hope to give clangd better user
experience. So I decided to land this workaround even if it is pretyy
niche and may only work for the case of clangd's pattern.
Commit: 377e1ebdd4ed64c996566b8cede857c7e4c1fc0f
https://github.com/llvm/llvm-project/commit/377e1ebdd4ed64c996566b8cede857c7e4c1fc0f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/debug_stacks.cpp
Log Message:
-----------
[asan] Consume leading zeroes in a test
Commit: 55a7be55a5fcf1c0837d62660157a45f8a52eb4f
https://github.com/llvm/llvm-project/commit/55a7be55a5fcf1c0837d62660157a45f8a52eb4f
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-18 (Thu, 18 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/test/MC/AArch64/mapping-across-sections.s
Log Message:
-----------
[AArch64,ELF] Use getCurrentSection().first in changeSection
Similar to the NVPTX change 4ae23bcca144b542f16d45acc8f270e156e2fa4e.
And improve the tests.
Commit: 6f710fef838185cbbe11193b30d6adc354b08b28
https://github.com/llvm/llvm-project/commit/6f710fef838185cbbe11193b30d6adc354b08b28
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[Doc] Update documentation for no-transitive-change (#96453)
(Some backgrounds, not required to read:
https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755)
This is the document part for the no-transitive-change
(https://github.com/llvm/llvm-project/pull/86912,
https://github.com/llvm/llvm-project/pull/92083,
https://github.com/llvm/llvm-project/pull/92085,
https://github.com/llvm/llvm-project/pull/92511) to provide the ability
for build system to skip some unnecessary recompilations.
See the patch for examples.
Commit: 90668d240417422827d0468aa32b6aaa88105859
https://github.com/llvm/llvm-project/commit/90668d240417422827d0468aa32b6aaa88105859
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
Log Message:
-----------
[CVP][LVI] Add support for InsertElementInst in LVI (#99368)
Currently, the LVI analysis pass doesn't support InsertElementInst
vector instruction. Due to this, some optimization opportunities are
missed. For example, in the below example, ICMP instruction can be
folded but it doesn't.
```
...
%ie1 = insertelement <2 x i32> poison, i32 10, i64 0
%ie2 = insertelement <2 x i32> %ie1, i32 20, i64 1
%icmp = icmp <2 x i1> %ie2, <i32 40, i32 40>
...
```
This change adds InsertElementInst support in the LVI analysis pass to
fix the motivating example.
Commit: a1d77caaabbb5279b734c061dab36b2138ec476d
https://github.com/llvm/llvm-project/commit/a1d77caaabbb5279b734c061dab36b2138ec476d
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
M clang/test/CodeGen/ptrauth-function-type-discriminator-cast.c
M clang/test/CodeGen/ptrauth-function-type-discriminator.c
M clang/test/CodeGen/ptrauth-ubsan-vptr.cpp
M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
M clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
M clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
M clang/test/CodeGenCXX/ptrauth-throw.cpp
M clang/test/CodeGenCXX/ptrauth-thunks.cpp
M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/ubsan-vtable-checks.cpp
M clang/test/SemaCXX/ptrauth-incomplete-virtual-member-function-return-arg-type.cpp
M clang/test/SemaCXX/vtable_pointer_authentication_attribute.cpp
Log Message:
-----------
[test][PAC][clang] Add missing tests against linux triples (#99482)
Enhance tests introduced in #94056, #96992, #98276 and #98847 by adding
RUN and CHECK lines against linux triples.
Commit: 2df9fd7edb73c1c2b27bda433ae0795bc8076dd3
https://github.com/llvm/llvm-project/commit/2df9fd7edb73c1c2b27bda433ae0795bc8076dd3
Author: Haowei <haowei at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/test/InstallAPI/diagnostics-dsym.test
Log Message:
-----------
Fix diagnostics-dsym.test on mac-arm64 (#99399)
The check ordering of diagnostics-dsym.test is wrong and it causes
test failure when running on mac-arm64 machine. This patch fixes it.
Commit: cfe043cf99f76980ff91dc1cd4026e852556fba1
https://github.com/llvm/llvm-project/commit/cfe043cf99f76980ff91dc1cd4026e852556fba1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
Log Message:
-----------
[mlir][linalg] Restrict scalable vectorisation (#98639)
Updates `vectorizeScalableVectorPrecondition` so that scalable
vectorisation is only applied in well understood and tested scenarios.
It's unlikely that we would ever want an arbitrary dimension to be
scalable. While the Linalg vectoriser should be flexible enough to
handle all possibilities:
* in more "exotic" cases, we are likely to struggle with lowerings
further down the compilation stack,
* it would be impractical given the limitations of LLVM (which usually
reflect the limitations of actual hardware) - e.g. no support for
"scalable" arrays of scalable or fixed width vectors (*).
Ultimately, the goal of this patch is to better document what's
currently supported. While this PR adds some new restrictions, no
existing tests are affected.
(*) At MLIR vector level that would correspond to e.g.
`vector<[4]x8xf32>`.
Commit: 8d0cbef0eddb6c651be5880bdeb0a7709629ac9f
https://github.com/llvm/llvm-project/commit/8d0cbef0eddb6c651be5880bdeb0a7709629ac9f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
Log Message:
-----------
[ADT] Use range-based for loops (NFC) (#99605)
Commit: e6668b1be8acbabeea0704bdc224637059aaa2af
https://github.com/llvm/llvm-project/commit/e6668b1be8acbabeea0704bdc224637059aaa2af
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Use roundeven in TOSA cast splat constant op folding (#99484)
The behavior of TOSA Cast operation for floating-point to integers is to round to the nearest even. This commit aligns the behavior of folding a TOSA Cast of a float splat to int, so it also uses roundeven.
Commit: 5c93a94f5adaa304922a936842162cba91785211
https://github.com/llvm/llvm-project/commit/5c93a94f5adaa304922a936842162cba91785211
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/OpenMP/interchange_ast_print.cpp
A clang/test/OpenMP/interchange_codegen.cpp
A clang/test/OpenMP/interchange_messages.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
A openmp/runtime/test/transform/interchange/foreach.cpp
A openmp/runtime/test/transform/interchange/intfor.c
A openmp/runtime/test/transform/interchange/iterfor.cpp
A openmp/runtime/test/transform/interchange/parallel-wsloop-collapse-foreach.cpp
A openmp/runtime/test/transform/interchange/parallel-wsloop-collapse-intfor.cpp
Log Message:
-----------
[Clang][OpenMP] Add interchange directive (#93022)
Add the interchange directive which will be introduced in the upcoming
OpenMP 6.0 specification. A preview has been published in [Technical
Report 12](https://www.openmp.org/wp-content/uploads/openmp-TR12.pdf).
Commit: c248d05c6807baba34ff4fb254176e300922ea72
https://github.com/llvm/llvm-project/commit/c248d05c6807baba34ff4fb254176e300922ea72
Author: Emanuele Rocca <emanuele.rocca at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/Sema.cpp
M clang/test/PCH/aarch64-sve-types.c
Log Message:
-----------
[Clang] make SVE types known to device targets too (#99446)
For the purpose of preprocessing and declarations in header files,
ensure clang accepts SVE types for both device and host targets.
Co-authored-by: Sander De Smalen <sander.desmalen at arm.com>
Commit: c81366709574bb95bad86011a44e80a7f97f2c56
https://github.com/llvm/llvm-project/commit/c81366709574bb95bad86011a44e80a7f97f2c56
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/Lex/PPEmbedParameters.h
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/embed_search_paths.c
Log Message:
-----------
[clang] Fix static analyzer concerns in #embed code (#99331)
1. Dead code in `LookupEmbedFile`. The loop always exited on the first
iteration. This was also causing a bug of not checking all directories
provided by `--embed-dir`.
2. Use of uninitialized variable `CurTok` in `LexEmbedParameters`. It
was used to initialize the field which seems to be unused. Removed
unused field, this way `CurTok` should be initialized by Lex method.
Commit: 25f4bd8872b2c15c641c8e915afb54b39d119d8a
https://github.com/llvm/llvm-project/commit/25f4bd8872b2c15c641c8e915afb54b39d119d8a
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-clear-kill-flags.mir
Log Message:
-----------
AMDGPU: Clear kill flags after FoldZeroHighBits (#99582)
After folding, all uses of the result register are going to be replaced
by the operand register. The kill flags on the uses of the result and
operand registers are no longer valid after the replacement, and need to
be cleared.
The only exception is, however, if the kill flag is set for the operand
register, we are sure the last use of the result register is the new
last use of the operand register, and thus we are safe to keep the kill
flags.
Commit: 3a7c187031ea4999e426565fa53282cf536158dd
https://github.com/llvm/llvm-project/commit/3a7c187031ea4999e426565fa53282cf536158dd
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M compiler-rt/test/safestack/CMakeLists.txt
M compiler-rt/test/safestack/lit.cfg.py
M compiler-rt/test/safestack/lit.site.cfg.py.in
Log Message:
-----------
[safestack] Support multilib testing (#98002)
While working on my safestack patches, I noticed that only the default
multilib was tested even though all multilib versions of
`libclang_rt.safestack.a` were built.
This patch fixes this, patterned after the ubsan testing support.
Tested on `amd64-pc-solaris2.11` (`amd64` and `i386`),
`sparcv9-sun-solaris2.11` (`sparcv9` and `sparc`), `x86_64-pc-linux-gnu`
(`x86_64` and `i386`), and `sparc64-unknown-linux-gnu` (`sparcv9` and
`sparc`).
Commit: ae2e66b03b7a793642d6291ccd8de2252637416a
https://github.com/llvm/llvm-project/commit/ae2e66b03b7a793642d6291ccd8de2252637416a
Author: David Green <david.green at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Use TargetStackID::ScalableVector instead of hard-coded values. NFC
Commit: a6b204b82745764e1460aa1dc26e69ff73195c60
https://github.com/llvm/llvm-project/commit/a6b204b82745764e1460aa1dc26e69ff73195c60
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/test/ELF/aarch64-reloc-implicit-addend.test
Log Message:
-----------
[lld][AArch64] Fix handling of SHT_REL relocation addends. (#98291)
Normally, AArch64 ELF objects use the SHT_RELA type of relocation
section, with addends stored in each relocation. But some legacy AArch64
object producers still use SHT_REL in some situations, storing the
addend in the initial value of the data item or instruction immediate
field that the relocation will modify. LLD was mishandling relocations
of this type in multiple ways.
Firstly, many of the cases in the `getImplicitAddend` switch statement
were apparently based on a misunderstanding. The relocation types that
operate on instructions should be expecting to find an instruction of
the appropriate type, and should extract its immediate field. But many
of them were instead behaving as if they expected to find a raw 64-, 32-
or 16-bit value, and wanted to extract the right range of bits. For
example, the relocation for R_AARCH64_ADD_ABS_LO12_NC read a 16-bit word
and extracted its bottom 12 bits, presumably on the thinking that the
relocation writes the low 12 bits of the value it computes. But the
input addend for SHT_REL purposes occupies the immediate field of an
AArch64 ADD instruction, which meant it should have been reading a
32-bit AArch64 instruction encoding, and extracting bits 10-21 where the
immediate field lives. Worse, the R_AARCH64_MOVW_UABS_G2 relocation was
reading 64 bits from the input section, and since it's only relocating a
32-bit instruction, the second half of those bits would have been
completely unrelated!
Adding to that confusion, most of the values being read were first
sign-extended, and _then_ had a range of bits extracted, which doesn't
make much sense. They should have first extracted some bits from the
instruction encoding, and then sign-extended that 12-, 19-, or 21-bit
result (or whatever else) to a full 64-bit value.
Secondly, after the relocated value was computed, in most cases it was
being written into the target instruction field via a bitwise OR
operation. This meant that if the instruction field didn't initially
contain all zeroes, the wrong result would end up in it. That's not even
a 100% reliable strategy for SHT_RELA, which in some situations is used
for its repeatability (in the sense that applying the relocation twice
should cause the second answer to overwrite the first, so you can
relocate an image in advance to its most likely address, and then do it
again at load time if that turns out not to be available). But for
SHT_REL, when you expect nonzero immediate fields in normal use, it
couldn't possibly work. You could see the effect of this in the existing
test, which had a lot of FFFFFF in the expected output which there
wasn't any plausible justification for.
Finally, one relocation type was actually missing: there was no support
for R_AARCH64_ADR_PREL_LO21 at all.
So I've rewritten most of the cases in `getImplicitAddend`; replaced the
bitwise ORs with overwrites; and replaced the previous test with a much
more thorough one, obtained by writing an input assembly file with
explicitly specified relocations on instructions that also have
carefully selected immediate fields, and then doing some yaml2obj
seddery to turn the RELA relocation section into a REL one.
Commit: 270f5e42b8daab586ffcd2b46ff41486199f6626
https://github.com/llvm/llvm-project/commit/270f5e42b8daab586ffcd2b46ff41486199f6626
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
Log Message:
-----------
[LV] Add tests where uniform recipe gets predicated for scalable VFs.
Currently the tests crash, due to a VPReplicateRecipe getting predicated
for scalable vectors.
Precommits tests for https://github.com/llvm/llvm-project/pull/98892.
Test cases for
* https://github.com/llvm/llvm-project/issues/80416 and
* https://github.com/llvm/llvm-project/issues/94328
Commit: e8fbefe15b101d7d30366cbe2ac068449923f5e2
https://github.com/llvm/llvm-project/commit/e8fbefe15b101d7d30366cbe2ac068449923f5e2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add basic support for remquo libcall (#99611)
This patch adds basic support for `remquo`. Constant folding support
will be submitted in a subsequent patch.
Related issue: https://github.com/llvm/llvm-project/issues/99497
Commit: 39185da16228efb4a09a30d6825a6f508c4755a3
https://github.com/llvm/llvm-project/commit/39185da16228efb4a09a30d6825a6f508c4755a3
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
[Clang][AArch64] Add missing SME/SVE2.1 feature macros (#98285)
The 2022 SME2.1and SVE2.1 feature macros are missing from Clang. Passing
'-target-feature +sve2p1' and 'target-feature +sme2p1' should prompt
Clang to define __ARM_FEATURE_SVE2p1 and __ARM_FEATURE_SME2p1
respectively, including their prerequisits..
This patch includes __ARM_FEATURE_SVE2p1 and __ARM_FEATURE_SME2p1, plus
a clang preprocessor test for each. It also ensures that the Clang macro
builder is used in a consistent fashion across Targets/AArch64.cpp.
The specification for SVE2.1 is documented in the latest (2024 Q1) ACLE
release: https://github.com/ARM-software/acle/releases . SME2p1 is not
yet featured in ACLE documentation but its features are described under
https://developer.arm.com/documentation/ddi0487/latest/
Commit: f0617d2def86192c15c9194281ef3f843effed55
https://github.com/llvm/llvm-project/commit/f0617d2def86192c15c9194281ef3f843effed55
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libcxx/test/std/time/time.clock/time.clock.file/now.pass.cpp
Log Message:
-----------
[libcxx][test] Remove picolib UNSUPPORTED for now.pass.cpp (#99503)
This ARM semihosting call was implemented in QEMU by
https://gitlab.com/qemu-project/qemu/-/commit/4d834039c2107cb86931cb3f22ca3de6e4e42b06
and is present in the qemu-system-arm v8.1.3 used by the builders.
Commit: e5df657bbf38f8fcd9dd8c9e79262ca184f2598b
https://github.com/llvm/llvm-project/commit/e5df657bbf38f8fcd9dd8c9e79262ca184f2598b
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/SemaCXX/instantiate-template-broken-nontype-default.cpp
Log Message:
-----------
[Sema] Fix assertion error in Sema::FindInstantiatedDecl (#96509)
...when looking for a template instantiation with a non-type parameter of
unknown type and with a default value.
This can happen when a template non-type parameter has a broken
expression that gets replaced by a `RecoveryExpr`.
Commit: 092dd9ca2d5149e3252098610c73e4fa42d831b9
https://github.com/llvm/llvm-project/commit/092dd9ca2d5149e3252098610c73e4fa42d831b9
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/fixed-point-conv-vec-pat.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
Log Message:
-----------
[AArch64] Remove redundant instructions in int-to-fp of lowest vector… (#98602)
… element.
When converting the lowest element (that in lane 0) of a vector from an
integer to a floating-point value, LLVM should select the SIMD scalar
variant of CVTF
(https://developer.arm.com/documentation/dui0801/g/A64-SIMD-Scalar-Instructions/SCVTF--scalar--integer-)
to avoid the FPR to GPR register transfers that are required to use the
general floating-point variant
(https://developer.arm.com/documentation/dui0801/g/A64-Floating-point-Instructions/SCVTF--scalar--integer-).
This is possible as the lowest element can be referred to by the
corresponding scalar sub-register with the width of the vector's
constituent elements.
This patch adds new TableGen patterns to remove these redundant
instructions for AArch64, as well as back-end tests to ensure the new
preferred instruction selection result is produced. Existing tests that
relied on the previous selection result have also been updated.
Commit: ac6061e084250a377baa552842261797aa6da6a8
https://github.com/llvm/llvm-project/commit/ac6061e084250a377baa552842261797aa6da6a8
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Loads.cpp
M llvm/unittests/Analysis/LoadsTest.cpp
Log Message:
-----------
[Analysis] Add new function isDereferenceableReadOnlyLoop (#97292)
I created this patch due to a reviewer request on PR #88385 to split off
the analysis changes, however without the other code in that PR I can
only test the new function with unit tests.
Commit: d2e8b1d717c465ed122e6135810a834c9626bfad
https://github.com/llvm/llvm-project/commit/d2e8b1d717c465ed122e6135810a834c9626bfad
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/ashr.ll
Log Message:
-----------
[CVP] Regenerate test checks (NFC)
Commit: 6235698f47828747d3b1b0418e547e2e4ff9138f
https://github.com/llvm/llvm-project/commit/6235698f47828747d3b1b0418e547e2e4ff9138f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
Log Message:
-----------
[CVP] Add tests for range return attributes (NFC)
Commit: b7b0071680e60c60da9d4d858f944fd95d76fd42
https://github.com/llvm/llvm-project/commit/b7b0071680e60c60da9d4d858f944fd95d76fd42
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-zext.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64][SVE] Improve code quality of vector unsigned/signed add reductions. (#97339)
For SVE we don't have to zero extend and sum part of the result before
issuing UADDV instruction. Also this change allows to handle bigger than
a legal vector type more efficiently and lower a fixed-length vector
type to SVE's UADDV where appropriate.
Commit: 17f98baf704f90dbf892fe0b0150715f09252499
https://github.com/llvm/llvm-project/commit/17f98baf704f90dbf892fe0b0150715f09252499
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
Log Message:
-----------
[LV] Add test with users both demanding all lanes and first-lane-only.
Add a test case where scalar steps are used by both a VPReplicateRecipe
(demands all scalar lanes) and a VPInstruction that only demands the
first lane.
Test case for https://github.com/llvm/llvm-project/issues/88849.
Commit: a27037becd1bdea568e2f970d4b85fa5e02f3b08
https://github.com/llvm/llvm-project/commit/a27037becd1bdea568e2f970d4b85fa5e02f3b08
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/lldb-forward.h
Log Message:
-----------
[lldb] Forward-declare lldb-private::SaveCoreOptions
to avoid including private headers from the API headers.
This fixes API tests which link against the lldb library.
Commit: 7f763b162ff0f72bbd98e73da9b10d5d3941247b
https://github.com/llvm/llvm-project/commit/7f763b162ff0f72bbd98e73da9b10d5d3941247b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
Log Message:
-----------
[MLIR][OpenMP] NFC: Sort clause definitions (#99504)
This patch moves the `filter` clause definition to keep alphabetical
sorting of OpenMPClauses.td.
Commit: 6cc8774228a4162ebadfa636086a171f82e51a8c
https://github.com/llvm/llvm-project/commit/6cc8774228a4162ebadfa636086a171f82e51a8c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
Log Message:
-----------
[CodeGen][ARM64EC] Add support for hybrid_patchable attribute. (#92965)
Commit: 5a45fed188dce2ae6c4da23ba61c9b8df87f08f4
https://github.com/llvm/llvm-project/commit/5a45fed188dce2ae6c4da23ba61c9b8df87f08f4
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Options.td
M clang/test/Driver/Ofast.c
Log Message:
-----------
[clang][NFC] Fix typo in `-Ofast` deprecation warning
A follow-up for #98736
Commit: 02cb5bcab4f5232bbc5ecacb3d5d94fd487baa23
https://github.com/llvm/llvm-project/commit/02cb5bcab4f5232bbc5ecacb3d5d94fd487baa23
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
Log Message:
-----------
[ADT] Teach set_intersect to erase with iterators (#99569)
Without this patch, we erase an element in S1 by value even though we
have an interator pointing to it. This patch tries to use erase(iter)
to avoid redundant lookups.
Commit: 0f231567719c99caa99164d8f91bad50883dab03
https://github.com/llvm/llvm-project/commit/0f231567719c99caa99164d8f91bad50883dab03
Author: wanglei <wanglei at loongson.cn>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
[LoongArch] Support parsing the `%le_{hi20,add,lo12}_r` modifiers
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/99485
Commit: 6b98ab95f0d36705b5a1fc1e755c992ba2329c89
https://github.com/llvm/llvm-project/commit/6b98ab95f0d36705b5a1fc1e755c992ba2329c89
Author: wanglei <wanglei at loongson.cn>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-tls-le.s
Log Message:
-----------
[lld][ELF][LoongArch] Add support for R_LARCH_LE_{HI20,ADD,LO12}_R relocations
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/99486
Commit: b8741cc185e89a95c9161218084f7c8b5578cf96
https://github.com/llvm/llvm-project/commit/b8741cc185e89a95c9161218084f7c8b5578cf96
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
Log Message:
-----------
[VPlan] Relax assertion retrieving a scalar from VPTransformState::get.
The current assertion VPTransformState::get when retrieving a single
scalar only does not account for cases where a def has multiple users,
some demanding all scalar lanes, some demanding only a single scalar.
For an example, see the modified test case. Relax the assertion by also
allowing requesting scalar lanes only when the Def doesn't have only its
first lane used.
Fixes https://github.com/llvm/llvm-project/issues/88849.
Commit: 812694c449b222e960a39ccb517a074c08db4a71
https://github.com/llvm/llvm-project/commit/812694c449b222e960a39ccb517a074c08db4a71
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
A llvm/test/Analysis/ValueTracking/numsignbits-shl.ll
Log Message:
-----------
[ValueTracking] Pre-commit ComputeNumSignBits test for (shl (zext X), C)
Adding a test case for potential simplifications of
(shl (zext X), C)
based on number of known sign bits in X.
Commit: 098bd842a7e50853fa231f8b73c24ec5006fe063
https://github.com/llvm/llvm-project/commit/098bd842a7e50853fa231f8b73c24ec5006fe063
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/numsignbits-shl.ll
Log Message:
-----------
[ValueTracking] Let ComputeKnownSignBits handle (shl (zext X), C) (#97693)
Add simple support for looking through a zext when doing
ComputeKnownSignBits for shl. This is valid for the case when
all extended bits are shifted out, because then the number of sign
bits can be found by analysing the zext operand.
The solution here is simple as it only handle a single zext (not
passing remaining left shift amount during recursion). It could be
possible to generalize this in the future by for example passing an
'OffsetFromMSB' parameter to ComputeNumSignBitsImpl, telling it to
calculate number of sign bits starting at some offset from the most
significant bit.
Commit: 008df3cf85e9bb1532c079bfd7a7a00e90e0a3c6
https://github.com/llvm/llvm-project/commit/008df3cf85e9bb1532c079bfd7a7a00e90e0a3c6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
Log Message:
-----------
[LV] Check isPredInst instead of isScalarWithPred in uniform analysis. (#98892)
Any instruction marked as uniform will result in a uniform
VPReplicateRecipe. If it requires predication, it will be placed in a
replicate region, even if isScalarWithPredication returns false.
Check isPredicatedInst instead of isScalarWithPredication to avoid
generating uniform VPReplicateRecipes placed inside a replicate region.
This fixes an assertion when using scalable VFs.
Fixes https://github.com/llvm/llvm-project/issues/80416.
Fixes https://github.com/llvm/llvm-project/issues/94328.
Fixes https://github.com/llvm/llvm-project/issues/99625.
PR: https://github.com/llvm/llvm-project/pull/98892
Commit: 42a7c424b65050c5522e7055ab1486b572d86b69
https://github.com/llvm/llvm-project/commit/42a7c424b65050c5522e7055ab1486b572d86b69
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaAttr.cpp
Log Message:
-----------
[clang] Add `std::span` to the default gsl pointer annotation list. (#99622)
Commit: 243af2ff217f65ef291232faa60779b86e01a967
https://github.com/llvm/llvm-project/commit/243af2ff217f65ef291232faa60779b86e01a967
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[LLDB][test] Improve SHELL detection on Windows in Makefile.rules (#99532)
In MinGW make, the `%windir%` variable has a lowercase name `$(windir)`
when launched from cmd.exe, and `$(WINDIR)` name when launched from
MSYS2, since MSYS2 represents standard Windows environment variables
names in upper case.
This commit makes Makefile.rules consider both run variants.
Commit: e404eed24bebd5e3e04fc153eb330bae7d92107f
https://github.com/llvm/llvm-project/commit/e404eed24bebd5e3e04fc153eb330bae7d92107f
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaAttr.cpp
Log Message:
-----------
[clang] Add the `const` to all default lists in SemaAttr.cpp, NFC
Address the comment in https://github.com/llvm/llvm-project/pull/99622#issuecomment-2238800532
Commit: fdfc49186318727653cf6b13686bb77cfed60e33
https://github.com/llvm/llvm-project/commit/fdfc49186318727653cf6b13686bb77cfed60e33
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
Log Message:
-----------
[lldb] SHT_NOBITS sections type (#99044)
.sbss section was recognized as eSectionTypeOther, but has to be
eSectionTypeZeroFill.
Fixed tests for RISCV target:
TestClassLoadingViaMemberTypedef.TestCase
TestClassTemplateNonTypeParameterPack.TestCaseClassTemplateNonTypeParameterPack
TestThreadSelectionBug.TestThreadSelectionBug
lldbsuite.test.lldbtest.TestOffsetof
lldbsuite.test.lldbtest.TestOffsetofCpp
TestTargetDumpTypeSystem.TestCase
TestCPP11EnumTypes.CPP11EnumTypesTestCase
TestCppIsTypeComplete.TestCase
TestExprCrash.ExprCrashTestCase
TestDebugIndexCache.DebugIndexCacheTestcase
Commit: 6da23b647ea0c7961a31742e3daac80f4c08e99c
https://github.com/llvm/llvm-project/commit/6da23b647ea0c7961a31742e3daac80f4c08e99c
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/Sema/attr-counted-by-bounds-safety-vlas.c
Log Message:
-----------
[BoundsSafety] Add `-fexperimental-bounds-safety` CC1 and language option and use it to tweak `counted_by`'s semantics (#92623)
This adds the `-fexperimental-bounds-safety` cc1 and corresponding
language option. This language option enables "-fbounds-safety" which is
a bounds-safety extension for C that is being incrementally upstreamed.
This cc1 flag is not exposed as a driver flag yet because most of the
implementation isn't upstream yet.
The language option is used to make a small semantic change to how the
`counted_by` attribute is treated. Without
`-fexperimental-bounds-safety` the attribute is allowed (but emits a
warning) on a flexible array member where the element type is a struct
with a flexible array member. With the flag this situation is an error.
E.g.
```
struct has_unannotated_FAM {
int count;
char buffer[];
};
struct buffer_of_structs_with_unnannotated_FAM {
int count;
// Forbidden with `-fexperimental-bounds-safety`
struct has_unannotated_FAM Arr[] __counted_by(count);
};
```
rdar://125400392
Commit: ef47bbb4715de5790308cac166d8cd05020e8e18
https://github.com/llvm/llvm-project/commit/ef47bbb4715de5790308cac166d8cd05020e8e18
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/timing/CMakeLists.txt
Log Message:
-----------
[libc] Add AMDGPU Timing to CMake (#99603)
`libc/benchmarks/gpu/timing/CMakeLists.txt` did not correctly build
`amdgpu` utils. This PR fixes that issue by adding `amdgpu` to the loop
that adds the correct sub directories.
Commit: 123c036bd361de9ed6baa0090e5942105764e8db
https://github.com/llvm/llvm-project/commit/123c036bd361de9ed6baa0090e5942105764e8db
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
Log Message:
-----------
Recommit "[TBAA] Emit distinct TBAA tags for pointers with different depths,types. (#76612)"
This reverts the revert commit bee240367cc48bbc93fe5eb57d537968dfe4419f.
This version includes updates to the tests to use patterns when matching
the pointer argument.
Original commit message:
This patch extends Clang's TBAA generation code to emit distinct tags
for incompatible pointer types.
Pointers with different element types are incompatible if the pointee
types are also incompatible (modulo sugar/modifiers).
Express this in TBAA by generating different tags for pointers based on
the pointer depth and pointee type. To get the TBAA tag for the pointee
type it uses getTypeInfoHelper on the pointee type.
(Moved from https://reviews.llvm.org/D122573)
PR: https://github.com/llvm/llvm-project/pull/76612
Commit: 176bf50cd244505e38f8838a55568060dd3913e8
https://github.com/llvm/llvm-project/commit/176bf50cd244505e38f8838a55568060dd3913e8
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/CMakeLists.txt
A clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[clang][NFC] Move Bounds Safety Sema code to `SemaBoundsSafety.cpp` (#99330)
This patch adds a new `SemaBoundsSafety.cpp` source file and moves the
existing `CheckCountedByAttrOnField` function and related helper
functions and types from `SemaDeclAttr.cpp` into the new source file.
The `CheckCountedByAttrOnField` function is now a method on the Sema
class and now has doxygen comments.
The goal behind this refactor is to clearly separate the
`-fbounds-safety` Sema code from everything else.
Although `counted_by(_or_null)` and `sized_by(_or_null)` attributes have
a meaning outside of `-fbounds-safety` it seems reasonable to also have
the Sema logic live in `SemaBoundsSafety.cpp` since the intention is
that the attributes will have the same semantics (but not necessarily
the same enforcement).
As `-fbounds-safety` is upstreamed additional Sema checks will be added
to `SemaBoundsSafety.cpp`.
rdar://131777237
Commit: 7b60f2dcfbe11ddb62f7a6f2d374c1a3ff556eb0
https://github.com/llvm/llvm-project/commit/7b60f2dcfbe11ddb62f7a6f2d374c1a3ff556eb0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 176bf50cd244
Commit: 7122b70cfc8e23a069410215c363da76d842bda4
https://github.com/llvm/llvm-project/commit/7122b70cfc8e23a069410215c363da76d842bda4
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/test/Preprocessor/Inputs/big_char.txt
M clang/test/Preprocessor/embed_codegen.cpp
M clang/test/Preprocessor/embed_weird.cpp
Log Message:
-----------
[clang] Fix underlying type of EmbedExpr (#99050)
This patch makes remaining cases of #embed to emit int type since there
is an agreement to do that for C. C++ is being discussed, but in general
we don't want to produce different types for C and C++.
Commit: 7d8375b86ee490acafb4254603ccd4edc2a58256
https://github.com/llvm/llvm-project/commit/7d8375b86ee490acafb4254603ccd4edc2a58256
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/darwin-print-libgcc-file-name.c
Log Message:
-----------
[clang][driver] Fix -print-libgcc-file-name on Darwin platforms (#98325)
On Darwin, -print-libgcc-file-name was returning a nonsensical result.
It would return the name of the library that would be used by the
default toolchain implementation, but that was something that didn't
exist on Darwin.
Fixing this requires initializing the Darwin toolchain before processing
`-print-libgcc-file-name`. Previously, the Darwin toolchain would only
be initialized when building the jobs for this compilation, which is too
late since `-print-libgcc-file-name` requires the toolchain to be
initialized in order to provide the right results.
rdar://90633749
Co-authored-by: Gabor Horvath <gaborh at apple.com>
Commit: 007aa6d1b274baf0b4d1c02a8d7d56f219e5f127
https://github.com/llvm/llvm-project/commit/007aa6d1b274baf0b4d1c02a8d7d56f219e5f127
Author: Yangyu Chen <cyy at cyyself.name>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Increase UsesLimit to 64 (#99467)
Since commit 82b800ecb35fb46881aa52000fa40b1b99aa654e addressed the
issue #99327 , we see some performance regression (13%) on some
verilator generated C++ code. This is because the UsesLimit is set to 8,
which is too small for the verilator generated code. I have analyzed the
need for the UsesLimit from [1] and found that the UsesLimit should be
at least 64 to cover most of these cases. Thus, This patch increases the
UsesLimit to 64.
Link:
https://github.com/llvm/llvm-project/issues/99327#issuecomment-2236052879
[1]
Signed-off-by: Yangyu Chen <cyy at cyyself.name>
Commit: 8a79dc7e6f765f3f49c5dd9330fc0826d3362858
https://github.com/llvm/llvm-project/commit/8a79dc7e6f765f3f49c5dd9330fc0826d3362858
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/APINotes/APINotesReader.h
M clang/include/clang/APINotes/APINotesWriter.h
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
A clang/test/APINotes/Inputs/Headers/Methods.apinotes
A clang/test/APINotes/Inputs/Headers/Methods.h
M clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
M clang/test/APINotes/Inputs/Headers/Namespaces.h
M clang/test/APINotes/Inputs/Headers/module.modulemap
A clang/test/APINotes/methods.cpp
M clang/test/APINotes/namespaces.cpp
Log Message:
-----------
[APINotes] Support annotating C++ methods
This adds support for adding Clang attributes to C++ methods declared
within C++ records by using API Notes.
For instance:
```
Tags:
- Name: IntWrapper
Methods:
- Name: getIncremented
Availability: none
```
This is the first instance of something within a C++ record being
annotated with API Notes, so it adds the necessary infra to make a C++
record an "API Notes context".
Notably this does not add support for nested C++ tags. That will be
added in a follow-up patch.
rdar://131387880
Commit: d31603eefc2d8becfd1f41327b6a8db3e0e91a27
https://github.com/llvm/llvm-project/commit/d31603eefc2d8becfd1f41327b6a8db3e0e91a27
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
Log Message:
-----------
[clang][Interp] Control InitStack activity state in visitInitList
This doesn't change anything about the current tests, but helps
once those tests change because of #97308
Commit: 47c08fb8d79ec1bf85cc542be6ca2591ebf2d361
https://github.com/llvm/llvm-project/commit/47c08fb8d79ec1bf85cc542be6ca2591ebf2d361
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/test/CodeGen/tbaa-pointers.c
Log Message:
-----------
[TBAA] Remove references to entry BB in check lines for tbaa-pointers.c
Follow-up to 123c036bd361d to remove references to entry BB name from
checks, to fix tests for builds that do not generate block names.
Commit: 9145ffa134ed57c25ec62879c1aeff50595d08be
https://github.com/llvm/llvm-project/commit/9145ffa134ed57c25ec62879c1aeff50595d08be
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/Sema/switch.c
Log Message:
-----------
[clang][Interp] Only diagnose out of bounds enum values in C++
Commit: 38d0b2d174efe05504a18988299b4d78d37999b7
https://github.com/llvm/llvm-project/commit/38d0b2d174efe05504a18988299b4d78d37999b7
Author: Rafael Ubal <rubal at mathworks.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
A mlir/test/Dialect/Shape/unranked-tensor-lowering.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] New canonicalization patterns for shape.shape_of and tensor.reshape (#98531)
This PR includes 3 new canonicalization patterns:
- Operation `shape.shape_of`: shape of reshape
```
// Before
func.func @f(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>) -> tensor<?xindex> {
%reshape = tensor.reshape %arg0(%arg1) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
%0 = shape.shape_of %reshape : tensor<*xf32> -> tensor<?xindex>
return %0 : tensor<?xindex>
}
// After
func.func @f(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>) -> tensor<?xindex> {
return %arg1 : tensor<?xindex>
}
```
- Operation `tensor.reshape`: reshape of reshape
```
// Before
func.func @fold_tensor_reshape(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>, %arg2: tensor<?xindex>) -> tensor<*xf32> {
%0 = tensor.reshape %arg0(%arg1) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
%1 = tensor.reshape %0(%arg2) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
return %1 : tensor<*xf32>
}
// After
func.func @fold_tensor_reshape(%arg0: tensor<*xf32>, %arg1: tensor<?xindex>, %arg2: tensor<?xindex>) -> tensor<*xf32> {
%reshape = tensor.reshape %arg0(%arg2) : (tensor<*xf32>, tensor<?xindex>) -> tensor<*xf32>
return %reshape : tensor<*xf32>
}
```
- Operation `tensor.reshape`: reshape 1D to 1D
```
// Before
func.func @fold_reshape_1d(%input: tensor<?xf32>, %shape: tensor<1xindex>) -> tensor<?xf32> {
%0 = tensor.reshape %input(%shape) : (tensor<?xf32>, tensor<1xindex>) -> tensor<?xf32>
return %0 : tensor<?xf32>
}
// After
func.func @fold_reshape_1d(%arg0: tensor<?xf32>, %arg1: tensor<1xindex>) -> tensor<?xf32> {
return %arg0 : tensor<?xf32>
}
```
These three canonicalization patterns cooperate to simplify the IR
structure emerging from the lowering of certain element-wise ops with
unranked tensor inputs. See file `unranked-tensor-lowering.mlir` in the
proposed change list for a detailed example and description.
For context, this PR is meant to enable code optimizations for the code
generated while lowering ops `quant.qcast` and `quant.dcast` with
unranked tensors, as proposed in
https://discourse.llvm.org/t/rfc-improvements-in-the-quant-dialect/79942
(implementation currently in progress).
Commit: 4c28494e7842b26a566f9406f71510eda4a9e576
https://github.com/llvm/llvm-project/commit/4c28494e7842b26a566f9406f71510eda4a9e576
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/trunc-bv-multi-uses.ll
Log Message:
-----------
[SLP][NFC]Add a test for incorrect minbitwidth analysis for trunc'ed bv, NFC.
Commit: c719d7b390481b095c7498fe75a0bcf60a24bad9
https://github.com/llvm/llvm-project/commit/c719d7b390481b095c7498fe75a0bcf60a24bad9
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
Log Message:
-----------
[FMV][AArch64] Do not optimize away runtime checks for implied features (#99522)
When generating the body of the ifunc resolver, clang skips runtime
checks for features that are implied from the command line. We bend this
rule for certain features (memtag, bti, dgh), but this happens quite
arbitrarily in my opinion. The reasoning is that some features are in
the HINT instruction space, meaning they operate as NOPs if the hardware
does not support them. Still the user wants to detect their presence
with runtime checks. See #90928 for details.
I think we should always perform runtime checks regardless of the
feature and then try to statically resolve calls whenever a function is
compiled with a sufficiently high set of architecture features (so
including target/target_version/target_clones attributes, and command
line options). This is what GCC does. We have an open PR in LLVM
GlobalOpt since it was suggested not to perform such codegen
optimizations in clang anyway. See #87939.
Commit: e2f463b5b64a3574e90be7375b2d2c87fa7e92c1
https://github.com/llvm/llvm-project/commit/e2f463b5b64a3574e90be7375b2d2c87fa7e92c1
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-acos.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-asin.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-cosh.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-sinh.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-tanh.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
M llvm/test/CodeGen/AArch64/vec-libcalls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
Log Message:
-----------
[aarch64] Add hyperbolic and arc trig intrinsic lowering (#98937)
## The change(s)
- `VecFuncs.def`: define intrinsic to sleef/armpl mapping
- `LegalizerHelper.cpp`: add missing `fewerElementsVector` handling for
the new trig intrinsics
- `AArch64ISelLowering.cpp`: Add arch64 specializations for lowering
like neon instructions
- `AArch64LegalizerInfo.cpp`: Legalize the new trig intrinsics. aarch64
has specail legalization requirments in `AArch64LegalizerInfo.cpp`. If
we redirect the clang builtin without handling this we will break the
aarch64 compiler
## History
This change is part of an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
This change adds wasm lowering cases for `acos`, `asin`, `atan`, `cosh`,
`sinh`, and `tanh`.
https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966
## Why is aarch64 needed
The last step is to redirect the `acos`, `asin`, `atan`, `cosh`, `sinh`,
and `tanh` to emit the intrinsic. We can't emit the intrinsic without
the intrinsics becoming legal for aarch64 in `AArch64LegalizerInfo.cpp`
Commit: def3944df822687fa04626a6750ccdea156b3870
https://github.com/llvm/llvm-project/commit/def3944df822687fa04626a6750ccdea156b3870
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
A llvm/test/CodeGen/WebAssembly/libcalls-trig.ll
Log Message:
-----------
[WebAssembly] Add Support for Arc and Hyperbolic trig llvm intrinsics (#98755)
## Change:
- WebAssemblyRuntimeLibcallSignatures.cpp: Expose the RTLIB's for use by
WASM
- Add trig specific test cases
## History
This change is part of an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics.
Which was discussed in this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
This change adds wasm lowering cases for `acos`, `asin`, `atan`, `cosh`,
`sinh`, and `tanh`.
https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966
## Why Web Assembly?
>From past changes to try and support constraint intrinsics the changes
to the trig builtins to emit intrinsics\constraint intrinsics broke the
WASM build. This is an attempt to preempt any such build break.
- https://github.com/llvm/llvm-project/pull/95082
-
https://github.com/llvm/llvm-project/pull/94559#issuecomment-2159923215
Commit: a14baec0f33ec495e7d96e2ef99ed238f0d2069e
https://github.com/llvm/llvm-project/commit/a14baec0f33ec495e7d96e2ef99ed238f0d2069e
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/libcalls.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGenOpenCL/builtins-f16.cl
Log Message:
-----------
[clang] Emit constraint intrinsics for arc and hyperbolic trig clang builtins (#98949)
## Change(s)
- `Builtins.td` - Add f16 support for libm arc and hyperbolic trig
functions
- `CGBuiltin.cpp` - Emit constraint intrinsics for trig clang builtins
## History
This change is part of an implementation of
https://github.com/llvm/llvm-project/issues/87367's investigation on
supporting IEEE math operations as intrinsics. Which was discussed in
this RFC:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
This change adds wasm lowering cases for `acos`, `asin`, `atan`, `cosh`,
`sinh`, and `tanh`.
https://github.com/llvm/llvm-project/issues/70079
https://github.com/llvm/llvm-project/issues/70080
https://github.com/llvm/llvm-project/issues/70081
https://github.com/llvm/llvm-project/issues/70083
https://github.com/llvm/llvm-project/issues/70084
https://github.com/llvm/llvm-project/issues/95966
## Precursor PR(s)
Note this PR needs Merge after:
- #98937
- #98755
Commit: 7e37d021022b0786a704a89abae2014692158b2f
https://github.com/llvm/llvm-project/commit/7e37d021022b0786a704a89abae2014692158b2f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/include/llvm-libc-types/struct_statvfs.h
M libc/src/sys/statvfs/fstatvfs.h
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/statvfs/statvfs.h
Log Message:
-----------
[libc] Fix headers for statvfs implementation
Summry:
@lntue
Commit: f6e01b9ece1e73f6eda6e1dbff3aa72e917f4007
https://github.com/llvm/llvm-project/commit/f6e01b9ece1e73f6eda6e1dbff3aa72e917f4007
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/trunc-bv-multi-uses.ll
Log Message:
-----------
[SLP]Do not trunc bv nodes, if the user is vectorized an requires wider type.
If at least a single user of the gathered trunc'ed instruction is
vectorized and requires wider type, than the trunc node, such
gathers/buildvectors should not be optimized for better bitwidth.
Commit: f1c27a9b269ead54d348e19b78b608c961c9e647
https://github.com/llvm/llvm-project/commit/f1c27a9b269ead54d348e19b78b608c961c9e647
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
A a-abfdec1d.o.tmp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/Driver/ftime-trace-sections.cpp
M clang/test/Driver/ftime-trace.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
Log Message:
-----------
Reapply "Add source file name for template instantiations in -ftime-trace" (#99545)
Fix the Windows test.
Commit: 9da9127fec7b0a252b80d60b09b8c0ccedb41672
https://github.com/llvm/llvm-project/commit/9da9127fec7b0a252b80d60b09b8c0ccedb41672
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/src/__support/FPUtil/Hypot.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/hypotf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/HypotTest.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Fix signaling nan handling of hypot(f) and improve hypotf performance. (#99432)
The errors were reported by Paul Zimmermann with the CORE-MATH project's
test suites:
```
zimmerma at tartine:/tmp/core-math$ CORE_MATH_CHECK_STD=true LIBM=$L ./check.sh hypot
Running worst cases check in --rndn mode...
FAIL x=snan y=inf ref=qnan z=inf
Running worst cases check in --rndz mode...
FAIL x=snan y=inf ref=qnan z=inf
Running worst cases check in --rndu mode...
FAIL x=snan y=inf ref=qnan z=inf
Running worst cases check in --rndd mode...
Spurious inexact exception for x=0x1.ffffffffffffep+24 y=0x1p+0 (z=0x1.0000000000001p+25)
```
Commit: 71e2b8df30ad78f5f86bf0d6729296282e061a5c
https://github.com/llvm/llvm-project/commit/71e2b8df30ad78f5f86bf0d6729296282e061a5c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
Log Message:
-----------
[clang] NFC, simplify the code in CheckExprLifetime.cpp (#99637)
No need to get the Owner/Pointer attr via the type. The Decl has this
attr information.
Commit: f9f6f5a9c7748fe485adee206748adf28a849b79
https://github.com/llvm/llvm-project/commit/f9f6f5a9c7748fe485adee206748adf28a849b79
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/test/CodeGen/tbaa-pointers.c
Log Message:
-----------
[TBAA] Remove remaining entry BB in check lines for tbaa-pointers.c (2)
Missed out of 47c08fb8d79ec.
Commit: 4b9fab591916eec9fd1942f37afe3b137b564089
https://github.com/llvm/llvm-project/commit/4b9fab591916eec9fd1942f37afe3b137b564089
Author: David Truby <david.truby at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
Log Message:
-----------
[flang][OpenMP] Implement lastprivate with collapse (#99500)
This patch enables the lastprivate clause to be used in the presence of
the collapse clause.
Note: the way we currently implement lastprivate means that this adds a
large number of compare instructions to the end of every iteration of
the loop. This is a clearly non-optimal thing to do, but lastprivate in
general will need re-implementing to prevent this. This is planned as
part of the delayed privatization work. This current implementation is
just a stop-gap measure as generating sub-optimal but working code is
better than crashing out.
Commit: 9d86722eeecbb1dd6a53c10f7c44fdc317de6809
https://github.com/llvm/llvm-project/commit/9d86722eeecbb1dd6a53c10f7c44fdc317de6809
Author: Dhruv Chauhan <dhruv.chauhan at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] Add lowering for `tosa.sin` and `tosa.cos` (#99651)
Lower tosa ops to `mlir::math::SinOp` and `mlir::math::CosOp` as part of
the tosa to linalg conversion.
Added lit tests for conversion.
Commit: ac11430983d0d89b7ccd8e10a1a3d02ad7e2208d
https://github.com/llvm/llvm-project/commit/ac11430983d0d89b7ccd8e10a1a3d02ad7e2208d
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/src/time/linux/nanosleep.cpp
Log Message:
-----------
[libc] Fix missing sysroot path for kernel headers when crosscompiling (#99588)
When crosscompiling, we need to search for the linux kernel headers in the sysroot but since #97486 the linux kernel headers were always searched in /usr/include.
This patch fixes this behaviour by prepending a '=' to where we search for the kernel headers. As per the gcc/clang's documentation a '=' before the path is replaced by the sysroot.
This patch also includes a fix for rv32, that fails to compile due to a missing definition of CLOCK_REALTIME after this change.
Commit: cf50a84dc0327c1ff732011d74d2c126a2b93af6
https://github.com/llvm/llvm-project/commit/cf50a84dc0327c1ff732011d74d2c126a2b93af6
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/test/CodeGen/ubsan-function.cpp
Log Message:
-----------
[PAC] Authenticate function pointers in UBSan type checks (#99590)
The function pointer needs to be authenticated before doing the type
checks.
Commit: d463617d7772c5e3275cf8c4a8a21d17b3d03d86
https://github.com/llvm/llvm-project/commit/d463617d7772c5e3275cf8c4a8a21d17b3d03d86
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/CodeGen/ptrauth-function-type-discriminator.c
Log Message:
-----------
[PAC] Fix a crash when signing a pointer to a function with an incomplete enum parameter (#99595)
Use int as the underlying type when the enum type is incomplete.
Commit: 2d69c3628bb23a33e5fa36c6ec02fdc57c622dde
https://github.com/llvm/llvm-project/commit/2d69c3628bb23a33e5fa36c6ec02fdc57c622dde
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M compiler-rt/test/tsan/debug_alloc_stack.cpp
Log Message:
-----------
[tsan] Consume leading zeroes in a test
Follow up to #98578
Commit: d1ca1d017fe2712dd53adb6072fe1c1e5e1c7cb1
https://github.com/llvm/llvm-project/commit/d1ca1d017fe2712dd53adb6072fe1c1e5e1c7cb1
Author: Guillermo Callaghan <guillermo.callaghan at huawei.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Linalg/continuous-tiling-full.mlir
Log Message:
-----------
[mlir] Makes `zip_shortest` an optional keyword in `transform.foreach` (#98492)
This PR addresses a [comment] made by @ftynse about the syntax for
`ForeachOp`. The syntax was modified by @muneebkhan85 in #82792, where
the attribute dictionary was moved to the middle.
This patch moves it back to its original place at the end. And
introduces an optional keyword for `zip_shortest`.
[comment]:
https://github.com/llvm/llvm-project/pull/82792#pullrequestreview-2132814144
Commit: da44c0695c0c0a0865687b8c4b6fad7d786a7e40
https://github.com/llvm/llvm-project/commit/da44c0695c0c0a0865687b8c4b6fad7d786a7e40
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++][docs] Add tip for developers running the test suite on macOS (#99544)
Commit: 2f8c786846972f85a1967502050675c724a2904d
https://github.com/llvm/llvm-project/commit/2f8c786846972f85a1967502050675c724a2904d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libcxx/utils/ci/buildkite-pipeline.yml
Log Message:
-----------
[libc++] Refactor buildkite-pipeline.yml (#99483)
This patch removes unused stuff from the Buildkite pipeline definition.
Commit: 600d4937521210eb8c5fd3e1107e50ec5cb246f2
https://github.com/llvm/llvm-project/commit/600d4937521210eb8c5fd3e1107e50ec5cb246f2
Author: David Green <david.green at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
A llvm/lib/Target/AArch64/peephole-sxtw.mir
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
Log Message:
-----------
[AArch64] Remove superfluous sxtw in peephole opt (#96293)
Across a basic-block we might have an i32 extract from a value that only
operates on upper bits (for example a sxtw). We can replace the COPY
with a new version skipping the sxtw.
This is a re-commit of 7f2a5dfe35f8bbaca2819644c7aa844f938befd6, with a fix for
removing all the intermediate COPY nodes (and some extra debug logging).
Commit: 1bdd761c4c12d016c90db82b36d93b09869703ae
https://github.com/llvm/llvm-project/commit/1bdd761c4c12d016c90db82b36d93b09869703ae
Author: David Green <david.green at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
R llvm/test/CodeGen/AArch64/arm64-sqxtn2-combine.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
Log Message:
-----------
[AArch64] Additional sqxtn and uqxtn tests. NFC
There are also some sqxtun2 tests if I got them correct. The
arm64-sqxtn2-combine.ll test was moved to qmovn to keep them
in the same place.
Commit: 6e68b75e6634e9809e2af5d68c87a4eb4282217e
https://github.com/llvm/llvm-project/commit/6e68b75e6634e9809e2af5d68c87a4eb4282217e
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/vni8-live-reg-opt.ll
Log Message:
-----------
[AMDGPU] Reland: Do not use original PHIs in coercion chains
Change-Id: I579b5c69a85997f168ed35354b326524b6f84ef7
Commit: 09fec4688234d899c82a5526874177c734dcc91b
https://github.com/llvm/llvm-project/commit/09fec4688234d899c82a5526874177c734dcc91b
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/lit.local.cfg
R llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt
Log Message:
-----------
[AMDGPU][RFC] Combine asm and disasm tests. (#92895)
Eliminates the need to replicate the same instructions in MC and
MC/Disassembler tests and synchronize changes in them. Also highlights
differences between disassembled, reassembled and original instructions.
Commit: 04760bfadb399cc4ded9b32bd523ec7703aa7462
https://github.com/llvm/llvm-project/commit/04760bfadb399cc4ded9b32bd523ec7703aa7462
Author: nicole mazzuca <nicole at strega-nil.co>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/RangesAlgorithms.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/ranges_find_last.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last_if.pass.cpp
A libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last_if_not.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_nonbool.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][ranges] P1223R5: `find_last` (#99312)
Implements [P1223R5][] completely.
Includes an implementation of `find_last`, `find_last_if`, and
`find_last_if_not`.
[P1223R5]: https://wg21.link/p1223r5
Commit: 22eb290a9696e2a3fd042096c61e35eca2fcce0c
https://github.com/llvm/llvm-project/commit/22eb290a9696e2a3fd042096c61e35eca2fcce0c
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/debug-options.c
M clang/test/Driver/lto-jobs.c
M clang/test/Driver/ps4-linker.c
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
A llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.ll
Log Message:
-----------
[PS4/PS5][Driver][DWARF] Always emit .debug_aranges for SCE tuning (#99629)
Some of SIE's post-mortem analysis infrastructure currently makes use of
.debug_aranges, so we'd like to ensure the section's presence in
PlayStation binaries. The simplest way to do this is force emission when
the debugger tuning is set to SCE (which is in turn typically
initialized from the target triple). This also simplifies the driver.
SIE tracker: TOOLCHAIN-16951
Commit: 2f8b64d327a27a73b57a54eb5d1f28c41e650aee
https://github.com/llvm/llvm-project/commit/2f8b64d327a27a73b57a54eb5d1f28c41e650aee
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M flang/CMakeLists.txt
M flang/module/iso_fortran_env.f90
A flang/module/iso_fortran_env_impl.f90
M flang/runtime/CMakeLists.txt
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Build ISO_FORTRAN_ENV to export kind arrays as linkable symbols (#95388)
Moves definitions of the kind arrays into a Fortran MODULE to not only
emit the MOD file, but also compile that MODULE file into an object
file. This file is then linked into libFortranRuntime.so.
Eventually this workaround PR shoud be redone and a proper runtime build
should be setup that will then also compile Fortran MODULE files.
Fixes #89403
---------
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 9ba524427321b931bad156860755adf420aeec6a
https://github.com/llvm/llvm-project/commit/9ba524427321b931bad156860755adf420aeec6a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Add option to still enable the legacy cost model. (#99536)
This patch adds a new temporary option to still use the legacy cost
model after https://github.com/llvm/llvm-project/pull/92555. It defaults
to false and the only intended use is to adjust the default to true in
the soon-to-be-cut release branch.
PR: https://github.com/llvm/llvm-project/pull/99536
Commit: a56f37d3bc46f711a1bb8eda6839eb51d1af7d11
https://github.com/llvm/llvm-project/commit/a56f37d3bc46f711a1bb8eda6839eb51d1af7d11
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
A flang/test/Lower/OpenMP/firstprivate-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
Log Message:
-----------
[flang][Lower] get ultimate symbol when querying if pointer or allocatable (#99528)
This fixes a bug in OpenMP privatisation. The privatised variables are
created as though they are host associated clones of the original
variables. These privatised variables do not contain the allocatable
attribute themselves and so we need to check if the ultimate symbol is
allocatable. Having or not having this flag influences whether lowering
determines that this is a whole allocatable assignment, which then
causes hlfir.assign not to get the realloc flag, which cases the
allocatable not to be allocated when it is assigned to (leading to a
segfault running the newly added test).
I also did the same for pointer variables because I would imagine they
could experience the same issue.
There is no fallout on tests outside of OpenMP, and the gfortran test
suite still passes, so I think this doesn't break host other kinds of
host associated symbols.
Commit: 54dab7dfcfdffe7bd8697737fbd65fda8385d77e
https://github.com/llvm/llvm-project/commit/54dab7dfcfdffe7bd8697737fbd65fda8385d77e
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_origins.ll
Log Message:
-----------
[msan] Implement support for Arm NEON vst{2,3,4} instructions (#99360)
This adds support for vst{2,3,4}, which are not correctly handled by
handleUnknownIntrinsic/handleVector{Load,Store}Intrinsic.
This patch also updates the tests introduced in
https://github.com/llvm/llvm-project/pull/98247 and
https://github.com/llvm/llvm-project/pull/99555
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 0f0cfcff2ca65e295cd84d3eda6f8e93b76cb3a8
https://github.com/llvm/llvm-project/commit/0f0cfcff2ca65e295cd84d3eda6f8e93b76cb3a8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TailDuplicator.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86PreTileConfig.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
Log Message:
-----------
CodeGen: Avoid some references to MachineFunction's getMMI (#99652)
MachineFunction's probably should not include a backreference to
the owning MachineModuleInfo. Most of these references were used
just to query the MCContext, which MachineFunction already directly
stores. Other contexts are using it to query the LLVMContext, which
can already be accessed through the IR function reference.
Commit: a8b90c835291df9a6c152fd32de666192aa0da77
https://github.com/llvm/llvm-project/commit/a8b90c835291df9a6c152fd32de666192aa0da77
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/newhdrgen/tests/input/test_small.yaml
M libc/newhdrgen/tests/test_integration.py
Log Message:
-----------
[libc][newheadergen]: adding entry_point testing (#99587)
Commit: a96c906102e8d0284c7a402eac4fa1ad9ab3e871
https://github.com/llvm/llvm-project/commit/a96c906102e8d0284c7a402eac4fa1ad9ab3e871
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lldb/include/lldb/Target/DynamicLoader.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
Log Message:
-----------
[lldb/Target] Add GetStartSymbol method to DynamicLoader plugins (#99673)
This patch introduces a new method to the dynamic loader plugin, to
fetch its `start` symbol.
This can be useful to resolve the `start` symbol address for instance.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 9b02b75c4d035192d9f24038f70107d7ffbb0f77
https://github.com/llvm/llvm-project/commit/9b02b75c4d035192d9f24038f70107d7ffbb0f77
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
Log Message:
-----------
[libc] Increase test timeout (#99678)
This patch increases the timeout of the libc test from 1s to 10s, mostly because rv32 runs in a qemu image and sometimes 1s is just not enough for the test to finish when there are other tests running in parallel
Commit: 0ca98af7f96fcc5a1e16c314b3da8eb76c510207
https://github.com/llvm/llvm-project/commit/0ca98af7f96fcc5a1e16c314b3da8eb76c510207
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
A compiler-rt/test/sanitizer_common/TestCases/FreeBSD/dump_registers_x86_64.cpp
Log Message:
-----------
Dump regs fbsd fix (#99676)
Commit: 49ef0a8dc2d3b8e9d7c515f5eb350d1cc0336ef0
https://github.com/llvm/llvm-project/commit/49ef0a8dc2d3b8e9d7c515f5eb350d1cc0336ef0
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
R llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
M llvm/test/CodeGen/NVPTX/load-store.ll
Log Message:
-----------
Revert "[NVPTX] Add Volta Load/Store Atomics (.relaxed, .acquire, .release) and Volatile (.mmio/.volatile) support" (#99695)
Reverts llvm/llvm-project#98022
Commit: 296a9563690f2fea78e4d746a6d1896262b69da4
https://github.com/llvm/llvm-project/commit/296a9563690f2fea78e4d746a6d1896262b69da4
Author: Shaw Young <58664393+shawbyoung at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Profile/YAMLProfileReader.h
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/match-functions-with-call-graph.test
Log Message:
-----------
[BOLT] Match functions with call graph (#98125)
Implemented call graph function matching. First, two call graphs are
constructed for both profiled and binary functions. Then functions are
hashed based on the names of their callee/caller functions. Finally,
functions are matched based on these neighbor hashes and the
longest common prefix of their names. The `match-with-call-graph`
flag turns this matching on.
Test Plan: Added match-with-call-graph.test. Matched 164 functions
in a large binary with 10171 profiled functions.
Commit: ffda5212282b0b3ff943690738b314e3ac5254c3
https://github.com/llvm/llvm-project/commit/ffda5212282b0b3ff943690738b314e3ac5254c3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libcxx/vendor/llvm/default_assertion_handler.in
Log Message:
-----------
[libc++] Make libc++ forward-compatible with AppleClang's definition of __builtin_verbose_trap (#99529)
AppleClang as included in the Xcode 16 beta implements
`__builtin_verbose_trap`, but it implements slightly different semantics
from the ones implemented upstream. This patch makes libc++ compatible
with either definition until we drop support for the version of
AppleClang that differs from upstream.
Commit: d54ec64f6743dee346bd22298577edf1985ce0b8
https://github.com/llvm/llvm-project/commit/d54ec64f6743dee346bd22298577edf1985ce0b8
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF] Remove deprecated opt (#99575)
Remove deprecated DeterministicDebugInfo option and its uses.
Commit: 63625f4406ac9ed419d72f11e701ec94dd72e317
https://github.com/llvm/llvm-project/commit/63625f4406ac9ed419d72f11e701ec94dd72e317
Author: vporpo <vporpodas at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement LoadInst (#99597)
This patch implements a `LoadInst` instruction in SandboxIR. It mirrors
`llvm::LoadInst`.
Commit: 2b371003d101ccc50081c08c7ed5fd7dcbfdef71
https://github.com/llvm/llvm-project/commit/2b371003d101ccc50081c08c7ed5fd7dcbfdef71
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][docs] Update documentation for `vector.multi_reduction`. NFC (#99668)
Commit: 9d03275550d33636a066f84ee3aab81ad1339637
https://github.com/llvm/llvm-project/commit/9d03275550d33636a066f84ee3aab81ad1339637
Author: Tacet <4922191+AdvenamTacet at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[ASan][libc++] Turn off SSO annotations for Apple platforms (#96269)
This commit disables short string AddressSanitizer annotations on Apple
platforms as a temporary solution to the problem reported in #96099.
For more information on Apple's block implementation, please refer to
clang/docs/Block-ABI-Apple.rst [1]. The core issue lies in the fact
that blocks are unaware of their content, causing AddressSanitizer
errors when blocks are moved using `memmove`.
I believe - and I'm not alone - that the issue should ideally be
addressed within the block moving logic. However, this patch provides
a temporary fix until a proper resolution exists in the Blocks runtime.
[1]: https://github.com/llvm/llvm-project/blob/main/clang/docs/Block-ABI-Apple.rst
Commit: 837d606458f014ceed1b5d4504909f32b83362a8
https://github.com/llvm/llvm-project/commit/837d606458f014ceed1b5d4504909f32b83362a8
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/HypotTest.h
Log Message:
-----------
[libc] Temporarily disable hypotf sNaN tests for NVPTX targets. (#99708)
https://lab.llvm.org/buildbot/#/builders/101/builds/2269
Commit: 9e74f6600c37131f90736124f7ac4c0901a1746a
https://github.com/llvm/llvm-project/commit/9e74f6600c37131f90736124f7ac4c0901a1746a
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
A compiler-rt/test/sanitizer_common/TestCases/FreeBSD/dump_registers_i386.cpp
Log Message:
-----------
[compiler-rt] dump registers for FreeBSD/i386 (#99702)
Commit: 84658fb82b67fc22ecba1560d0cddd09f9104178
https://github.com/llvm/llvm-project/commit/84658fb82b67fc22ecba1560d0cddd09f9104178
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/debug-options.c
M clang/test/Driver/lto-jobs.c
M clang/test/Driver/ps4-linker.c
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
R llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.ll
Log Message:
-----------
Revert "[PS4/PS5][Driver][DWARF] Always emit .debug_aranges for SCE t… (#99711)
…uning (#99629)"
This reverts commit 22eb290a9696e2a3fd042096c61e35eca2fcce0c.
Commit: a2f61ba08bebe0be50d3622f2535bc3a1d7e414f
https://github.com/llvm/llvm-project/commit/a2f61ba08bebe0be50d3622f2535bc3a1d7e414f
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/fadd.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fadd.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/fadd_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/fadd_test.cpp
Log Message:
-----------
[libc][math]fadd implementation (#99694)
- **[libc] math fadd**
- **[libc][math] implemented fadd**
Commit: 56ffbd97fda16008d02180a460211829354f1094
https://github.com/llvm/llvm-project/commit/56ffbd97fda16008d02180a460211829354f1094
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M .github/workflows/issue-write.yml
A .github/workflows/unprivileged-download-artifact/action.yml
Log Message:
-----------
[workflows] Avoid usage of access token in issue-write.yml (#94011)
This adds a new composite workflow that allows you to download artifacts
from other workflows without using an access token.
actions/download-artifact from GitHub requires an access token in order
to download artifacts from a different workflow, which is why we can't
use it here if we want to avoid using a token.
See
https://github.com/actions/download-artifact?tab=readme-ov-file#download-artifacts-from-other-workflow-runs-or-repositories
Commit: fada9227325b3eaa0bdc09a486f29a7f08b7b3fb
https://github.com/llvm/llvm-project/commit/fada9227325b3eaa0bdc09a486f29a7f08b7b3fb
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
Log Message:
-----------
[LLDB][SBSaveCoreOptions] Fix TestProcessSaveCore (#99692)
In #98403 some of the tests were transitioned to the new
`SBProcess::SaveCore(SBSaveCoreOptions)` API, but were not detected in
testing. This patch addresses that.
Commit: b686600a57f37a938d5ede54b789d6b3543561b0
https://github.com/llvm/llvm-project/commit/b686600a57f37a938d5ede54b789d6b3543561b0
Author: Daniel Hill <dhhillaz at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT] Skip instruction shortening (#93032)
Add the ability to disable the instruction shortening pass through
--shorten-instructions=false
Commit: b172f4aabe7918362cbac54e394657c37627238c
https://github.com/llvm/llvm-project/commit/b172f4aabe7918362cbac54e394657c37627238c
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/SandboxIR/SandboxIR.cpp
Log Message:
-----------
[SandboxIR] Fix -Wunused-variable in SandboxIR.cpp (NFC)
/llvm-project/llvm/lib/SandboxIR/SandboxIR.cpp:584:8:
error: unused variable 'Pair' [-Werror,-Wunused-variable]
auto Pair = LLVMValueToValueMap.insert({VPtr->Val, std::move(VPtr)});
^
1 error generated.
Commit: 7f563232d685f0070d2c6bc74a134e4019dcadc1
https://github.com/llvm/llvm-project/commit/7f563232d685f0070d2c6bc74a134e4019dcadc1
Author: Itis-hard2name <chenwei at xfusion.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M bolt/docs/OptimizingClang.md
Log Message:
-----------
[bolt][Docs] fix missing option in cmake of stage3 in OptimizingClang.md (#93684)
Fixes #93681
Commit: 1ee8238f0eab75386522a002c2cbb6146284c0c1
https://github.com/llvm/llvm-project/commit/1ee8238f0eab75386522a002c2cbb6146284c0c1
Author: klensy <klensy at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M bolt/test/AArch64/update-debug-reloc.test
M bolt/test/AArch64/veneer-gold.s
M bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
M bolt/test/X86/dwarf5-one-loclists-two-bases.test
M bolt/test/X86/dwarf5-two-loclists.test
M bolt/test/X86/dwarf5-two-rnglists.test
Log Message:
-----------
[BOLT][test] Fix Filecheck typos (#93979)
Fixes few FileCheck typos in tests and add missing(?) filecheck call in
test.
Co-authored-by: klensy <nightouser at gmail.com>
Commit: 8bc02bf5c6e94489a79c8d924e5d9866fcc18417
https://github.com/llvm/llvm-project/commit/8bc02bf5c6e94489a79c8d924e5d9866fcc18417
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M bolt/docs/generate_doc.py
M bolt/test/perf2bolt/lit.local.cfg
Log Message:
-----------
fix(bolt/**.py): fix comparison to None (#94012)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: be7f1827ff180df7d3f585432048e784eaa932ee
https://github.com/llvm/llvm-project/commit/be7f1827ff180df7d3f585432048e784eaa932ee
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use llvm::all_of in LoopVectorizationCostModel::getMaximizedVFForTarget. NFC (#99585)
Commit: 05f0e86cc895181b3d2210458c78938f83353002
https://github.com/llvm/llvm-project/commit/05f0e86cc895181b3d2210458c78938f83353002
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lldb/include/lldb/Target/Thread.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
Log Message:
-----------
[lldb] Change lldb's breakpoint handling behavior (#96260)
lldb today has two rules: When a thread stops at a BreakpointSite, we
set the thread's StopReason to be "breakpoint hit" (regardless if we've
actually hit the breakpoint, or if we've merely stopped *at* the
breakpoint instruction/point and haven't tripped it yet). And second,
when resuming a process, any thread sitting at a BreakpointSite is
silently stepped over the BreakpointSite -- because we've already
flagged the breakpoint hit when we stopped there originally.
In this patch, I change lldb to only set a thread's stop reason to
breakpoint-hit when we've actually executed the instruction/triggered
the breakpoint. When we resume, we only silently step past a
BreakpointSite that we've registered as hit. We preserve this state
across inferior function calls that the user may do while stopped, etc.
Also, when a user adds a new breakpoint at $pc while stopped, or changes
$pc to be the address of a BreakpointSite, we will silently step past
that breakpoint when the process resumes. This is purely a UX call, I
don't think there's any person who wants to set a breakpoint at $pc and
then hit it immediately on resuming.
One non-intuitive UX from this change, but I'm convinced it is
necessary: If you're stopped at a BreakpointSite that has not yet
executed, you `stepi`, you will hit the breakpoint and the pc will not
yet advance. This thread has not completed its stepi, and the thread
plan is still on the stack. If you then `continue` the thread, lldb will
now stop and say, "instruction step completed", one instruction past the
BreakpointSite. You can continue a second time to resume execution. I
discussed this with Jim, and trying to paper over this behavior will
lead to more complicated scenarios behaving non-intuitively. And mostly
it's the testsuite that was trying to instruction step past a breakpoint
and getting thrown off -- and I changed those tests to expect the new
behavior.
The bugs driving this change are all from lldb dropping the real stop
reason for a thread and setting it to breakpoint-hit when that was not
the case. Jim hit one where we have an aarch64 watchpoint that triggers
one instruction before a BreakpointSite. On this arch we are notified of
the watchpoint hit after the instruction has been unrolled -- we disable
the watchpoint, instruction step, re-enable the watchpoint and collect
the new value. But now we're on a BreakpointSite so the watchpoint-hit
stop reason is lost.
Another was reported by ZequanWu in
https://discourse.llvm.org/t/lldb-unable-to-break-at-start/78282 we
attach to/launch a process with the pc at a BreakpointSite and
misbehave. Caroline Tice mentioned it is also a problem they've had with
putting a breakpoint on _dl_debug_state.
The change to each Process plugin that does execution control is that
1. If we've stopped at a BreakpointSite that has not been executed yet,
we will call Thread::SetThreadStoppedAtUnexecutedBP(pc) to record
that. When the thread resumes, if the pc is still at the same site, we
will continue, hit the breakpoint, and stop again.
2. When we've actually hit a breakpoint (enabled for this thread or not),
the Process plugin should call Thread::SetThreadHitBreakpointSite().
When we go to resume the thread, we will push a step-over-breakpoint
ThreadPlan before resuming.
The biggest set of changes is to StopInfoMachException where we
translate a Mach Exception into a stop reason. The Mach exception codes
differ in a few places depending on the target (unambiguously), and I
didn't want to duplicate the new code for each target so I've tested
what mach exceptions we get for each action on each target, and
reorganized StopInfoMachException::CreateStopReasonWithMachException to
document these possible values, and handle them without specializing
based on the target arch.
rdar://123942164
Commit: 6747f12931b770f2c0d48ba4b01a55c36ab35e7c
https://github.com/llvm/llvm-project/commit/6747f12931b770f2c0d48ba4b01a55c36ab35e7c
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Split processUnitDIE into two lambdas (#99225)
Split processUnitDIE into two lambdas to separate the processing of DWO
CUs and CUs in the main binary.
Commit: 4a739fb53cacdb850d27b164dd6f173d21d5f083
https://github.com/llvm/llvm-project/commit/4a739fb53cacdb850d27b164dd6f173d21d5f083
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/docs/MSVCCompatibility.rst
Log Message:
-----------
[Clang] [docs] [MSVC] Add sections on `__forceinline` and intrinsic behaviour differences between Clang and MSVC (#99426)
We have had quite a few issues created around how Clang treats
intrinsics vs how MSVC treats intrinsics.
While I was writing this I also added some sections on behaviour changes
that caught me while porting my MSVC codebase to clang-cl.
Hopefully we can point issues around intrinsics to this doc and
hopefully it is useful to others who run into similar behaviour
differences.
The behaviour differences highlighted here are differences, as far as I
am aware, that we do not intend to change or fix for MSVC.
Commit: a3ebb669d1027700a2f12bd5e075ad3fde3d4f70
https://github.com/llvm/llvm-project/commit/a3ebb669d1027700a2f12bd5e075ad3fde3d4f70
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
[libc][math]: updated math docs for newhdrgen (#99715)
Commit: 52c08d7ffd380f4abd819c20bec76252272f6337
https://github.com/llvm/llvm-project/commit/52c08d7ffd380f4abd819c20bec76252272f6337
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lldb/include/lldb/Target/Thread.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
Log Message:
-----------
Revert "[lldb] Change lldb's breakpoint handling behavior (#96260)"
This reverts commit 05f0e86cc895181b3d2210458c78938f83353002.
The debuginfo dexter tests are failing, probably because the way
stepping over breakpoints has changed with my patches. And there
are two API tests fails on the ubuntu-arm (32-bit) bot. I'll need
to investigate both of these, neither has an obvious failure reason.
Commit: cfc22605f61baf83035dba2e7c6db547a3fb7c62
https://github.com/llvm/llvm-project/commit/cfc22605f61baf83035dba2e7c6db547a3fb7c62
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/test/Instrumentation/InstrProfiling/runtime-counter-relocation.ll
Log Message:
-----------
InstrProf: Mark BiasLI as invariant. (#95588)
Bias doesn't change after startup.
The test is enhanced for optimized sequences and atomic ops.
Commit: abaf13ad589d72b356a8788a5095f869d9d038d0
https://github.com/llvm/llvm-project/commit/abaf13ad589d72b356a8788a5095f869d9d038d0
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
R a-abfdec1d.o.tmp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/Driver/ftime-trace-sections.cpp
M clang/test/Driver/ftime-trace.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
Log Message:
-----------
Revert "Reapply "Add source file name for template instantiations in -ftime-trace"" (#99731)
Reverts llvm/llvm-project#99545
There were a couple of issues reported in the PR: a sanitizer warning
(https://lab.llvm.org/buildbot/#/builders/164/builds/1246/steps/14/logs/stdio)
and a tmp file accidentally included in the commit.
Commit: d4dc8e4a85c4a88a9080ac7b4e478498cb5edd33
https://github.com/llvm/llvm-project/commit/d4dc8e4a85c4a88a9080ac7b4e478498cb5edd33
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/test/Instrumentation/InstrProfiling/runtime-counter-relocation.ll
Log Message:
-----------
Fixup for #95588, don't assume `align 8`.
This shall fix aarch64 builders.
Commit: 2d756d9d4c89ac50404f942f2db2f4a402aa0e00
https://github.com/llvm/llvm-project/commit/2d756d9d4c89ac50404f942f2db2f4a402aa0e00
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lld/test/MachO/reproduce-thin-archive-objc.s
Log Message:
-----------
[lld-macho,test] Adjust reproduce-thin-archive-objc.s
When `cd %t` is used, it's conventional to move it above and omit `-o /dev/null`.
We don't check the string before `warning:` since (a) the string is not
very useful and (b) downstream might customize `ctx->e.logName`
(argv[0]).
count 0 is better than `--allow-empty`. In addition, without `2>&1` the
previous test was effective.
Commit: 740161a9b98c9920dedf1852b5f1c94d0a683af5
https://github.com/llvm/llvm-project/commit/740161a9b98c9920dedf1852b5f1c94d0a683af5
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/wasm/Driver.cpp
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
R llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
A llvm/include/llvm/CodeGen/RuntimeLibcalls.h
M llvm/include/llvm/CodeGen/TargetLowering.h
R llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/CMakeLists.txt
R llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMLegalizerInfo.h
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
M llvm/tools/lto/lto.cpp
Log Message:
-----------
Revert "[LLVM][LTO] Factor out RTLib calls and allow them to be dropped (#98512)"
This reverts commit c05126bdfc3b02daa37d11056fa43db1a6cdef69.
(llvmorg-19-init-17714-gc05126bdfc3b)
See #99610
Commit: e2965fe512162baeb5bdb66f1a675a47c7fab5ca
https://github.com/llvm/llvm-project/commit/e2965fe512162baeb5bdb66f1a675a47c7fab5ca
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/IR/CMakeLists.txt
Log Message:
-----------
Revert "[LLVM][LTO] Add missing dependency"
This reverts commit bb604ae9b8adbc0a0852eb68545eff685902f41b.
(llvmorg-19-init-17804-gbb604ae9b8ad)
See #99610
Commit: 168ecd706904d6ce221dc5107da92c56aea7c8e9
https://github.com/llvm/llvm-project/commit/168ecd706904d6ce221dc5107da92c56aea7c8e9
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "[bazel] Fix llvm:Core build (#99054)"
This reverts commit 5b54f36fb607d21c18f9eb56dcf481a9841dee8e.
(llvmorg-19-init-17774-g5b54f36fb607)
See #99610
Commit: 5893b1e297f3a333b30a9d32d0909b77a9fcd31c
https://github.com/llvm/llvm-project/commit/5893b1e297f3a333b30a9d32d0909b77a9fcd31c
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/RuntimeLibcalls.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
Log Message:
-----------
Reformat
Commit: 72d8c2737bb557af9d0c735b9fa30b1b03485627
https://github.com/llvm/llvm-project/commit/72d8c2737bb557af9d0c735b9fa30b1b03485627
Author: Haowei <haowei at google.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia.cmake
Log Message:
-----------
[Fuchsia] Remove linker flags from stage2 pass through (#99722)
This patch removes CMAKE_XXX_LINKER_FLAGS from list of flags that passed
through to stage2 build.
Commit: 672cc8bce0a9306b07680b340617b8afd862adf5
https://github.com/llvm/llvm-project/commit/672cc8bce0a9306b07680b340617b8afd862adf5
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
Log Message:
-----------
[GlobalISel] Allow customizing instruction-select pass
- Allow customizing instruction-select pass to add additional analysis
dependencies.
Reviewers: aemerson, arsenm, aeubanks
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/95724
Commit: 96fb0ea4df27c46b7127dace37fc47718db52779
https://github.com/llvm/llvm-project/commit/96fb0ea4df27c46b7127dace37fc47718db52779
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
Log Message:
-----------
[compiler-rt] remove unneeded comma for pthread_atfork declaration (#99739)
Commit: 37be437b1237ee1e02e72eb59c915be16ad8ee53
https://github.com/llvm/llvm-project/commit/37be437b1237ee1e02e72eb59c915be16ad8ee53
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M lld/MachO/ObjC.cpp
A lld/test/MachO/objc-category-merging-erase-objc-name-test.s
Log Message:
-----------
[lld-macho] Fix erasing category names for ObjC categories (#99400)
We were already not deleting category names for Swift classes as those
names can be reused by other parts. However, I have come across a corner
case where this also happens for ObjC categories - so we can't delete
category names for them either. TODO remains to optimize this behavior
for both ObjC and Swift.
Commit: 06d2176d81cab1d3ed8d0c17f78c1d3ef65cbab8
https://github.com/llvm/llvm-project/commit/06d2176d81cab1d3ed8d0c17f78c1d3ef65cbab8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Move global variable init case to the top
of the respective functions. Previously, we did not properly mark
global zero sized arrays as initialized.
Commit: b201ab8adc812f025490388ef89d5547e63b9d1e
https://github.com/llvm/llvm-project/commit/b201ab8adc812f025490388ef89d5547e63b9d1e
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
Log Message:
-----------
[MC] Move setIncrementalLinkerCompatible() calls to MCWinCOFFStreamer
Similar to setRelaxAll (45b59cb1d42b57a40c79a61afc8d1b8892826480).
Commit: 79a8279edc2e873fea2de3e736eaa0bfccfb6d1d
https://github.com/llvm/llvm-project/commit/79a8279edc2e873fea2de3e736eaa0bfccfb6d1d
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
Log Message:
-----------
[MC] Remove IncrementalLinkerCompatible parameters from create*WinCOFFStreamer
Follow-up to b201ab8adc812f025490388ef89d5547e63b9d1e.
Similar to RelaxAll (4e340356163aaaf2de83cd73f74bca8db735471b).
Commit: c2019a37bdb1375e9f72b2549361cc50ea7729db
https://github.com/llvm/llvm-project/commit/c2019a37bdb1375e9f72b2549361cc50ea7729db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
SelectionDAG: Avoid using MachineFunction::getMMI (#99696)
Commit: 867ff2d4268ca7eed89a24f100b67b68f5329439
https://github.com/llvm/llvm-project/commit/867ff2d4268ca7eed89a24f100b67b68f5329439
Author: Vincent Lee <thevinster at users.noreply.github.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/Inputs/time-tests/a.txt
A llvm/utils/lit/tests/Inputs/time-tests/lit.cfg
A llvm/utils/lit/tests/time-tests.py
Log Message:
-----------
[lit] Add a flag to disable lit time tests (#98270)
LLVM lit assumes control of the test parallelism when running a test
suite. This style of testing doesn't play nicely with build systems like
Buck or Bazel since it prefers finer grained actions on a per-test
level. In order for external build systems to control the test
parallelism, add an option to disable `.lit_test_times.txt` under the
`--skip-test-time-recording` flag, thus allowing other build systems
to determine the parallelism and avoid race conditions when writing
to that file. I went for `--skip-test-time-recording` instead of `--time-tests` in
order to preserve the original functionality of writing to `.lit_test_times.txt`
as the default behavior and only opt-in for those who do _not_ want
`.lit_test_times.txt` file.
Commit: d386a5582b286bbd8a52f2fd3dbc5c8f70a8f60d
https://github.com/llvm/llvm-project/commit/d386a5582b286bbd8a52f2fd3dbc5c8f70a8f60d
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/include/assert.h.def
Log Message:
-----------
[libc] Make static_assert available even if NDEBUG is set (#99742)
This addresses an issue introduced in #98826 where static_assert was
made defined only when NDEBUG is not set which is different from all
other C libraries and breaks any code that uses static_assert and
doesn't guard it with NDEBUG.
Commit: 0d26f65414afe496b00ee803cc24722a9bf3f41d
https://github.com/llvm/llvm-project/commit/0d26f65414afe496b00ee803cc24722a9bf3f41d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/test/AST/Interp/cxx11.cpp
Log Message:
-----------
[clang][Interp] Emit diagnostics if final ltor conversion fails
Commit: bbd4af5da2b741672a8e6f625eb12ea5c2d6220f
https://github.com/llvm/llvm-project/commit/bbd4af5da2b741672a8e6f625eb12ea5c2d6220f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalize-type-conversion.mlir
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Simplify handling of dropped arguments (#97213)
This commit simplifies the handling of dropped arguments and updates
some dialect conversion documentation that is outdated.
When converting a block signature, a `BlockTypeConversionRewrite` object
and potentially multiple `ReplaceBlockArgRewrite` are created. During
the "commit" phase, uses of the old block arguments are replaced with
the new block arguments, but the old implementation was written in an
inconsistent way: some block arguments were replaced in
`BlockTypeConversionRewrite::commit` and some were replaced in
`ReplaceBlockArgRewrite::commit`. The new
`BlockTypeConversionRewrite::commit` implementation is much simpler and
no longer modifies any IR; that is done only in `ReplaceBlockArgRewrite`
now. The `ConvertedArgInfo` data structure is no longer needed.
To that end, materializations of dropped arguments are now built in
`applySignatureConversion` instead of `materializeLiveConversions`; the
latter function no longer has to deal with dropped arguments.
Other minor improvements:
- Add more comments to `applySignatureConversion`.
Note: Error messages around failed materializations for dropped basic
block arguments changed slightly. That is because those materializations
are now built in `legalizeUnresolvedMaterialization` instead of
`legalizeConvertedArgumentTypes`.
This commit is in preparation of decoupling argument/source/target
materializations from the dialect conversion.
This is a re-upload of #96207.
Commit: 62aa596ba19af26f73c292c00d9c7f50df71d836
https://github.com/llvm/llvm-project/commit/62aa596ba19af26f73c292c00d9c7f50df71d836
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.noret.ll
Log Message:
-----------
[AMDGPU] Add no return image_sample intrinsics and instructions (#97542)
An appropriately configured image resource descriptor can trigger
image_sample instructions to store outputs directly to a linked memory
location instead of returning to VGPRs.
This is opaque to the backend as instruction encoding is unchanged;
however, a mechanism is require to allow frontends to communicate that
these instructions do not require destination VGPRs and store to memory.
Flagging these as stores means they will not be optimized away.
Commit: 155f6b49d90357d4062aa97f035f42617565ee26
https://github.com/llvm/llvm-project/commit/155f6b49d90357d4062aa97f035f42617565ee26
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/new-delete.cpp
Log Message:
-----------
[clang][Interp] Fix reporting invalid new/delete expressions
This should be a CCEDiag call and we do *not* abort because of it.
Commit: a8a7d62d0497cf0f9a8b343e0a2e5098f363ae23
https://github.com/llvm/llvm-project/commit/a8a7d62d0497cf0f9a8b343e0a2e5098f363ae23
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
AArch64: Avoid using MachineFunction::getMMI
Commit: b4f3a9662d308c869ac97e4f147edb38bc4f0626
https://github.com/llvm/llvm-project/commit/b4f3a9662d308c869ac97e4f147edb38bc4f0626
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
X86: Avoid using MachineFunction::getMMI
Commit: f65d7fdcf81f1fb01df3446b254f3304589f19c4
https://github.com/llvm/llvm-project/commit/f65d7fdcf81f1fb01df3446b254f3304589f19c4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libcxx/include/vector
M libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp
Log Message:
-----------
[libc++][vector] Fixes shrink_to_fit. (#97895)
This assures shrink_to_fit does not increase the allocated size.
Partly addresses https://github.com/llvm/llvm-project/issues/95161
---------
Co-authored-by: Mital Ashok <mital.vaja at googlemail.com>
Commit: a03935b9841c4e30b27dd9399e0b93191ad443f3
https://github.com/llvm/llvm-project/commit/a03935b9841c4e30b27dd9399e0b93191ad443f3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
Log Message:
-----------
M68k: Remove hasDebugInfo check when deciding to emit CFI (#99750)
No other target checks this, and this is untested. I am trying
to remove the MachineModuleInfo reference from MachineFunction,
and this is the stickiest blocker.
Commit: d8116cfbd6708a79a19ae2e4d15f2d602407972b
https://github.com/llvm/llvm-project/commit/d8116cfbd6708a79a19ae2e4d15f2d602407972b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
Log Message:
-----------
AsmPrinter: Avoid use of MachineFunction::getMMI (#99751)
Commit: 54de554ab8654c7a1f39199c1a491bc80edbba53
https://github.com/llvm/llvm-project/commit/54de554ab8654c7a1f39199c1a491bc80edbba53
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/gpu-libc-headers.c
Log Message:
-----------
[Clang] Fix C library wrappers for offloading (#99716)
Summary:
This block of code wraps around the standard C library includes.
However, the order C library includes are presented is actually
important. If they are visible before the `libc++` headers then it will
cause errors. This patch simply moves the logic to just before it is
normally done. A more optimal solution would be to put this in the
toolchain, however doing it correctly would require knowing the
offloading kind and that would require rewriting the function signature
in all 30 or so ToolChains.
Commit: 710dab6e18ad9ed22c2529b9125d7b8813165ede
https://github.com/llvm/llvm-project/commit/710dab6e18ad9ed22c2529b9125d7b8813165ede
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Remove VPPredInstPHIRecipes without users after region merging.
After merging replicate regions, VPPredInstPHIRecipes may become unused.
Remove them directly instead of moving them to the merged region.
Commit: e77a01d79a48e15c94c89e4aa4bd27424a96b49b
https://github.com/llvm/llvm-project/commit/e77a01d79a48e15c94c89e4aa4bd27424a96b49b
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenConcatenation.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
A clang/test/CXX/cpp/cpp.module/p2.cppm
M clang/test/CXX/module/basic/basic.link/module-declaration.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
M clang/test/SemaCXX/modules.cppm
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P3034R1 Module Declarations Shouldn’t be Macros (#90574)
This PR implement [P3034R1 Module Declarations Shouldn’t be
Macros](https://wg21.link/P3034R1), and refactor the convoluted state
machines in module name lexical analysis.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 7d80ee5bdabbcb25b15fe54297d3f13793e4d8c2
https://github.com/llvm/llvm-project/commit/7d80ee5bdabbcb25b15fe54297d3f13793e4d8c2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/CFGuardLongjmp.cpp
M llvm/lib/CodeGen/EHContGuardCatchret.cpp
M llvm/lib/CodeGen/KCFI.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86IndirectBranchTracking.cpp
M llvm/lib/Target/X86/X86ReturnThunks.cpp
Log Message:
-----------
CodeGen: Use IR function to query Module instead of MachineModuleInfo (#99755)
Commit: 56a9f7ce611ba21f51043d91c965b59e116013f2
https://github.com/llvm/llvm-project/commit/56a9f7ce611ba21f51043d91c965b59e116013f2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Boolean.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/Floating.h
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Integral.h
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/MemberPointer.cpp
M clang/lib/AST/Interp/MemberPointer.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/unittests/AST/Interp/toAPValue.cpp
Log Message:
-----------
[clang][Interp] Pass ASTContext to toAPValue()
Not yet needed, but we need to ASTContext in a later patch when we start
computing proper values for the APValue offset.
Commit: 639560353408f82ca101e12cf4edafa9a492116b
https://github.com/llvm/llvm-project/commit/639560353408f82ca101e12cf4edafa9a492116b
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/test/MC/X86/x86-32-coverage.s
Log Message:
-----------
[X86][MC] Check AdSize16 for 16-bit addressing (#99761)
Fixes: #99735
Commit: 615b7eeaa94d7c2d2c782fcdc21de5b62f3c168e
https://github.com/llvm/llvm-project/commit/615b7eeaa94d7c2d2c782fcdc21de5b62f3c168e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/wasm/Driver.cpp
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
A llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
R llvm/include/llvm/CodeGen/RuntimeLibcalls.h
M llvm/include/llvm/CodeGen/TargetLowering.h
A llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/CMakeLists.txt
A llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMLegalizerInfo.h
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
M llvm/tools/lto/lto.cpp
Log Message:
-----------
Reapply "[LLVM][LTO] Factor out RTLib calls and allow them to be dropped (#98512)"
This reverts commit 740161a9b98c9920dedf1852b5f1c94d0a683af5.
I moved the `ISD` dependencies into the CodeGen portion of the handling,
it's a little awkward but it's the easiest solution I can think of for
now.
Commit: 3c6ea7b7168fdb4d4396bcf67ea0d69495a558b8
https://github.com/llvm/llvm-project/commit/3c6ea7b7168fdb4d4396bcf67ea0d69495a558b8
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/Headers/prfchwintrin.h
M clang/test/CodeGen/attr-target-x86.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
Remove 3DNow! from X86TargetParser. (#99352)
This addresses the spurious inclusion of (now unsupported) target
features '-3dnow' and '-3dnowa' when disabling mmx (when then caused log
output from `clang -mno-mmx`).
It should've been part of PR #96246, but was missed.
Also tweaks the warning in prfchwintrin.h to not recommend the
deprecated mm3dnow.h header.
Commit: 5303ca1496fc5f604f37c071d37821597788e83e
https://github.com/llvm/llvm-project/commit/5303ca1496fc5f604f37c071d37821597788e83e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
A clang/test/AST/Interp/codegen.cpp
Log Message:
-----------
[clang][Interp] Start computing APValue offsets
For array elements, arrays roots and fields.
Commit: af0d731b12983a649e07f25037ee0e16a68ca470
https://github.com/llvm/llvm-project/commit/af0d731b12983a649e07f25037ee0e16a68ca470
Author: PaulXiCao <paul.luckner at rwth-aachen.de>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libcxx/docs/ImplementationDefinedBehavior.rst
M libcxx/docs/Status/Cxx17.rst
M libcxx/docs/Status/Cxx17Papers.csv
A libcxx/docs/Status/SpecialMath.rst
A libcxx/docs/Status/SpecialMathProjects.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
A libcxx/include/__math/special_functions.h
M libcxx/include/cmath
M libcxx/include/module.modulemap
M libcxx/modules/std/cmath.inc
A libcxx/test/std/numerics/c.math/hermite.pass.cpp
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++][math] Mathematical Special Functions: Hermite Polynomial (#89982)
Implementing the Hermite polynomials which are part of C++17's
mathematical special functions. The goal is to get early feedback which
will make implementing the other functions easier. Integration of
functions in chunks (e.g. `std::hermite` at first, then `std::laguerre`,
etc.) might make sense as well (also see note on boost.math below).
I started out from this abandoned merge request:
https://reviews.llvm.org/D58876 .
The C++23 standard defines them in-terms of `/* floating-point type */`
arguments. I have not looked into that.
Note, there is still an ongoing discussion on discourse whether
importing boost.math is an option.
Commit: 4d8e42ea6a89c73f90941fd1b6e899912e31dd34
https://github.com/llvm/llvm-project/commit/4d8e42ea6a89c73f90941fd1b6e899912e31dd34
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/addr-mode.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
Log Message:
-----------
[NVPTX] enforce signed 32 bit type for immediate offset (#99682)
The NVPTX ISA states that an immOff must fit in a signed 32-bit integer
(https://docs.nvidia.com/cuda/parallel-thread-execution/#addresses-as-operands):
> `[reg+immOff]`
>
> a sum of register `reg` containing a byte address plus a constant
> integer byte offset (signed, 32-bit).
>
> `[var+immOff]`
>
> a sum of address of addressable variable `var` containing a byte
> address plus a constant integer byte offset (signed, 32-bit).
Currently we do not consider this constraint, meaning that in some edge
cases we generate invalid PTX when a value is offset by a very large
immediate.
Commit: afbfb16d294af2fd4f6fb3c37bb07b274adef8bc
https://github.com/llvm/llvm-project/commit/afbfb16d294af2fd4f6fb3c37bb07b274adef8bc
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/chrono
A libcxx/test/std/time/time.syn/formatter.zoned_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtime/test_offset_time_zone.h
A libcxx/test/std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.nonmembers/ostream.pass.cpp
Log Message:
-----------
[libc++][TZDB] Implements zoned_time formatters. (#98347)
Implements parts of:
- P0355 Extending to chrono Calendars and Time Zones
- P1361 Integration of chrono with text formatting
- P2372 Fixing locale handling in chrono formatters
Commit: 29be889c2c9c9a92e7ed89bd71d141961517d7e5
https://github.com/llvm/llvm-project/commit/29be889c2c9c9a92e7ed89bd71d141961517d7e5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/config/config.json
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/undefined_behavior.rst
M libc/spec/posix.td
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/pid.cpp
A libc/src/__support/OSUtil/pid.h
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/thread.h
A libc/src/__support/threads/tid.h
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/getpid.h
A libc/src/unistd/gettid.cpp
A libc/src/unistd/gettid.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/getpid.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/do_start.cpp
M libc/test/integration/src/unistd/CMakeLists.txt
M libc/test/integration/src/unistd/fork_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/gettid_test.cpp
Log Message:
-----------
reland "[libc] implement cached process/thread identity (#98989)" (#99765)
Commit: aa86f4f18549583f9227276cd116dbaf5625aa78
https://github.com/llvm/llvm-project/commit/aa86f4f18549583f9227276cd116dbaf5625aa78
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/CodeGen/LLVMTargetMachine.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
Log Message:
-----------
[MC] Remove unnecessary DWARFMustBeAtTheEnd check
36a15cb975334403216e6145d4abece3026af17a introduced the
DWARFMustBeAtTheEnd check to ensure DWARF sections were placed after all
text sections to help avoid out-of-range branches for Darwin ARM. The
commit removed a Darwin ARM hack from
20e5f5ed7930efdf2bd34bf099f24ac88798c5ea (2009), likely due to a
no-longer-relevant assembler limitation.
However, this check is no longer relevant due to the following:
* Our CodeGen approach reliably places DWARF sections at the end.
* Darwin AArch32 is less relevant today.
Removing this check also addresses a minor clang cc1as crash that could
occur when text sections were placed after DWARF sections
(e9ad54b3ee905ea3a77c35ca7d6e843b2c552e0b (2015)).
Commit: d1578848e99a9190ec9d1a5e56a5a88cb0d2649c
https://github.com/llvm/llvm-project/commit/d1578848e99a9190ec9d1a5e56a5a88cb0d2649c
Author: Kevin Gleason <gleasonk at google.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
Log Message:
-----------
Add logging for emit functions in BytecodeWriter.cpp (#99558)
Recently there was a change to materializing unrealized conversion
casts, which inserted conversion that previously did not exist during
legalization (https://github.com/llvm/llvm-project/pull/97903), after
these cases are inserted and then washed away after transformation
completes, it caused the use-list ordering of an op to change in some
cases: `my.add %arg0(use1), %arg0(use2) --> my.add %arg0(use2),
%arg0(use1)`, which subtly changes the bytecode emitted since this is
considered a custom use-list.
When investigating why the bytecode had changed I added the following
logging which helped track down the difference, in my case it showed
extra bytes with "use-list section". With
`-debug-only=mlir-bytecode-writer` emits logs like the following,
detailing the source of written bytes:
```
emitBytes(4b) bytecode header
emitVarInt(6) bytecode version
emitByte(13) bytecode version
emitBytes(17b) bytecode producer
emitByte(0) null terminator
emitVarInt(2) dialects count
...
emitByte(5) dialect version
emitVarInt(4) op names count
emitByte(9) op names count
emitVarInt(0) dialect number
...
emitVarInt(2) dialect writer
emitByte(5) dialect writer
emitVarInt(9259963783827161088) dialect APInt
...
emitVarInt(3) attr/type offset
emitByte(7) attr/type offset
emitByte(3) section code
emitVarInt(18) section size
...
```
Note: this uses string constants and `StringLiteral`, I'm not sure if
these are washed away during compilation / OK to have these around for
debuggin, or if there's a better way to do this? Alternative was adding
many braces and `LLVM_DEBUG` calls at each callsite, but this felt more
error prone / likely to miss some callsites.
Commit: f9dd885cb6e6b70deff935689bb0dfb7d5b6a1a4
https://github.com/llvm/llvm-project/commit/f9dd885cb6e6b70deff935689bb0dfb7d5b6a1a4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libcxx/include/__configuration/abi.h
M libcxx/include/__type_traits/datasizeof.h
M libcxx/include/__utility/pair.h
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivial_copy_move.pass.cpp
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivially_copyable.compile.pass.cpp
Log Message:
-----------
[libc++] Make std::pair trivially copyable if its members are (#89652)
This makes `std::pair` trivially copyable if its members are and we have
a way to do so. We need either C++20 with requires clauses or support
for `__attribute__((enable_if))`. Only Clang has support for this
attribute, so it's effectively clang or C++20.
Co-authored-by: Christopher Di Bella <cjdb at google.com>
Commit: 91bf0a073951aa1ca4c357967ed5aff891941785
https://github.com/llvm/llvm-project/commit/91bf0a073951aa1ca4c357967ed5aff891941785
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/threads/thread.h
M libc/src/stdio/fopencookie.cpp
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/stat/linux/kernel_statx.h
Log Message:
-----------
[libc] Added static casts to fix implicit conversion warnings in 32-bit systems
This patch fixes:
randomness.h and getauxval.cpp were passing ssize_t as size_t
kernel_statx.h was assigning an uint64_t to uintptr_t
fopencookie.cpp was trying to create a FileIOResult using ssize_t but the constructor expected a size_t
thread.h was trying to call free_stack (which takes a size_t) with an unsigned long long. free_stack does the calculations using uintptr_t, so I changed the passing values to size_t
Commit: 18f7ee5f13037acfc96d8324822b7a9d6c7a4f8b
https://github.com/llvm/llvm-project/commit/18f7ee5f13037acfc96d8324822b7a9d6c7a4f8b
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
Log Message:
-----------
[MC] Remove unused Register*Streamer
Object streamers that do not need lib/Target customization do not need
Register*Streamer.
Commit: 2308c7f5c5b5dbb4b9a5a693b122f794fdaf00cd
https://github.com/llvm/llvm-project/commit/2308c7f5c5b5dbb4b9a5a693b122f794fdaf00cd
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/test/src/__support/File/platform_file_test.cpp
Log Message:
-----------
[libc] Enable most of the libc entrypoitns for riscv (#99771)
This patch enables most of the libc entrypoints for riscv, except for fstatvfs, statvfs, dmull and fmull which are currently failing compilation. float16 is also not added, as rv32 doesn't seem to support it yet.
This patch also fixes the call to seek, which should take an off_t, and was missed in PR #68269.
Commit: c59ee7ec627533e00f654d052ade51c9daf7e722
https://github.com/llvm/llvm-project/commit/c59ee7ec627533e00f654d052ade51c9daf7e722
Author: AdityaK <hiraditya at msn.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
A llvm/test/Transforms/HotColdSplit/pr40056.ll
Log Message:
-----------
Fix 40056: Prevent outlining of blocks with token type instructions (#99759)
Hot cold splitting should not outline:
1. Basic blocks with token type instructions
1. Functions with scoped EH personality (As suggested by Vedant in
https://github.com/llvm/llvm-project/issues/40056#issuecomment-981009129)
Fixes: #40056
Commit: 1492e5f1d5a6d302f32ab95910c75b960b611128
https://github.com/llvm/llvm-project/commit/1492e5f1d5a6d302f32ab95910c75b960b611128
Author: dyung <douglas.yung at sony.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
Replace distutils.version with looseversion since the former was deprecated in python 3.10 and removed in 3.12. (#99549)
Python deprecated the distutils package in 3.10, and removed it in 3.12
causing problems when trying to run the lit tests with 3.12.
https://docs.python.org/3.10/library/distutils.html
Replace usage with the looseversion package which should be a drop-in
replacement for the original usage.
If your testing fails after this commit, you need to install the looseversion package.
Commit: 98c0e55d9d31ea0a7b8a1e5395257f10a6a27cc6
https://github.com/llvm/llvm-project/commit/98c0e55d9d31ea0a7b8a1e5395257f10a6a27cc6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
Revert "SelectionDAG: Avoid using MachineFunction::getMMI" (#99777)
Reverts llvm/llvm-project#99696
https://lab.llvm.org/buildbot/#/builders/164/builds/1262
Commit: ce1a87437cc143889665c41046107e84cdf6246e
https://github.com/llvm/llvm-project/commit/ce1a87437cc143889665c41046107e84cdf6246e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating `*` in `#define`s (#99433)
Fixes #99271.
Commit: cc2fb58639a6b87f155e6052f5ef2bbe05d5c378
https://github.com/llvm/llvm-project/commit/cc2fb58639a6b87f155e6052f5ef2bbe05d5c378
Author: Dmitriy Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/directive_abort.s
Log Message:
-----------
[MC,ELF] Use loc from the directive for `.abort` (#99648)
Commit: 569814e862a7ce1de3144e76d0a97253ac161d05
https://github.com/llvm/llvm-project/commit/569814e862a7ce1de3144e76d0a97253ac161d05
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
Log Message:
-----------
[libc] Implement pwait2 using pwait (#99781)
This patch implements pwait2 using pwait. The implementation is an
approximation of pwait2, since pwait only only supports timeouts in
milliseconds, not nanoseconds, as required by pwait2.
Commit: 1f00c4244602e66f98a608bd20d6fb62f11079de
https://github.com/llvm/llvm-project/commit/1f00c4244602e66f98a608bd20d6fb62f11079de
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Assert masked interleave accesses are allowed if needed (NFC)
Add assertion at interleave group construction.
Commit: 28045ceab08d41a8a42d93ebc445e8fe906f884c
https://github.com/llvm/llvm-project/commit/28045ceab08d41a8a42d93ebc445e8fe906f884c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/linkerscript/custom-section-type.s
Log Message:
-----------
[ELF] Support (TYPE=<value>) beside output section address
Support `preinit_array . (TYPE=SHT_PREINIT_ARRAY) : { QUAD(16) }`
Follow-up to https://reviews.llvm.org/D118840
peek2() could be eliminated by a future change.
Commit: 52a46bc31de238f9d5ee3a8be2388781b2af56e4
https://github.com/llvm/llvm-project/commit/52a46bc31de238f9d5ee3a8be2388781b2af56e4
Author: vporpo <vporpodas at google.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement StoreInst (#99707)
This patch adds the SandboxIR StoreInst instruction which mirrors
llvm::StoreInst.
Commit: a23efcc703ce2a4ac534af4fcc2b38765cac9f8f
https://github.com/llvm/llvm-project/commit/a23efcc703ce2a4ac534af4fcc2b38765cac9f8f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Move VPInterleaveRecipe::execute to VPlanRecipes.cpp (NFC).
Move ::exeute and ::print to VPlanRecipes.cpp in line with other recipe
definitions.
Commit: c93554b82aa77cf5fc43fb01a87498e0302f7b36
https://github.com/llvm/llvm-project/commit/c93554b82aa77cf5fc43fb01a87498e0302f7b36
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M lld/ELF/ScriptLexer.cpp
Log Message:
-----------
[ELF] Simplify ScriptLexer::consume. NFC
Commit: efa833dd0f47a4f65df8c64dc145e06d8fb286f2
https://github.com/llvm/llvm-project/commit/efa833dd0f47a4f65df8c64dc145e06d8fb286f2
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M lld/ELF/ScriptParser.cpp
Log Message:
-----------
[ELF] Simplify readExpr. NFC
Commit: 2572a76f230575611678e787fd9ccf6838a4cfe7
https://github.com/llvm/llvm-project/commit/2572a76f230575611678e787fd9ccf6838a4cfe7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
Revert "Replace distutils.version with looseversion since the former was deprecated in python 3.10 and removed in 3.12." (#99786)
Reverts llvm/llvm-project#99549 because it breaks a bunch of build bots.
Commit: 16c24a850d6c60f02bc897e159d24a86aae09555
https://github.com/llvm/llvm-project/commit/16c24a850d6c60f02bc897e159d24a86aae09555
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc] Disable bind test for riscv
Currently it's returning ENXIO on bind and the build bots are failing
Commit: ae2012d701827f224df04d0ae57e89472c1322d2
https://github.com/llvm/llvm-project/commit/ae2012d701827f224df04d0ae57e89472c1322d2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/test/src/sys/epoll/linux/epoll_create_test.cpp
Log Message:
-----------
[libc] Disable epoll_create fail test when SYS_epoll_create1 is used internally (#99785)
The fail test case only makes sense if SYS_epoll_create is used internally to implement epoll_create, since the only argument to epoll_create (size) is dropped if SYS_epoll_create1 is used.
Commit: 7cbd89921bed66e2422ce0b387fa8070b78152e1
https://github.com/llvm/llvm-project/commit/7cbd89921bed66e2422ce0b387fa8070b78152e1
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M compiler-rt/lib/lsan/lsan_interceptors.cpp
Log Message:
-----------
[compiler-rt] lsan remove unneeded comma for pthread_atfork declaration. (#99788)
Commit: ba9b5ff4f745b2c604e13656cdca0e66835dc99a
https://github.com/llvm/llvm-project/commit/ba9b5ff4f745b2c604e13656cdca0e66835dc99a
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M lld/test/ELF/defsym.s
Log Message:
-----------
[ELF,test] Fix RUN line issue in defsym.s
Commit: b828c13f3ceb336bf517fab0223b966ccace100e
https://github.com/llvm/llvm-project/commit/b828c13f3ceb336bf517fab0223b966ccace100e
Author: Hongyu Chen <hongyc4 at uci.edu>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M lld/ELF/ScriptLexer.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
Log Message:
-----------
[ELF] Delete peek2 in Lexer (#99790)
Thanks to Fangrui's change
https://github.com/llvm/llvm-project/commit/28045ceab08d41a8a42d93ebc445e8fe906f884c
so peek2 can be removed.
Commit: 1d5d18924d185a4267462479307f1ff9911cb112
https://github.com/llvm/llvm-project/commit/1d5d18924d185a4267462479307f1ff9911cb112
Author: hev <wangrui at loongson.cn>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
Log Message:
-----------
Revert "[LoongArch] Remove spurious mask operations from andn->icmp on 16 and 8 bit values" (#99792)
Reverts llvm/llvm-project#99272
Commit: c8e69fa4a0bd158fbd63cdb4794dd1232184f155
https://github.com/llvm/llvm-project/commit/c8e69fa4a0bd158fbd63cdb4794dd1232184f155
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M libc/utils/gpu/server/rpc_server.cpp
Log Message:
-----------
[libc] Fix GPU 'printf' on strings with padding
Summary:
We get the `strlen` to know how much memory to allocate here, but it
wasn't taking into account if the padding was larger than the string
itself. This patch sets it to an empty string so we always add the
minimum size. This implementation is slightly wasteful with memory, but
I am not concerned with a few extra bytes here and there for some memory
that gets immediately free'd.
Commit: d69eb7b7ffb33d0be716759a38a235868671705d
https://github.com/llvm/llvm-project/commit/d69eb7b7ffb33d0be716759a38a235868671705d
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
Log Message:
-----------
[MC] Move createMC{Object,Asm}Streamer to .cpp
Currently, the template arguments are incomplete types and unique_ptr&&
has to be used. Moving the implementation to .cpp allows us to
use complete types and unique_ptr.
In addition, add a createMCObjectStreamer overload without unused bool
parameters. The existing createMCObjectStreamer overload, with unused
and confusing bool parameters, will be deprecated.
Commit: b8220b986dcc8c5d0c44a125642009d8175fc11d
https://github.com/llvm/llvm-project/commit/b8220b986dcc8c5d0c44a125642009d8175fc11d
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/lib/CodeGen/LLVMTargetMachine.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCopyBytesTest.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
M llvm/unittests/MC/DwarfLineTableHeaders.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
Log Message:
-----------
[MC] Remove unused bool arguments from createMCObjectStreamer callers
Commit: 6c9086d13fa7e1069e75ed2d139aae30ee3863c8
https://github.com/llvm/llvm-project/commit/6c9086d13fa7e1069e75ed2d139aae30ee3863c8
Author: antangelo <contact at antangelo.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_aapcs.ll
A llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
A llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_win64.ll
Log Message:
-----------
[AArch64] Support varargs for preserve_nonecc (#99434)
Adds varargs support for preserve_none by falling back to C argument
passing for the target platform for varargs functions.
Fixes #95093
Commit: 86e21e1af24f35bab4c34a3e0b7b5846126c3e9f
https://github.com/llvm/llvm-project/commit/86e21e1af24f35bab4c34a3e0b7b5846126c3e9f
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Remove unused bool arguments from createMCObjectStreamer callers
Commit: f1422a86c4a812a7ccd744082741841e596ccea0
https://github.com/llvm/llvm-project/commit/f1422a86c4a812a7ccd744082741841e596ccea0
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
Log Message:
-----------
[MC] Deprecate createMCObjectStreamer with 3 unused trailing bool
Commit: aefe411dae156350721268161e6cac36a8d29333
https://github.com/llvm/llvm-project/commit/aefe411dae156350721268161e6cac36a8d29333
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
Log Message:
-----------
[LoongArch] Add a test for spurious mask removal. NFC
Link: https://github.com/llvm/llvm-project/pull/99272#issuecomment-2241348794
Commit: 52e79ed1e078f69103dcd9234c2494e7dd64b5f7
https://github.com/llvm/llvm-project/commit/52e79ed1e078f69103dcd9234c2494e7dd64b5f7
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/lib/CodeGen/LLVMTargetMachine.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[MC] MCAsmStreamer: use MCTargetOptions
Some bool parameters duplicate MCTargetOptions and might cause
inconsistency/confusion.
Commit: 9e69e6b8c32a3a06ba9e8eafcba3045974ef34be
https://github.com/llvm/llvm-project/commit/9e69e6b8c32a3a06ba9e8eafcba3045974ef34be
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-20 (Sat, 20 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/TargetRegistry.cpp
Log Message:
-----------
[MC] createAsmStreamer: add overload without unused bool parameters
The bool parameters have been made ineffective in favor of
MCTargetOptions options to resolve inconsistency issues. New clients
should not pass the unused bool arguments. The existing overload will be
removed.
Commit: 0caf0c93e759816663af52e8632d1c3953dbc715
https://github.com/llvm/llvm-project/commit/0caf0c93e759816663af52e8632d1c3953dbc715
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
A llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfbin
A llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfscript
A llvm/test/tools/llvm-profgen/Inputs/ip-duplication.perfscript
A llvm/test/tools/llvm-profgen/Inputs/noprobe-skid.perfscript
A llvm/test/tools/llvm-profgen/event-filtering.test
A llvm/test/tools/llvm-profgen/iponly-nodupfactor.test
A llvm/test/tools/llvm-profgen/iponly.test
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
Log Message:
-----------
[llvm-profgen] Support creating profiles of arbitrary events (#99026)
This change introduces two options which may be used to create profiles
of arbitrary PMU events.
1. `--leading-ip-only` provides a simple sample-IP-based profile mode.
This is not useful for building a profile of execution frequency, but it
is useful for building new types of profiles.
For example, to build a profile of unpredictable branches:
perf record -b -e branch-misses:upp -o perf.data ... llvm-profgen
--perfdata perf.data --leading-ip-only ...
2. `--perf-event=event` enables the creation of a profile concerned with
a specific event or set of events. The names given should match the
"event" field as emitted by perf-script(1).
This option has two spellings: `--perf-event` and `--perf-events`. The
plural spelling accepts a comma-separated list. The singular spelling
appends a single event name to the set of events which will be used.
This is meant to accommodate event names containing commas.
Combined, these options allow generating multiple kinds of profiles from
a single `perf record` collection. For example, to generate both
execution frequency and branch mispredict profiles:
perf record -c 1000003 -b -e
br_inst_retired.near_taken:upp,br_misp_retired.all_branches:upp ...
llvm-profgen --output execution.prof
--perf-event=br_inst_retired.near_taken:upp ...
llvm-profgen --leading-ip-only --output unpredictable.prof
--perf-event=br_misp_retired.all_branches:upp ...
These additions are in support of more general HWPGO[^1], allowing
feedback from a wider range of hardware events.
[^1]:
https://llvm.org/devmtg/2024-04/slides/TechnicalTalks/Xiao-EnablingHW-BasedPGO.pdf
---------
Co-authored-by: Tim Creech <tcreech at tcreech.com>
Commit: 05f986e143d3d258e52e1c61b827ca4243cef842
https://github.com/llvm/llvm-project/commit/05f986e143d3d258e52e1c61b827ca4243cef842
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
A llvm/test/Transforms/LoopVectorize/predicate-switch.ll
Log Message:
-----------
[LV] Add tests for loops with switches.
Commit: a41a4ac78294c728fb70a51623c602ea7f3e308a
https://github.com/llvm/llvm-project/commit/a41a4ac78294c728fb70a51623c602ea7f3e308a
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/riscv/feature_bits.c
Log Message:
-----------
[compiler-rt][RISCV] Implement __init_riscv_feature_bits (#85790)
Base on https://github.com/riscv-non-isa/riscv-c-api-doc/pull/74, this
patch defines the `__riscv_feature_bits` and
`__riscv_vendor_feature_bits` structures to store the enabled feature
bits at runtime.
It also introduces the `__init_riscv_feature_bits` function to update
these structures based on the platform query mechanism.
Additionally, the groupid/bitmask definitions from
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/74 are declared
and used to update the `__riscv_feature_bits` and
`__riscv_vendor_feature_bits` structures.
---------
Co-authored-by: Kito Cheng <kito.cheng at gmail.com>
Commit: 14ec4746cc342b3f62fcdd378e409aa1b0e39c3c
https://github.com/llvm/llvm-project/commit/14ec4746cc342b3f62fcdd378e409aa1b0e39c3c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/memory
M libcxx/include/optional
A libcxx/test/std/utilities/memory/unique.ptr/noexcept_operator_star.compile.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const_rvalue.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_rvalue.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp
Log Message:
-----------
[libc++] Makes `unique_ptr operator*() noexcept. (#98047)
This implements
- LWG2762 unique_ptr operator*() should be noexcept.
Differential Revision: https://reviews.llvm.org/D128214
Commit: cbebacef5e12c985ca32c894bcfddec9adb2fc85
https://github.com/llvm/llvm-project/commit/cbebacef5e12c985ca32c894bcfddec9adb2fc85
Author: David Green <david.green at arm.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/qmovn.ll
Log Message:
-----------
[AArch64] Add UQXTN2 patterns
Similar to the existing UQXTN and SQXTN2 patterns, we can generate a UQXTN2
from concat(Vd, trunc(min(X, 255)))
Commit: f6eb89cdd02d73a3c9a0da858c3100986282aceb
https://github.com/llvm/llvm-project/commit/f6eb89cdd02d73a3c9a0da858c3100986282aceb
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M lldb/source/Host/windows/Host.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py
Log Message:
-----------
[lldb][Windows] Fixed Host::Kill() (#99721)
HostProcessWindows::Terminate() correctly uses m_process which type is
process_t (HANDLE) to call ::TerminateProcess(). But Host::Kill() uses a
cast from pid, which is wrong.
This patch fixes #51793
Commit: c8c0b18b5d58415b79ea13b62eee70c130c26a0a
https://github.com/llvm/llvm-project/commit/c8c0b18b5d58415b79ea13b62eee70c130c26a0a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/load-scalarization-cost-0.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
Log Message:
-----------
[LV] Update tests to not have dead interleave groups.
Update existing tests with dead interleave groups by adding users. This
ensures the tests keep testing what they were intended to test with a
planned change to skip unused instructions in cost computations.
Commit: af0f58cf14329f5e0fe56fed7c9eb4cd3107a1ce
https://github.com/llvm/llvm-project/commit/af0f58cf14329f5e0fe56fed7c9eb4cd3107a1ce
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/fsqrt.h
A libc/src/math/fsqrtf128.h
A libc/src/math/fsqrtl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fsqrt.cpp
A libc/src/math/generic/fsqrtf128.cpp
A libc/src/math/generic/fsqrtl.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/fsqrt_test.cpp
A libc/test/src/math/fsqrtl_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/fsqrt_test.cpp
A libc/test/src/math/smoke/fsqrtf128_test.cpp
A libc/test/src/math/smoke/fsqrtl_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c23] Add entrypoints and tests for fsqrt{,l,f128} (#99669)
Commit: 7f17b6b740bd49b84430a46b366381bfc8b74fb0
https://github.com/llvm/llvm-project/commit/7f17b6b740bd49b84430a46b366381bfc8b74fb0
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/lib/CodeGen/LLVMTargetMachine.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[MC] Migrate to new createAsmStreamer that avoids unused bool parameters
Commit: 14a543ea2a1ae0d9e772a34a4e5a87dcc33d5e0f
https://github.com/llvm/llvm-project/commit/14a543ea2a1ae0d9e772a34a4e5a87dcc33d5e0f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][test] Add comments in a test (nfc) (#99810)
Documents which patterns are tested in:
* vector-transfer-collapse-inner-most-dims.mlir.
Commit: 867faeec054abb4c035673189c1169fef45f54c8
https://github.com/llvm/llvm-project/commit/867faeec054abb4c035673189c1169fef45f54c8
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M bolt/lib/Passes/AsmDump.cpp
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/TargetRegistry.cpp
Log Message:
-----------
[MC] Migrate to createAsmStreamer without unused bool parameters
In bolt/lib/Passes/AsmDump.cpp, the MCInstPrinter is created with false
AsmVerbose. The AsmVerbose argument to createAsmStreamer is unused.
Deprecate the legacy Target::createAsmStreamer overload, which might be
used by downstream.
Commit: 233cca169237b91d16092c82bd55ee6a283afe98
https://github.com/llvm/llvm-project/commit/233cca169237b91d16092c82bd55ee6a283afe98
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
Log Message:
-----------
[ARM,Hexagon] Ignore IsVerboseAsm parameter in favor of MCStreamer::isVerboseAsm()
... to improve consistency. Most targets don't use VerboseAsm. When they
do (X86, SystemZ), they use MCStreamer::isVerboseAsm().
Commit: 8f14e39e59c9dc0ea93b098cf8d03fc23c23a7ec
https://github.com/llvm/llvm-project/commit/8f14e39e59c9dc0ea93b098cf8d03fc23c23a7ec
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
Log Message:
-----------
[MC] Remove unnecessary isVerboseAsm from Target::AsmTargetStreamerCtorTy
The parameter is confusing as it duplicates MCStreamer::isVeboseAsm
(initialized from MCTargetOptions::AsmVerbose). After
233cca169237b91d16092c82bd55ee6a283afe98, no in-tree target uses the
parameter.
Commit: e9c851484bfeb270368bc71e9d7a4bec986f91e7
https://github.com/llvm/llvm-project/commit/e9c851484bfeb270368bc71e9d7a4bec986f91e7
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-mca/CodeRegionGenerator.cpp
Log Message:
-----------
[MC] Remove unnecessary isVerboseAsm from createAsmTargetStreamer
Commit: 7f017f0ab4fa9c46ca4c07320a61796b1ca64a63
https://github.com/llvm/llvm-project/commit/7f017f0ab4fa9c46ca4c07320a61796b1ca64a63
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
Log Message:
-----------
[MC] Drop unnecessary MCSymbol::setExternal calls for ELF
Similar to e4c360a897fe062914519d331e8f1e28b2b1fbfd (2020).
Commit: e299b163c78d34cf6fb90f9d928291419b5dcaaf
https://github.com/llvm/llvm-project/commit/e299b163c78d34cf6fb90f9d928291419b5dcaaf
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
[MC] Move isPrivateExtern to MCSymbolMachO
Commit: 6717dc5c47632372e07365e2453b46569bf24e28
https://github.com/llvm/llvm-project/commit/6717dc5c47632372e07365e2453b46569bf24e28
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
Log Message:
-----------
*AsmBackend.cpp: Include StringSwitch.h
They currently get the header from MCLinkerOptimizationHint.h, which
will be removed from MCAssembler.h.
Commit: a2af375556486d8027d229f3fae956af8371aa86
https://github.com/llvm/llvm-project/commit/a2af375556486d8027d229f3fae956af8371aa86
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
[MC] Move LOHContainer to MachObjectwriter
Commit: ecaacd14c35996ad6ee53da6af6c9f4cf36d9110
https://github.com/llvm/llvm-project/commit/ecaacd14c35996ad6ee53da6af6c9f4cf36d9110
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/Driver/ftime-trace-sections.cpp
M clang/test/Driver/ftime-trace.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
Log Message:
-----------
Reapply "Add source file name for template instantiations in -ftime-trace" (#99757)
Reverts https://github.com/llvm/llvm-project/pull/99731
Remove accidentally added temporary file.
Also, fix the uninitialized read of line number.
Commit: 6db2465ce74141f378a290cfa3b56eb69dc379cb
https://github.com/llvm/llvm-project/commit/6db2465ce74141f378a290cfa3b56eb69dc379cb
Author: serge-sans-paille <serge.guelton at telecom-bretagne.eu>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M flang/runtime/derived.cpp
Log Message:
-----------
[Flang][Runtime] Fix implicit conversion warning when targeting 32bit… (#99465)
… architecture
On 32 bit systems, TypeParameterValue is 64bit wide while CFI_index_t is
32bit wide.
Commit: 9539a7796094ff5fb59d9c685140ea2e214b945c
https://github.com/llvm/llvm-project/commit/9539a7796094ff5fb59d9c685140ea2e214b945c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Export llvm::WinCOFFObjectWriter and access it from MCWinCOFFStreamer
Similar to commit 28fcafb50274be2520117eacb0a886adafefe59d (2011) for
MachObjectWriter. MCWinCOFFStreamer can now access WinCOFFObjectWriter
directly without holding object file format specific inforamtion in
MCAssembler (e.g. IncrementalLinkerCompatible).
Commit: ffcd7e98d93cda157b4ab9dddd0aa42f364db576
https://github.com/llvm/llvm-project/commit/ffcd7e98d93cda157b4ab9dddd0aa42f364db576
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCSPIRVObjectWriter.h
M llvm/lib/MC/SPIRVObjectWriter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
Log Message:
-----------
[MC] Export llvm::SPIRVObjectTargetWriter and drop reliance on Mach-o specific VersionInfo
Commit: c1562374c8f24e5f873490639420b9c732b7e33d
https://github.com/llvm/llvm-project/commit/c1562374c8f24e5f873490639420b9c732b7e33d
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/llvm_libc_ext.td
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/dsqrtf128.h
A libc/src/math/dsqrtl.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/dsqrtf128.cpp
A libc/src/math/generic/dsqrtl.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/dsqrtl_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/dsqrtf128_test.cpp
A libc/test/src/math/smoke/dsqrtl_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c23] Add entrypoints and tests for dsqrt{l,f128} (#99815)
Commit: 09a399a1ddbef1e5e51b77fd6bd1792d34697187
https://github.com/llvm/llvm-project/commit/09a399a1ddbef1e5e51b77fd6bd1792d34697187
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
[MC] Move VersionInfo to MachObjectWriter
Commit: 5c83498984dd5d278c40d6650d3f9205b5131550
https://github.com/llvm/llvm-project/commit/5c83498984dd5d278c40d6650d3f9205b5131550
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[Transforms] Use range-based for loops (NFC) (#99607)
Commit: dcebe297367f48a71a5ecea3bcdd54671195da1b
https://github.com/llvm/llvm-project/commit/dcebe297367f48a71a5ecea3bcdd54671195da1b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating StartOfName (#99791)
Fixes #99758.
Commit: 568845ae50650420532f4e2c6b22f5b302fcec38
https://github.com/llvm/llvm-project/commit/568845ae50650420532f4e2c6b22f5b302fcec38
Author: Alexander Belyaev <32522095+pifon2a at users.noreply.github.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
Log Message:
-----------
[mlir] Add a ValueSemantics trait. (#99493)
We need to distinguish ShapedTypes with and without value semantics.
This is needed for downstream users to define their custom vector and
tensor
types that can work with the arith/math dialect.
RFC https://discourse.llvm.org/t/rfc-mlir-types-with-encoding/80189
Commit: a964f2e8a1e98d5ac1fa379ec52b6713ae5cb48a
https://github.com/llvm/llvm-project/commit/a964f2e8a1e98d5ac1fa379ec52b6713ae5cb48a
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/CMakeLists.txt
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
Log Message:
-----------
[libc] Improve Benchmark UI (#99796)
This PR changes the output to resemble Google Benchmark. e.g.
```
Running Suite: LlvmLibcIsAlNumGpuBenchmark
Benchmark | Cycles | Min | Max | Iterations | Time (ns) | Stddev | Threads |
-----------------------------------------------------------------------------------------------------
IsAlnum | 92 | 76 | 482 | 23 | 86500 | 76 | 64 |
IsAlnumSingleThread | 87 | 76 | 302 | 20 | 72000 | 49 | 1 |
IsAlnumSingleWave | 87 | 76 | 302 | 20 | 72000 | 49 | 32 |
IsAlnumCapital | 89 | 76 | 299 | 17 | 78500 | 52 | 64 |
IsAlnumNotAlnum | 87 | 76 | 303 | 20 | 76000 | 49 | 64 |
```
Commit: 0387cd052b081d6bc9856ef756942a5df1a2a301
https://github.com/llvm/llvm-project/commit/0387cd052b081d6bc9856ef756942a5df1a2a301
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating FunctionAnnotationRParen (#99802)
Fixes #37906.
Commit: 1a47f3f3db66589c11f8ddacfeaecc03fb80c510
https://github.com/llvm/llvm-project/commit/1a47f3f3db66589c11f8ddacfeaecc03fb80c510
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Compute fragment offsets eagerly
This builds on top of commit 9d0754ada5dbbc0c009bcc2f7824488419cc5530
("[MC] Relax fragments eagerly") and relaxes fragments eagerly to
eliminate MCSection::HasLayout and `getFragmentOffset` overhead.
Note: The removed `#ifndef NDEBUG` code (disabled by default) in
X86AsmBackend::finishLayout was problematic, as (a) !NDEBUG and NDEBUG
builds evaluated fragment offsets at different times before this patch
(b) one iteration might not be sufficient to converge. There might be
some edge cases that it did not handle. Anyhow, this patch probably
makes it work for more cases.
Commit: 74a1ca504bf60f02431140ee72dbe1c158556237
https://github.com/llvm/llvm-project/commit/74a1ca504bf60f02431140ee72dbe1c158556237
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/FPUtil/generic/mul.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][math] Update getpayload and fmul/fadd/fsub/ffma with NaN inputs. (#99812)
Commit: eaa07c00b10b2105fabed61a95d2a5e0971bc02e
https://github.com/llvm/llvm-project/commit/eaa07c00b10b2105fabed61a95d2a5e0971bc02e
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
Log Message:
-----------
[libc] Fix statvfs test case when SYS_statfs64 is used (#99827)
When SYS_statfs64 is used, struct statfs64 is used instead of struct statfs. This patch adds a define to select the appropriate struct, similar to how it's done internally.
This patch also enables fstatvfs and statvfs on riscv, which would not be compiled without this change.
Commit: 43213002b99e32d618f2afbbaaeb2ff8dfc84e33
https://github.com/llvm/llvm-project/commit/43213002b99e32d618f2afbbaaeb2ff8dfc84e33
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Sema/patchable-function-entry-attr.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
A llvm/test/CodeGen/PowerPC/patchable-function-entry.ll
Log Message:
-----------
[PowerPC] Support -fpatchable-function-entry (#92997)
For now only PPC big endian Linux 32 and 64 bit are supported.
PPC little endian Linux has XRAY support for 64-bit.
PPC AIX has different patchable function entry implementations.
Fixes #63220
Fixes #57031
Commit: d15ada24b1fbbd72776022383a5c557a1a056413
https://github.com/llvm/llvm-project/commit/d15ada24b1fbbd72776022383a5c557a1a056413
Author: Oliver Hunt <oliver at apple.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
A clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
Log Message:
-----------
[PAC] Incorrect codegen for constant global init with polymorphic MI (#99741)
Fixes an error where we use the wrong authentication schema for
secondary vtable pointers in constant initialized globals of types with
multiple polymorphic base classes.
Commit: 197b14223238716a84b423315242f8b10d8922dd
https://github.com/llvm/llvm-project/commit/197b14223238716a84b423315242f8b10d8922dd
Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
Log Message:
-----------
[libc] Add N Threads Benchmark Helper (#99834)
This PR adds a `BENCHMARK_N_THREADS()` helper to register benchmarks
with a specific number of threads. This PR replaces the flags used
originally to allow any amount of threads.
Commit: 324fea9baa902b2bff7b644fade080f98a8c543b
https://github.com/llvm/llvm-project/commit/324fea9baa902b2bff7b644fade080f98a8c543b
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M mlir/docs/Canonicalization.md
Log Message:
-----------
[mlir][docs] Update documentation for canonicalize. (#99753)
Update canonicalize docs.
Commit: 76321b9f08ef31a2b8ca26f7522aee511a05f7a8
https://github.com/llvm/llvm-project/commit/76321b9f08ef31a2b8ca26f7522aee511a05f7a8
Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
Date: 2024-07-21 (Sun, 21 Jul 2024)
Changed paths:
M llvm/include/llvm/Support/raw_socket_stream.h
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/unittests/Support/raw_socket_stream_test.cpp
Log Message:
-----------
[llvm][Support] Implement raw_socket_stream::read with optional timeout (#92308)
This PR implements `raw_socket_stream::read`, which overloads the base
class `raw_fd_stream::read`. `raw_socket_stream::read` provides a way to
timeout the underlying `::read`. The timeout functionality was not added
to `raw_fd_stream::read` to avoid needlessly increasing compile times
and allow for convenient code reuse with `raw_socket_stream::accept`,
which also requires timeout functionality. This PR supports the module
build daemon and will help guarantee it never becomes a zombie process.
Commit: 248fcab2fc9b3fc1bde5cd5b1fe8615791225c9e
https://github.com/llvm/llvm-project/commit/248fcab2fc9b3fc1bde5cd5b1fe8615791225c9e
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Do not use operand info in `replaceInInstruction` (#99492)
Consider the following case:
```
%cmp = icmp eq ptr %p, null
%load = load i32, ptr %p, align 4
%sel = select i1 %cmp, i32 %load, i32 0
```
`foldSelectValueEquivalence` converts `load i32, ptr %p, align 4` into
`load i32, ptr null, align 4`, which causes immediate UB. `%load` is
speculatable, but it doesn't hold after operand substitution.
This patch introduces a new helper
`isSafeToSpeculativelyExecuteWithVariableReplaced`. It ignores operand
info in these instructions since their operands will be replaced later.
Fixes #99436.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 57ccd42393b2e9e341d730ec8a6f39a5c89d126d
https://github.com/llvm/llvm-project/commit/57ccd42393b2e9e341d730ec8a6f39a5c89d126d
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
[PowerPC]fix XRAY failures in https://lab.llvm.org/buildbot/#/builders/145/builds/726
Regression caused by 43213002b99e32d618f2afbbaaeb2ff8dfc84e33.
Commit: 7b28cc0c59d2f8a4427e5f0677ff69c7b319c9bb
https://github.com/llvm/llvm-project/commit/7b28cc0c59d2f8a4427e5f0677ff69c7b319c9bb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
Log Message:
-----------
AMDGPU: Query MachineModuleInfo from PM instead of MachineFunction (#99679)
Commit: c91e85278cb87a35924d86463d3c0a379c64e9d1
https://github.com/llvm/llvm-project/commit/c91e85278cb87a35924d86463d3c0a379c64e9d1
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenConcatenation.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
R clang/test/CXX/cpp/cpp.module/p2.cppm
M clang/test/CXX/module/basic/basic.link/module-declaration.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
M clang/test/SemaCXX/modules.cppm
M clang/www/cxx_status.html
Log Message:
-----------
Revert "[Clang] Implement P3034R1 Module Declarations Shouldn’t be Macros" (#99838)
Reverts llvm/llvm-project#90574
Commit: 9d2f81ea85e410da9d79b9dfad9b9769525e4387
https://github.com/llvm/llvm-project/commit/9d2f81ea85e410da9d79b9dfad9b9769525e4387
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
Log Message:
-----------
[compiler-rt] fix couple of netbsd build warnings. (#99745)
Commit: 58854facb30f7c660c1fd05376f8a4722eeefb9e
https://github.com/llvm/llvm-project/commit/58854facb30f7c660c1fd05376f8a4722eeefb9e
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
Log Message:
-----------
[RISCV] Don't cost vector arithmetic fp ops as cheaper than scalar (#99594)
I was comparing some SPEC CPU 2017 benchmarks across rva22u64 and
rva22u64_v, and noticed that in a few cases that rva22u64_v was
considerably slower.
One of them was 519.lbm_r, which has a large loop that was being
unprofitably vectorized. It has an if/else in the loop which requires
large amounts of predication when vectorized, but despite the loop
vectorizer taking this into account the vector cost came out as cheaper
than the scalar.
It looks like the reason for this is because we cost scalar floating
point ops as 2, but their vector equivalents as 1 (for LMUL 1). This
comes from how we use BasicTTIImpl for scalars which treats floats as
twice as expensive as integers.
This patch doubles the cost of vector floating point arithmetic ops so
that they're at least as expensive as their scalar counterparts, which
gives a 13% speedup on 519.lbm_r at -O3 on the spacemit-x60.
Fixes #62576 (the last point there about scalar fsub/fmul)
Commit: f18fd6e3f9c38560bc26253cae77ac3935149602
https://github.com/llvm/llvm-project/commit/f18fd6e3f9c38560bc26253cae77ac3935149602
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld-macho] Use parallel algorithms in favor of `ThreadPool` (#99471)
In https://reviews.llvm.org/D115416, it was decided that an explicit
thread pool should be used instead of the simpler fork-join model of the
`parallelFor*` family of functions. Since then, more parallelism has
been added to LLD, but these changes always used the latter strategy,
similarly to other ports of LLD.
This meant that we ended up spawning twice the requested amount of
threads; one set for the `llvm/Support/Parallel.h` executor, and one for
the thread pool.
Since that decision, 3b4d800911 has landed, which allows us to
explicitly enqueue jobs on the executor pool of the parallel algorithms,
which should be enough to achieve sharded output writing and
parallelized input file parsing. Now only the construction of the map
file is left that should be done *concurrently* with different linking
steps, this commit proposes explicitly spawning a dedicated worker
thread for it.
Commit: f4d4ce1a3189730ef09ee04207004f500a71070d
https://github.com/llvm/llvm-project/commit/f4d4ce1a3189730ef09ee04207004f500a71070d
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Add groupid/bitmask for RISC-V extension (#94440)
Base on https://github.com/riscv-non-isa/riscv-c-api-doc/pull/74.
This patch defines the groupid/bitmask in RISCVFeatures.td and generates
the corresponding table in RISCVTargetParserDef.inc.
The groupid/bitmask of extensions provides an abstraction layer between
the compiler and runtime functions.
Commit: 2873edd2867c151871f7ec3865819ff0f874c95a
https://github.com/llvm/llvm-project/commit/2873edd2867c151871f7ec3865819ff0f874c95a
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
Log Message:
-----------
[lld][RISCV] Add break to nested switch in `mergeAtomic` (#99762)
This prevent the warnings from compiler.
Commit: 8dafbb5fdd4099df72d24af2ceb7ecade8216820
https://github.com/llvm/llvm-project/commit/8dafbb5fdd4099df72d24af2ceb7ecade8216820
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVTargetParser.cpp
Log Message:
-----------
[RISCV] Remove unused function (NFC)
/llvm-project/llvm/lib/TargetParser/RISCVTargetParser.cpp:148:1:
error: unused function 'getExtensionBitmask' [-Werror,-Wunused-function]
getExtensionBitmask(StringRef ExtName) {
^
1 error generated.
Commit: 6b9ac2a4951453fa61fbda285a23be1b32bbff49
https://github.com/llvm/llvm-project/commit/6b9ac2a4951453fa61fbda285a23be1b32bbff49
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/BranchFolding.cpp
Log Message:
-----------
[BranchFolding] Add a hook to override tail merge size (#99025)
A new hook `TargetInstrInfo::getTailMergeSize()` is added so that
targets can override it.
This removes an existing TODO.
Commit: 10d720b5b4383c9900caaed7edf38ae31e8b9ac4
https://github.com/llvm/llvm-project/commit/10d720b5b4383c9900caaed7edf38ae31e8b9ac4
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/test/Transforms/DeadStoreElimination/memoryssa-scan-limit.ll
Log Message:
-----------
[DeadStoreElimination] Add test for recent worklist revision (NFC)
As d5c89cc proved not to be NFC, prior to this change, duplicate
`MemoryAccess` entries were being added to the worklist in
`isWriteAtEndOfFunction`, prematurely reaching the exploration
limit. When `MemorySSAScanLimit` cutoff is set to 4, the store
was previously not eliminated. Introduce a regression test for
additional validation. The test is a simplified variant of function
`ntlmssp_create_session_key`, coming from @dtcxzyw/llvm-opt-benchmark,
bench/wireshark/original/packet-ntlmssp.c.ll.
Commit: 36d384b4ddb54d40866614df5128be60f36d92a2
https://github.com/llvm/llvm-project/commit/36d384b4ddb54d40866614df5128be60f36d92a2
Author: Matthias Springer <me at m-sp.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect conversion: Simplify `EraseBlockRewrite` constructor (#99805)
Commit: 4c73b1a986bb4f3af6c5d5e9e705934dbcc36262
https://github.com/llvm/llvm-project/commit/4c73b1a986bb4f3af6c5d5e9e705934dbcc36262
Author: hev <wangrui at loongson.cn>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
Log Message:
-----------
[LoongArch] Recommit "Remove spurious mask operations from andn->icmp on 16 and 8 bit values" (#99798)
recommit of #99272
Commit: b15aa7f88c21d126bac4cf77eb05c522e0f1870d
https://github.com/llvm/llvm-project/commit/b15aa7f88c21d126bac4cf77eb05c522e0f1870d
Author: Lang Hames <lhames at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MemoryFlags.h
M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
A llvm/unittests/ExecutionEngine/Orc/MemoryFlagsTest.cpp
Log Message:
-----------
[ORC] Add unit test for MemoryFlags APIs, don't dereference end() iterator.
In AllocGroupSmallMap::find(AllocGroup) we were calling lower_bound(...) and
then unconditionally dereferencing the resulting iterator, however
lower_bound(...) may return end() if the value being searched for is higher
than any value present in the map. This patch adds a check for end() before
the dereference to guard against dereference of end().
This commit also adds some basic unit tests for MemProt and AllocGroupSmallMap.
rdar://129662981
Commit: 12762b8648d88e6823aedc82f663a596fa2eef76
https://github.com/llvm/llvm-project/commit/12762b8648d88e6823aedc82f663a596fa2eef76
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/SemaCXX/builtin_vectorelements.cpp
Log Message:
-----------
[Clang][Interp] Diagnose use sizeless vector type as the argument of `__builtin_vectorelements` (#99794)
This PR implement an opcode to diagnose use sizeless vector type as the
argument of `__builtin_vectorelements`.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 56ad7cc0126f9899fd884391cfa10b6359206c01
https://github.com/llvm/llvm-project/commit/56ad7cc0126f9899fd884391cfa10b6359206c01
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
Log Message:
-----------
[IR] Remove non-canonical matchings (#96763)
Commit: c7bfc41860a6abe5c92dc5afb47348b0c9e69963
https://github.com/llvm/llvm-project/commit/c7bfc41860a6abe5c92dc5afb47348b0c9e69963
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[Clang][NFCI] Prefer non-canonical template arguments for synthesized CTAD guides (#99840)
This seems to be low-hanging fruit: We could remove all calls to
`Context.getCanonicalTemplateArgument()` and gain a better
diagnostic/AST.
The non-canonical template arguments shouldn't make a difference when
synthesizing a CTAD guide, so this is intended to be an NFC.
Closes https://github.com/llvm/llvm-project/issues/79798
Commit: 20d38158ffbe1e01b74e39d36d4b3bc5e7a63d66
https://github.com/llvm/llvm-project/commit/20d38158ffbe1e01b74e39d36d4b3bc5e7a63d66
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Parse/ParseExpr.cpp
M clang/test/Preprocessor/embed_weird.cpp
Log Message:
-----------
[clang] Fix assertion failure in `injectEmbedTokens` (#99624)
It seems for C++ lexer has some caching ability which doesn't expect
injecting "new" tokens in the middle of the cache. Technically #embed
tokens are not completely new since they have already been read from the
file and there was #embed annotation token in this place, so set
`reinject` flag for them to silence assertion.
Commit: 7eb59a1ef98dd135a88190f9c6bcd113e0a7016f
https://github.com/llvm/llvm-project/commit/7eb59a1ef98dd135a88190f9c6bcd113e0a7016f
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fix libc Bazel build for 29be889c2c9c9a92e7ed89bd71d141961517d7e5
Commit: 4db11c1f6cd6cd12b51a3220a54697b90e2e8821
https://github.com/llvm/llvm-project/commit/4db11c1f6cd6cd12b51a3220a54697b90e2e8821
Author: Max Beck-Jones <max.beck-jones at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
Log Message:
-----------
[AArch64] Lower scalable i1 vector add reduction to cntp (#99031)
Doing an add reduction on a vector of i1 elements is the same as
counting the number of set elements so such a reduction can be lowered
to a cntp instruction. This saves a number of instructions over
performing a UADDV. This patch only handles straightforward cases (i.e.
when vectors are not split).
Commit: f138b33ddd482fc68bc8622a150e279c1449fadf
https://github.com/llvm/llvm-project/commit/f138b33ddd482fc68bc8622a150e279c1449fadf
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/test/DebugInfo/XCOFF/empty.ll
M llvm/test/DebugInfo/XCOFF/explicit-section.ll
M llvm/test/DebugInfo/XCOFF/function-sections.ll
Log Message:
-----------
[XCOFF] refactor the XCOFF BeginSymName handling
Fixes #96810
Commit: 01d783643aa750aa160bdcd097176fcde934dbd1
https://github.com/llvm/llvm-project/commit/01d783643aa750aa160bdcd097176fcde934dbd1
Author: Tim Creech <timothy.m.creech at intel.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
A llvm/test/tools/llvm-profgen/period-scaling.test
M llvm/tools/llvm-profgen/PerfReader.cpp
Log Message:
-----------
[llvm-profgen] Add --sample-period to estimate absolute counts (#99826)
Without `--sample-period`, no assumptions are made about perf profile
sample frequencies. This is useful for comparing relative hotness of
different program locations within the same profile.
With `--sample-period`, LBR- and IP-based profile hit counts are
adjusted to estimate the absolute total event count for each program
location. This makes it reasonable to compare hit counts between
different profiles, e.g., between two LBR-based execution frequency
profiles with different sampling periods or between LBR-based execution
frequency profiles and IP-based branch mispredict profiles.
This functionality is in support of HWPGO[^1], which aims to enable
feedback from a wider range of hardware events.
[^1]:
https://llvm.org/devmtg/2024-04/slides/TechnicalTalks/Xiao-EnablingHW-BasedPGO.pdf
Commit: 2e789900433834b3b5cd6a55ccf64da6a9ec4505
https://github.com/llvm/llvm-project/commit/2e789900433834b3b5cd6a55ccf64da6a9ec4505
Author: Max Beck-Jones <max.beck-jones at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
Log Message:
-----------
Revert "[AArch64] Lower scalable i1 vector add reduction to cntp" (#99853)
Reverts llvm/llvm-project#99031
Commit: 2bc38dc30bc9baad610925d7e90e724a9d09ee7d
https://github.com/llvm/llvm-project/commit/2bc38dc30bc9baad610925d7e90e724a9d09ee7d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/test/Analysis/out-of-bounds-diagnostics.c
Log Message:
-----------
[analyzer] Improve bug report hashing, merge similar reports (#98621)
Previously there were certain situations where
alpha.security.ArrayBoundV2 produced lots of very similar and redundant
reports that only differed in their full `Description` that contained
the (negative) byte offset value. (See
https://github.com/llvm/llvm-project/issues/86969 for details.)
This change updates the `Profile()` method of `PathSensitiveBugReport`
to ensure that it uses `getShortDescription()` instead of the full
`Description` so the standard report deduplication eliminates most of
these redundant reports.
Note that the effects of this change are very limited because there are
very few checkers that specify a separate short description, and so
`getShortDescription()` practically always defaults to returning the
full `Description`.
For the sake of consistency `BasicBugReport::Profile()` is also updated
to use the short description. (Right now there are no checkers that use
`BasicBugReport` with separate long and short descriptions.)
This commit also includes some small code quality improvements in
`ArrayBoundV2` that are IMO too trivial to be moved into a separate
commit.
Commit: 16e05919d94888e222d4954086f6d860839117dd
https://github.com/llvm/llvm-project/commit/16e05919d94888e222d4954086f6d860839117dd
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/cmp-chains.ll
M llvm/test/CodeGen/AArch64/cmp-select-sign.ll
Log Message:
-----------
[AArch64] Use isKnownNonZero to optimize eligible compares to cmn and ccmn (#96349)
The problematic case for unsigned comparisons occurs only when the
second argument is zero.
The problematic case for signed comparisons occurs only when the second
argument is the signed minimum value.
We can use KnownBits to know when we don't have to worry about this.
Source: https://devblogs.microsoft.com/oldnewthing/20210607-00/?p=105288
Commit: 46223b5eae1ae25ad0d8ca47ea210c1781cb03fc
https://github.com/llvm/llvm-project/commit/46223b5eae1ae25ad0d8ca47ea210c1781cb03fc
Author: Romaric Jodin <rjodin at chromium.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libclc/generic/lib/common/sign.cl
Log Message:
-----------
libclc: add half version of 'sign' (#99841)
Commit: 85e74285626191108a78e797179374219b3a67d4
https://github.com/llvm/llvm-project/commit/85e74285626191108a78e797179374219b3a67d4
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector] Refactor vector-transfer-flatten.mlir (nfc) (3/n) (#95745)
The main goal of this and subsequent PRs is to unify and categorize
tests in:
* vector-transfer-flatten.mlir
This should make it easier to identify the edge cases being tested (and
how they differ), remove duplicates and to add tests for scalable
vectors.
The main contributions of this PR:
1. For consistency with other tests,
`@transfer_read_flattenable_with_dynamic_dims_and_indices` is renamed
as `@transfer_read_leading_dynamic_dims`. It is also moved near other
tests for `xfer_read`, variable names are updated to match other
`xfer_read` tests
2. `@transfer_write_dims_mismatch_non_zero_indices_trailing_dynamic_dim`
is renamed as `@negative_transfer_read_dynamic_dim_to_flatten` to
better highlight that it's a negative test and to contrast it with
`@transfer_read_leading_dynamic_dims` (and to emphasise the
difference between the two).
3. Similar changes for tests for `xfer_write`.
4. Make sure that we consistently use `%idx_N` (as opposed to `%idxN`).
Follow-up for #95743 and #95744
Commit: 45c0decdda5eee6b4d13d4bf241a45c56e412c05
https://github.com/llvm/llvm-project/commit/45c0decdda5eee6b4d13d4bf241a45c56e412c05
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M lld/COFF/Symbols.h
Log Message:
-----------
[LLD] [COFF] Zero-intialization & proper constructor invocation in COFF's Symbol (#98447)
It happened due to lld's COFF linker multiple regression tests failure.
It got reliably reproduced after the needed intialization of
isUsedinRegularObject bit in the Symbol's ctor, but not handled at
replaceSymbol API properly while creating a specific symbol to insert in
symbol table.
So, now while creating the specific symbol using replaceSymbol, by
explicitly setting the value of isUsedinRegularObject to newly created
symbol around the ctor call of symbol would solve the regression failure
Commit: ef2af7f85616b48029dce55069c3faa949d46454
https://github.com/llvm/llvm-project/commit/ef2af7f85616b48029dce55069c3faa949d46454
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
M compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
Log Message:
-----------
[AArch64][SME] Make use of Arm Optimised Routines in compiler-rt (#99326)
A number of streaming-compatible versions of standard C functions
were added to compiler-rt, however there are already optimised
versions of most of these in libc which are valid in streaming-SVE
mode. This patch replaces the implementations of __arm_sc_mem* with
these versions where possible.
Commit: f406d83d9553c0ade8f9b2dea961e5a8caa220f3
https://github.com/llvm/llvm-project/commit/f406d83d9553c0ade8f9b2dea961e5a8caa220f3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] widenCtPop - reuse existing SDLoc. NFC.
Commit: 102d16809b2cf79b5e1ff4728ef6164cd92f90d5
https://github.com/llvm/llvm-project/commit/102d16809b2cf79b5e1ff4728ef6164cd92f90d5
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
Log Message:
-----------
[Analysis] Bail out for negative offsets in isDereferenceableAndAlignedInLoop (#99490)
This patch now bails out explicitly for negative offsets so that it's
more consistent with the unsigned remainder and add calculations,
and it fixes a genuine bug as shown with the new test.
Commit: bf08d0e1182c94b6fe14b8915df6a7e5e755e5f2
https://github.com/llvm/llvm-project/commit/bf08d0e1182c94b6fe14b8915df6a7e5e755e5f2
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/test/Fir/declare-codegen.fir
Log Message:
-----------
[flang] fix cg-rewrite DCE (#99653)
cg-rewrite runs regionDCE to get rid of the unused fir.shape/shift/slice
before codegen since those operations have no codegen.
I came across an issue where unreachable code would cause the pass to
fail with `error: loc(...): null operand found`.
It turns out `mlir::RegionDCE` does not work properly in presence of
unreachable code because it delete operations in reachable code that are
unused in reachable code, but still used in unreachable code (like the
constant in the added test case). It seems `mlir::RegionDCE` is always
run after `mlir::eraseUnreachableBlock` outside of this pass.
A solution could be to run `mlir::eraseUnreachableBlock` here or to try
modifying `mlir::RegionDCE`. But the current behavior may be
intentional, and both of these calls are actually quite expensive. For
instance, RegionDCE will does liveness analysis, and removes unused
block arguments, which is way more than what is needed here. I am not
very found of having this rather heavy transformation inside this pass
(they should be run after or before if they matter in the overall
pipeline).
Do a naïve backward deletion of the trivially dead operations instead.
It is cheaper, and works with unreachable code.
Commit: 462d084241616627be1ac2b967a7fcba9b0facfe
https://github.com/llvm/llvm-project/commit/462d084241616627be1ac2b967a7fcba9b0facfe
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
A flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
Log Message:
-----------
[flang] fix sequence association of polymorphic actual arguments (#99294)
When passing a polymorphic actual array argument to an non polymorphic
explicit or assumed shape argument, copy-in/copy-out may be required and
should be made according to the dummy dynamic type.
The code that was creating the descriptor to drive this copy-in/out was
not handling properly the case where the dummy and actual rank do not
match (possible according to sequence association rules), it tried to
make the copy-in/out according to the dummy argument shape (which we may
not even know if the dummy is assumed-size). Fix this by using the
actual shape when creating this new descriptor with the dummy argument
dynamic type.
Commit: dc82c774a74ad7e94d4c555e4cae1025e30f3876
https://github.com/llvm/llvm-project/commit/dc82c774a74ad7e94d4c555e4cae1025e30f3876
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
A clang/test/Sema/aarch64-neon-without-target-feature.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[Clang][NEON] Add neon target guard to intrinsics (#98624)
This patch improves reported error when NEON intrinsics are used without
neon target feature.
Commit: 15b41d207e15c96cf6f6a7e72cbf3c0044762df5
https://github.com/llvm/llvm-project/commit/15b41d207e15c96cf6f6a7e72cbf3c0044762df5
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/RegAllocCommon.h
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/CodeGen/RegAllocBase.h
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
Log Message:
-----------
[CodeGen] change prototype of regalloc filter function (#93525)
[CodeGen] Change the prototype of regalloc filter function
Change the prototype of the filter function so that we can
filter not just by RegClass. We need to implement more
complicated filter based upon some other info associated
with each register.
Patch provided by: Gang Chen (gangc at amd.com)
Commit: c1622cae10c953f327c7ef24d57508eebd84f244
https://github.com/llvm/llvm-project/commit/c1622cae10c953f327c7ef24d57508eebd84f244
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
R clang/test/Sema/aarch64-neon-without-target-feature.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
Revert "[Clang][NEON] Add neon target guard to intrinsics" (#99864)
Reverts llvm/llvm-project#98624
Commit: f39bd0a24e8aaa55c957c179607c071a86590ec1
https://github.com/llvm/llvm-project/commit/f39bd0a24e8aaa55c957c179607c071a86590ec1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
Log Message:
-----------
[AMDGPU] Do not print `kernel-resource-usage` information on non-kernels (#99720)
Summary:
This pass is used to get helpful information about the kernel resources
without needing to insepct the binary. However, it currently prints on
every function. These values will always be zero, so it's just spam on
the terminal, at best an indication that a function wasn't internalized
/ optimized out. This patch makes it only print for kernels to make it
more useful in practice.
Commit: cffe1153f4466b1602d4778e57c3bd8663cef5ec
https://github.com/llvm/llvm-project/commit/cffe1153f4466b1602d4778e57c3bd8663cef5ec
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/test/tools/llvm-dlltool/arm64ec.test
Log Message:
-----------
[llvm-dlltool] Use EXPORTAS name type for renamed imports on ARM64EC. (#99346)
Renamed entries are more tricky on ARM64EC than on other targets due
to additional symbols (we need `__imp_aux_*` in addition to `__imp_*`
and both mangled and unmangled symbol thunks). While we could extend
weak aliases to add them, it seems cleaner to just always use EXPORTAS
name type on ARM64EC targets. Unlike other targets, linkers supporting
ARM64EC need to support EXPORTAS, so there is no compatibility problem
with that.
Commit: 5b8479bc28a8641f02be3d64f87770b9e0b1a427
https://github.com/llvm/llvm-project/commit/5b8479bc28a8641f02be3d64f87770b9e0b1a427
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/test/src/math/performance_testing/CMakeLists.txt
Log Message:
-----------
[libc][CMake] Set library type of libc_diff_test_utils to STATIC (#99869)
Fixes linker errors due to hidden symbols when running CMake with
-DBUILD_SHARED_LIBS=ON.
Commit: 2f5dc596b5719e5ed7f6978dafbce994f425a033
https://github.com/llvm/llvm-project/commit/2f5dc596b5719e5ed7f6978dafbce994f425a033
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
Log Message:
-----------
[IncludeCleaner] Also check for spellings of physical headers (#99843)
Some physical headers can have "conflicting" spellings, when same
filename exists under two different include search paths. e.g.
<stdlib.h>
can be provided by both standard library and underlying libc headers. In
such scenarios if the usage is from the latter include-search path,
users can't spell it directly.
This patch ensures we also consider spellings of such includes, in
addition to their physical files to prevent conflicting suggestions.
Commit: a7fb25dd1fcc2e5afcc65cccfa83b7b381b48906
https://github.com/llvm/llvm-project/commit/a7fb25dd1fcc2e5afcc65cccfa83b7b381b48906
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/fast-isel-select.ll
Log Message:
-----------
[AArch64] Fix broken check lines (NFC)
Commit: 0284b4b4b603192ce9eb29d3a34c23ea7378bee1
https://github.com/llvm/llvm-project/commit/0284b4b4b603192ce9eb29d3a34c23ea7378bee1
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
A clang/test/Sema/aarch64-neon-without-target-feature.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[Clang][NEON] Add neon target guard to intrinsics (#99870)
This patch improves reported error when NEON intrinsics are used without
neon target feature.
Commit: 65e86a8f3fb44dc09dc2e08526d69e3a57f63995
https://github.com/llvm/llvm-project/commit/65e86a8f3fb44dc09dc2e08526d69e3a57f63995
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat(bitcast(),bitcast()) -> bitcast(concat())
When concatenating subvector ops together, try to use the pre-bitcasted subop to help expose further combines.
Commit: 05671cec6f736c65b7df29234db828116e6d95dd
https://github.com/llvm/llvm-project/commit/05671cec6f736c65b7df29234db828116e6d95dd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-pmadd.ll
Log Message:
-----------
[X86] Add tests showing failure to push freeze through SSE PMADD nodes
PMADD guarantee inbounds/saturated ext-multiply-add results
Test to help with regression identified on #84924
Commit: e9974f02a30280eab868cdab0a90a5372b1799cd
https://github.com/llvm/llvm-project/commit/e9974f02a30280eab868cdab0a90a5372b1799cd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-pmadd.ll
Log Message:
-----------
[X86] canCreateUndefOrPoisonForTargetNode - PMADDWD/PMADDUBSW nodes don't create poison
Help with regression identified on #84924
Commit: cb528e59de6bb16493e7e2314d2a9d0486b91152
https://github.com/llvm/llvm-project/commit/cb528e59de6bb16493e7e2314d2a9d0486b91152
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] port a41a4ac78294
Commit: aa99192bc65071c0a008faefedd90874fbe053dd
https://github.com/llvm/llvm-project/commit/aa99192bc65071c0a008faefedd90874fbe053dd
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
A flang/test/Lower/OpenMP/Todo/atomic-character.f90
A flang/test/Lower/OpenMP/Todo/atomic-complex.f90
M flang/test/Lower/OpenMP/atomic-read.f90
Log Message:
-----------
[flang][OpenMP] Add TODO messages for partially implemented atomic types (#99817)
There is ongoing work for fir.complex but this looks unlikely to land
before the LLVM branch. Adding a TODO message gives cleaner output to
users. Currently fir.complex leads to a compiler assertion failure.
Some uses of character types lead to invalid fir.convert type
conversions, others make it far enough to hit the same assertion failure
as for fir.complex.
Commit: bc4c3bf1b75fec183e2616d6688aa155d6aada74
https://github.com/llvm/llvm-project/commit/bc4c3bf1b75fec183e2616d6688aa155d6aada74
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/test/src/__support/blockstore_test.cpp
Log Message:
-----------
[libc] Remove special case handing around test case that was fixed
Summary:
I needed to hack something around this for a previous backend bug, it's
since been fixed as far as I'm aware.
Commit: 3c459cfcaebdaf7cabac33a0e18bf6588cef4cdb
https://github.com/llvm/llvm-project/commit/3c459cfcaebdaf7cabac33a0e18bf6588cef4cdb
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
Log Message:
-----------
[Clang] Fix handling of qualified id-expressions in unevaluated contexts (#99807)
In #89713, we made qualified, parenthesized id-expression ill-formed in
and address of expressions.
The expected behavior should instead be to form a pointer (rather than a
pointer to member)
The fix has been suggested by @zwuis and the tests by
@hubert-reinterpretcast.
It is worth pointing out that some of these tests seem rejected by all
compilers, however the tests do seem correct.
Fixes #89713
Fixes #40906
---------
Co-authored-by: YanzuoLiu <zwuis at outlook.com>
Commit: 6ae4014befbc16c63c31922d8462afcaae51e260
https://github.com/llvm/llvm-project/commit/6ae4014befbc16c63c31922d8462afcaae51e260
Author: David Green <david.green at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
Log Message:
-----------
[AArch64] Add a test for stack-frame-layout analysis of Scalable objects. NFC
Commit: 8ebe7e60f50c234f5d187fcc470d92f4d2a6a925
https://github.com/llvm/llvm-project/commit/8ebe7e60f50c234f5d187fcc470d92f4d2a6a925
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
Log Message:
-----------
[DAGCombiner] Push freeze through SETCC and SELECT_CC (#64718)
Allow pushing freeze through SETCC and SELECT_CC even if there are
multiple "maybe poison" operands. In the past we have limited it to
a single "maybe poison" operand, but it seems profitable to also
allow the multiple operand scenario.
One goal here is to avoid some regressions seen in review of
https://github.com/llvm/llvm-project/pull/84924
when solving the select->and miscompiles described in
https://github.com/llvm/llvm-project/issues/84653
Commit: 8417f490be0343ea4a183a9a9e02c6015275b291
https://github.com/llvm/llvm-project/commit/8417f490be0343ea4a183a9a9e02c6015275b291
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 04760bfadb39
Commit: 6f915f48c1362fa3273e57e4a152830e3c8dd77e
https://github.com/llvm/llvm-project/commit/6f915f48c1362fa3273e57e4a152830e3c8dd77e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port af0d731b1298
Commit: 091ec15bbebf5be42d10f05a393489732ce651e4
https://github.com/llvm/llvm-project/commit/091ec15bbebf5be42d10f05a393489732ce651e4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port b15aa7f88c21
Commit: 32cd18975d2e1de5a783e9b1c3c21a234d5723b4
https://github.com/llvm/llvm-project/commit/32cd18975d2e1de5a783e9b1c3c21a234d5723b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/GVN/condprop.ll
Log Message:
-----------
[GVN] Look through select/phi when determining underlying object (#99509)
This addresses an optimization regression in Rust we have observed after
https://github.com/llvm/llvm-project/pull/82458. We now only perform
pointer replacement if they have the same underlying object. However,
getUnderlyingObject() by default only looks through linear chains, not
selects/phis. In particular, this means that we miss cases involving
involving pointer induction variables.
This patch fixes this by introducing a new helper
getUnderlyingObjectAggressive() which basically does what
getUnderlyingObjects() does, just specialized to the case where we must
arrive at a single underlying object in the end, and with a limit on the
number of inspected values.
Doing this more expensive underlying object check has no measurable
compile-time impact on CTMark.
Commit: 83c2bfdacb0593b3a72e93098a55afdcd93d865f
https://github.com/llvm/llvm-project/commit/83c2bfdacb0593b3a72e93098a55afdcd93d865f
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
Log Message:
-----------
[clang][dataflow] Handle this-capturing lambdas in field initializers. (#99519)
We previously would assume these lambdas appeared inside a method
definition and end up crashing.
Commit: d8e0b0d6854757c4fc0c120995cf76457c347a1e
https://github.com/llvm/llvm-project/commit/d8e0b0d6854757c4fc0c120995cf76457c347a1e
Author: premanandrao <premanand.m.rao at intel.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaTemplate/alias-template-deprecated.cpp
Log Message:
-----------
[clang] Diagnose use of deprecated template alias (#97619)
Issue a warning diagnostic when a template alias with a deprecated
attribute is used.
Commit: 613d2c393992eee470405f1859aaf5fd1837e36c
https://github.com/llvm/llvm-project/commit/613d2c393992eee470405f1859aaf5fd1837e36c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Avoid hitting an assertion in invalid code
Commit: ca3d4dfe0c8844a8010751c51600a3bd3f6f80a4
https://github.com/llvm/llvm-project/commit/ca3d4dfe0c8844a8010751c51600a3bd3f6f80a4
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/IR/Metadata.cpp
Log Message:
-----------
[Metadata] Make range boundary variables unsigned (NFC) (#99338)
They should be unsigned because the source and target value are too.
Commit: 2e6558b8bcdaa4c0924f1f49a9200cb2dea44bd4
https://github.com/llvm/llvm-project/commit/2e6558b8bcdaa4c0924f1f49a9200cb2dea44bd4
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/test/Lower/OpenMP/lastprivate-allocatable.f90
Log Message:
-----------
[flang][OpenMP] fix lastprivate for allocatables (#99686)
Don't use `copyHostAssociateVar` for allocatable variables. It isn't
clear to me whether or not this should be addressed in
`copyHostAssociateVar` instead of inside OpenMP. I opted for OpenMP
to minimise how many things I effected. `copyHostAssociateVar` will
not update the destination variable if the destination variable
was unallocated. This is incorrect because assignment inside of the
openmp block can cause the allocation status of the variable to
change. Furthermore, `copyHostAssociateVar` seems to only copy the
variable address not other metadata like the size of the allocation.
Reallocation by assignment could cause this to change.
Commit: 7ddcf7acf22ac2b490f17d0aea4c2b7f99911d63
https://github.com/llvm/llvm-project/commit/7ddcf7acf22ac2b490f17d0aea4c2b7f99911d63
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/include/llvm-libc-types/fsblkcnt_t.h
M libc/include/llvm-libc-types/fsfilcnt_t.h
Log Message:
-----------
[libc] Change fsfilcnt_t and fsblkcnt_t to be 64-bits long (#99876)
In 32-bit systems with 64-bit offsets, both fsfilcnt_t and fsblkcnt_t are 64-bit long, just like 64-bit systems. This patch changes both types to be 64-bit long for all platforms and follows the reasoning used to change off_t: the standard only requires it to be an unsigned int, so making it 64-bit long doesn't violate this property.
It should be NFC for 64-bit systems.
Commit: 28e6095082d97c753eadbbf080fe8c36892b56f7
https://github.com/llvm/llvm-project/commit/28e6095082d97c753eadbbf080fe8c36892b56f7
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
Log Message:
-----------
[libc] Add working entrypoints to riscv (#99885)
Added new fsqrt entrypoints and updated headers.txt, which I missed in PR #99771
Commit: 280b04f65a169f09249031e5e12a30584ce2e8e0
https://github.com/llvm/llvm-project/commit/280b04f65a169f09249031e5e12a30584ce2e8e0
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Parse/ParseAST.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
Record mainfile name in the Frontend time trace (#99866)
Commit: 65825cd5431c64b3b2c0537e4ff01517d0b32061
https://github.com/llvm/llvm-project/commit/65825cd5431c64b3b2c0537e4ff01517d0b32061
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/src/__support/libc_assert.h
M libc/src/__support/threads/linux/raw_mutex.h
Log Message:
-----------
[libc] Use `<assert.h>` in overlay mode for LIBC_ASSERT (#99875)
Summary:
This uses `internal::exit` which is not built in overlay mode, leading
to linker errors. Fix this to just use `assert.h`.
Commit: cda5b2b4b843635f0824c228f14f747361727a5e
https://github.com/llvm/llvm-project/commit/cda5b2b4b843635f0824c228f14f747361727a5e
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/src/__support/OSUtil/linux/fcntl.cpp
Log Message:
-----------
[libc] Change fcntl cmd when only fcntl64 is available (#99675)
In some systems like rv32, only fcntl64 is available and it employs a different structure for file locking and the correspoding F_GETLK64, F_SETLK64, and F_SETLKW64 commands.
So if we use fcntl64, the F_GETLK, F_SETLK, and F_SETLKW commands need to be changed to their 64 versions. This patch adds new cases to the swich(cmd) in our implementation of fcntl to do that.
The default case was moved to outside the switch, so we don't need to change anything, the F_GETLK, F_SETLK, and F_SETLKW commands will just go through the old implementation.
Commit: 2b78303e3f78c1eeb4b1362933290c490ce5fff6
https://github.com/llvm/llvm-project/commit/2b78303e3f78c1eeb4b1362933290c490ce5fff6
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/fast-isel-select.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
M llvm/test/CodeGen/SystemZ/pr60413.ll
M llvm/test/CodeGen/VE/Scalar/max.ll
M llvm/test/CodeGen/VE/Scalar/min.ll
M llvm/test/CodeGen/X86/combine-pmadd.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/pr64589.ll
M llvm/test/CodeGen/X86/vector-compare-all_of.ll
M llvm/test/CodeGen/X86/vector-compare-any_of.ll
Log Message:
-----------
[DAGCombiner] Freeze maybe poison operands when folding select to logic (#84924)
Just like for regular IR we need to treat SELECT as conditionally
blocking poison in SelectionDAG. So (unless the condition itself is
poison) the result is only poison if the selected true/false value is
poison.
Thus, when doing DAG combines that turn SELECT into arithmetic/logical
operations (e.g. AND/OR) we need to make sure that the new operations
aren't more poisonous. One way to do that is to use FREEZE to make
sure the operands aren't posion.
This patch aims at fixing the kind of miscompiles reported in
https://github.com/llvm/llvm-project/issues/84653
and
https://github.com/llvm/llvm-project/issues/85190
Solution is to make sure that we insert FREEZE, if needed to make
the fold sound, when using the foldBoolSelectToLogic and
foldVSelectToSignBitSplatMask DAG combines.
Commit: 5ea38b86a3011b31f2b2a0de330e32971de4a067
https://github.com/llvm/llvm-project/commit/5ea38b86a3011b31f2b2a0de330e32971de4a067
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/utils/lit/tests/Inputs/shtest-env/env-calls-env.txt
Log Message:
-----------
[lit][NFC] Avoid unintended -EMPTY suffix in check prefix (#99690)
FileCheck has special handline for the `-EMPTY` suffix, that should
match empty lines. Overloading the suffix can be a source of confusion
when reading tests. Additionally, the current implementation seems to
match the following expressions, which appears to be a bug in FileCheck.
Commit: e9709899db7d4a8b1c36475e90e4a934335f3d95
https://github.com/llvm/llvm-project/commit/e9709899db7d4a8b1c36475e90e4a934335f3d95
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[clang][OpenMP] Avoid names that hide existing variables, NFC
Commit: a5447613de6ce572e5b5e71821a1cb0d3ee890f3
https://github.com/llvm/llvm-project/commit/a5447613de6ce572e5b5e71821a1cb0d3ee890f3
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[Flang][runtime] Add dependency to build FortranRuntime after flang-new (#99737)
Makefile-based builds did not have proper dependencies to built the
FortranRuntime target after Flang new is available. This PR introduces a
dependency to ensure that this is the case. Relates to PR #95388.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 9da221d15ff7baa786031a855f1aa40de63dd8cb
https://github.com/llvm/llvm-project/commit/9da221d15ff7baa786031a855f1aa40de63dd8cb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/gather-extractelements-different-bbs.ll
Log Message:
-----------
[SLP][NFC]Remove incorrect attribure from the test, NFC.
Commit: d7e185cca98411e82655feecc297906cb7ed0850
https://github.com/llvm/llvm-project/commit/d7e185cca98411e82655feecc297906cb7ed0850
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-depend.mlir
A offload/test/offloading/fortran/target-depend.f90
Log Message:
-----------
[OMPIRBuilder] - Handle dependencies in `createTarget` (#93977)
This patch handles dependencies specified by the `depend` clause on an
OpenMP target construct. It does this much the same way clang does it by
materializing an OpenMP `task` that is tagged with the dependencies.
The following functions are relevant to this patch -
1) `createTarget` - This function itself is largely unchanged except
that it now accepts a vector of `DependData` objects that it simply
forwards to `emitTargetCall`
2) `emitTargetCall` - This function has changed now to check if an outer
target-task needs to be materialized (i.e if `target` construct has
`nowait` or has `depend` clause). If yes, it calls `emitTargetTask` to
do all the heavy lifting for creating and dispatching the task.
3) `emitTargetTask` - Bulk of the change is here. See the large comment
explaining what it does at the beginning of this function
Commit: 4010ddf780d90c42877c9ab8d28b7e084cfe197e
https://github.com/llvm/llvm-project/commit/4010ddf780d90c42877c9ab8d28b7e084cfe197e
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M lld/test/ELF/aarch64-cortex-a53-843419-abs-mapsyms.s
M lld/test/ELF/aarch64-gnu-ifunc.s
M lld/test/ELF/aarch64-reloc-pauth.s
M lld/test/ELF/aarch64-thunk-script.s
M lld/test/ELF/basic-aarch64.s
M lld/test/ELF/pack-dyn-relocs.s
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCContext.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
M llvm/test/CodeGen/AArch64/inlineasm-ldr-pseudo.ll
M llvm/test/DebugInfo/Symbolize/ELF/aarch64-mapping-symbol.s
M llvm/test/MC/AArch64/CheckDataSymbol.s
M llvm/test/MC/AArch64/mapping-across-sections.s
M llvm/test/MC/AArch64/mapping-within-section.s
M llvm/test/MC/AArch64/size-directive.s
M llvm/test/MC/ELF/AArch64/cfi.s
M llvm/test/tools/llvm-objdump/ELF/AArch64/elf-aarch64-mapping-symbols.test
Log Message:
-----------
[MC,AArch64] Create mapping symbols with non-unique names
Add `createLocalSymbol` to create a local, non-temporary symbol.
Different from `createRenamableSymbol`, the `Used` bit is ignored,
therefore multiple local symbols might share the same name.
Utilizing `createLocalSymbol` in AArch64 allows for efficient mapping
symbol creation with non-unique names, saving .strtab space.
The behavior matches GNU assembler.
Pull Request: https://github.com/llvm/llvm-project/pull/99836
Commit: ec7f8e11133ff6cd0370398ee32d684a6f857fcc
https://github.com/llvm/llvm-project/commit/ec7f8e11133ff6cd0370398ee32d684a6f857fcc
Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
Log Message:
-----------
[AMDGPU] Add intrinsic for raw atomic buffer loads (#97707)
Upstream the intrinsics `llvm.amdgcn.raw.atomic.buffer.load`
and `llvm.amdgcn.raw.atomic.ptr.buffer.load`.
These additional intrinsics mark atomic buffer loads
as atomic to LLVM by removing the `IntrReadMem`
attribute. Otherwise, it could hoist these
intrinsics out of loops in cases where LLVM marks
them as invariant. That can cause issues such as
infinite loops.
Continuation of https://reviews.llvm.org/D138786
with the additional use in the fat buffer lowering,
more test cases and the additional ptr versions
of these intrinsics.
---------
Co-authored-by: rtayl <>
Co-authored-by: Jay Foad <jay.foad at amd.com>
Co-authored-by: Mariusz Sikora <mariusz.sikora at amd.com>
Commit: b1ca2a954643d2c07d5308297d1f2b911f794ba4
https://github.com/llvm/llvm-project/commit/b1ca2a954643d2c07d5308297d1f2b911f794ba4
Author: xur-llvm <59886942+xur-llvm at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/Transforms/Instrumentation.h
M llvm/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/Inputs/cspgo_bar_sample.ll
A llvm/test/Transforms/PGOProfile/counter_promo_sampling.ll
A llvm/test/Transforms/PGOProfile/cspgo_sample.ll
A llvm/test/Transforms/PGOProfile/instrprof_burst_sampling_fast.ll
A llvm/test/Transforms/PGOProfile/instrprof_burst_sampling_full.ll
A llvm/test/Transforms/PGOProfile/instrprof_burst_sampling_full_intsize.ll
A llvm/test/Transforms/PGOProfile/instrprof_simple_sampling.ll
Log Message:
-----------
[PGO] Sampled instrumentation in PGO to speed up instrumentation binary (#69535)
In comparison to non-instrumented binaries, PGO instrumentation binaries
can be significantly slower. For highly threaded programs, this slowdown
can
reach 10x due to data races or false sharing within counters.
This patch incorporates sampling into the PGO instrumentation process to
enhance the speed of instrumentation binaries. The fundamental concept
is similar to the one proposed in https://reviews.llvm.org/D63949.
Three sampling modes are introduced:
1. Simple Sampling: When '-sampled-instr-bust-duration' is set to 1.
2. Fast Burst Sampling: When not using simple sampling, and
'-sampled-instr-period' is set to 65535. This is the default mode of
sampling.
3. Full Burst Sampling: When neither simple nor fast burst sampling is
used.
Utilizing this sampled instrumentation significantly improves the
binary's
execution speed. Measurements show up to 5x speedup with default
settings. Fast burst sampling now results in only around 20% to 30%
slowdown (compared to 8 to 10x slowdown without sampling).
Out tests show that profile quality remains good with sampling,
with edge counts typically showing more than 90% overlap.
For applications whose behavior changes due to binary speed,
sampling instrumentation can enhance performance.
Observations have shown some apps experiencing up to
a ~2% improvement in PGO.
A potential drawback of this patch is the increased binary size
and compilation time. The Sampling method in this patch does
not improve single threaded program instrumentation binary
speed.
Commit: 2c92335eb78f93271e9cefdf1f80740e286d801d
https://github.com/llvm/llvm-project/commit/2c92335eb78f93271e9cefdf1f80740e286d801d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/pr97304.ll
Log Message:
-----------
[RISCV] Copy call frame size when splitting basic block in emitSelectPseudo. (#99823)
Fixes #97304.
Commit: 6911f823ad0e1471f523205daf976c3cf6f96bfd
https://github.com/llvm/llvm-project/commit/6911f823ad0e1471f523205daf976c3cf6f96bfd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
Log Message:
-----------
[libc] Fix invalid format specifier in benchmark
Summary:
This value is a uint32_t but is printed as a uint64_t, leading to
invalid offsets when done on AMDGPU due to its packed format extending
past the buffer.
Commit: 0b12e185bd81b2199f95e211743f011084a79195
https://github.com/llvm/llvm-project/commit/0b12e185bd81b2199f95e211743f011084a79195
Author: Raphael Isemann <teemperor at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/tools/clang-fuzzer/dictionary/CMakeLists.txt
Log Message:
-----------
[clang-fuzzer-dictionary] Fix build failure with libfuzzer (#99871)
Commit: ec966f699d26410d5d9a705af570fa339df0e78c
https://github.com/llvm/llvm-project/commit/ec966f699d26410d5d9a705af570fa339df0e78c
Author: Martin Storsjö <martin at martin.st>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
Log Message:
-----------
[libcxx] [test] Make indentation more consistent in thousands_sep. NFC. (#99844)
This was made inconsistent recently in
f114eddb1923289b696f1b0980cc22c4dbaafa22.
Commit: 3d7622ea0bd443bb6ccb58d6b33e8cf52a8f0f4e
https://github.com/llvm/llvm-project/commit/3d7622ea0bd443bb6ccb58d6b33e8cf52a8f0f4e
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__ranges/transform_view.h
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp
Log Message:
-----------
[libc++][ranges] LWG3618: Unnecessary `iter_move` for `transform_view::iterator` (#91809)
## Introduction
This patch implements LWG3618: Unnecessary `iter_move` for
`transform_view::iterator`.
`transform_view`'s iterator currently specifies a customization point
for `iter_move`. This customization point does the same thing that the
default implementation would do, but its sole purpose is to ensure the
appropriate conditional `noexcept` specification.
## Reference
-
[[range.transform.iterator]](https://eel.is/c++draft/range.transform.iterator)
- [LWG3618](https://cplusplus.github.io/LWG/issue3618)
Commit: 418922623673a8044d30a57825b026a03f9d9354
https://github.com/llvm/llvm-project/commit/418922623673a8044d30a57825b026a03f9d9354
Author: nicole mazzuca <nicole at strega-nil.co>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++] Update some C++23 statuses to "Nothing to do" or "Complete" (#99621)
- [P2160R1][] "Locks lock lockables"
- [P2212R2][] "Relax Requirements for `time_point::clock`"
- [P1675R2][] "`rethrow_exception` must be allowed to copy"
- [P2340R1][] "Clarifying the status of the 'C headers'"
- [P2460R2][] "Relax requirements on `wchar_t` to match existing
practices"
Are all papers that change wording without changing implementation
behaviour.
Additionally, [P2736R2][] "Referencing The Unicode Standard", is an
already complete paper in 19.0 (as of [LLVM-86543][])
[P2160R1]: https://wg21.link/p2160r1
[P2212R2]: https://wg21.link/p2212r2
[P1675R2]: https://wg21.link/p1675r2
[P2340R1]: https://wg21.link/p2340r1
[P2460R2]: https://wg21.link/p2460r2
[P2736R2]: https://wg21.link/p2736r2
[LLVM-86543]: https://github.com/llvm/llvm-project/pull/86543
Commit: 70843bf658004cc6997e4978e625140abce77427
https://github.com/llvm/llvm-project/commit/70843bf658004cc6997e4978e625140abce77427
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/copysign.cpp
M libc/src/math/generic/copysignf.cpp
M libc/src/math/generic/copysignf16.cpp
M libc/src/math/generic/fabs.cpp
M libc/src/math/generic/fabsf.cpp
M libc/src/math/generic/fabsf16.cpp
M libc/test/src/math/performance_testing/BinaryOpSingleOutputPerf.h
M libc/test/src/math/performance_testing/CMakeLists.txt
M libc/test/src/math/performance_testing/SingleInputSingleOutputPerf.h
A libc/test/src/math/performance_testing/misc_basic_ops_perf.cpp
Log Message:
-----------
[libc][math] Optimize copysign{,f,f16} and fabs{,f,f16} with builtins when available (#99037)
Commit: c80b799e90c6279ced025c44b9177c6e5f0f2ada
https://github.com/llvm/llvm-project/commit/c80b799e90c6279ced025c44b9177c6e5f0f2ada
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/src/__support/OSUtil/linux/fcntl.cpp
Log Message:
-----------
[libc] No need to use recursion in fcntl (#99893)
This patch removes the recursion in fcntl introduced by PR #99675 as it is not required and may be dangerous in some cases: some toolchains define F_GETLK == F_GETLK64 causing infinite recursion.
Commit: 1c798e0b077f062dbe56603021a9b67c7621ffe0
https://github.com/llvm/llvm-project/commit/1c798e0b077f062dbe56603021a9b67c7621ffe0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/RISCV/rvv/pr99782.ll
Log Message:
-----------
[SelectionDAGBuilder][RISCV] Fix crash when using a memory constraint with scalable vector type. (#99821)
We need to use the minimum size of the scalable type and the correct
stack ID.
The code in the PR is still invalid because the instruction used doesn't
have a pointer operand. This is diagnosed later when the assembler
parses it.
Fixes #99782
Commit: 90569e02e63ff5d0915446919f564e9b3638fe2a
https://github.com/llvm/llvm-project/commit/90569e02e63ff5d0915446919f564e9b3638fe2a
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/benchmarks/CMakeLists.txt
A llvm/benchmarks/xxhash.cpp
M llvm/lib/Support/xxhash.cpp
Log Message:
-----------
[Support] Add Arm NEON implementation for `llvm::xxh3_64bits` (#99634)
Compared to the generic scalar code, using Arm NEON instructions yields
a ~11x speedup: 31 vs 339.5 ms to hash 1 GiB of random data on the Apple
M1.
This follows the upstream implementation closely, with some
simplifications made:
- Removed workarounds for suboptimal codegen on older GCC
- Removed instruction reordering barriers which seem to have a
negligible impact according to my measurements
- We do not support WebAssembly's mostly NEON-compatible API
- There is no configurable mixing of SIMD and scalar code; according to
the upstream comments, this is only relevant for smaller Cortex cores
which can dispatch relatively few NEON micro-ops per cycle.
This commit intends to use only standard ACLE intrinsics and datatypes,
so it should build with all supported versions of GCC, Clang and MSVC.
This feature is enabled by default when targeting AArch64, but the
`LLVM_XXH_USE_NEON=0` macro can be set to explicitly disable it.
XXH3 is used for ICF, string deduplication and computing the UUID in
ld64.lld; this commit results in a -1.77% +/- 0.59% speed improvement
for a `--threads=8` link of Chromium.framework.
Commit: f2eb7c7344a56381e373b110527e09dbed51da32
https://github.com/llvm/llvm-project/commit/f2eb7c7344a56381e373b110527e09dbed51da32
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
R llvm/test/Object/ARM/nm-mapping-symbol.s
Log Message:
-----------
[test] Delete a redundant mapping symbol test
Covered by llvm/test/tools/llvm-nm/special-syms-arm.test
Commit: 3f8d77bcc7f3c6ada0650d848d76ea9827e78de4
https://github.com/llvm/llvm-project/commit/3f8d77bcc7f3c6ada0650d848d76ea9827e78de4
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-fixed-vector-zext.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
R llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
Revert "[AArch64][SVE] Improve code quality of vector unsigned/signed add reductions. (#97339)"
This reverts commit b7b0071680e60c60da9d4d858f944fd95d76fd42.
The change caused regression in a performance testing.
Commit: fa5971c298c96c965ba6d8fb855867f23518aad4
https://github.com/llvm/llvm-project/commit/fa5971c298c96c965ba6d8fb855867f23518aad4
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Transforms/debug-92391.fir
Log Message:
-----------
[flang][debug] Generate correct name for external function. (#99510)
The `ExternalNameConversion` will add an _ at the end of the external
functions. We extract the real function name to use in the debug info.
The convention is to use the real name of function in the `name` field
and mangled name with extra _ at the end in the `linkageName` field.
Fixes #92391.
Commit: d221662ed0cc758331ea4277d46f5983ea76f36d
https://github.com/llvm/llvm-project/commit/d221662ed0cc758331ea4277d46f5983ea76f36d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] In emitSelectPseudo, copy call frame size from LastSelectPseudo instead of MI.
The split point is LastSelectPseudo. If MI is earlier, we might
sink it to LastSelectPseudo.
Commit: 0950533cff55478af0eb802c3698ff5a4e94bb73
https://github.com/llvm/llvm-project/commit/0950533cff55478af0eb802c3698ff5a4e94bb73
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Move call to EmitLoweredCascadedSelect above some variable declarations. NFC
These variables aren't used if we call EmitLoweredCascadedSelect
so move the call above them.
Commit: bee2654300a8f524e05dd4cad41411d597246ac0
https://github.com/llvm/llvm-project/commit/bee2654300a8f524e05dd4cad41411d597246ac0
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/skip-coro.ll
Log Message:
-----------
[Asan] Skip pre-split coroutine and noop coroutine frame (#99415)
CoroSplit expects the second parameter of `llvm.coro.id` to be the
promise alloca. Applying Asan on a pre-split coroutine breaks this
assumption and causes split to fail. This should be NFC because asan
pass happens late in the pipeline where all coroutines are split. This
is to prevent crash in case the order of passes are switched.
Also `NoopCoro.Frame.Const` is a special coroutine frame that does
nothing when resumed or destroyed. There is no point to do
instrumentation on it.
Commit: 146fd7cd454d71afb94d5d7ad7a3dbd6f3344d04
https://github.com/llvm/llvm-project/commit/146fd7cd454d71afb94d5d7ad7a3dbd6f3344d04
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
A clang/test/Driver/Inputs/multilib_aarch64_linux_tree/usr/include/aarch64-linux-gnu/.keep
A clang/test/Driver/Inputs/multilib_aarch64_linux_tree/usr/include/aarch64-linux-pauthtest/.keep
A clang/test/Driver/aarch64-multilib-pauthabi.c
M clang/test/Driver/aarch64-ptrauth.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[PAC][Driver] Support `pauthtest` ABI for AArch64 Linux triples (#97237)
When `pauthtest` is either passed as environment part of AArch64 Linux
triple
or passed via `-mabi=`, enable the following ptrauth flags:
- `intrinsics`;
- `calls`;
- `returns`;
- `auth-traps`;
- `vtable-pointer-address-discrimination`;
- `vtable-pointer-type-discrimination`;
- `init-fini`.
Some related stuff is still subject to change, and the ABI itself might
be changed, so end users are not expected to use this and the ABI name
has 'test' suffix.
If `-mabi=pauthtest` option is used, it's normalized to effective
triple.
When the environment part of the effective triple is `pauthtest`, try
to use `aarch64-linux-pauthtest` as multilib directory.
The following is not supported:
- combination of `pauthtest` ABI with any branch protection scheme
except BTI;
- explicit set of environment part of the triple to a value different
from `pauthtest` in combination with `-mabi=pauthtest`;
- usage on non-Linux OS.
---------
Co-authored-by: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Commit: 511e93b96ee74438cbd643cec63281aff0663933
https://github.com/llvm/llvm-project/commit/511e93b96ee74438cbd643cec63281aff0663933
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/atomic-ops.c
Log Message:
-----------
Handle constant "pointers" for `__atomic_always_lock_free`/`__atomic_is_lock_free`. (#99340)
The second argument passed to these builtins is used to validate whether
the object's alignment is sufficient for atomic operations of the given
size.
Currently, the builtins can be folded at compile time only when the
argument is 0/nullptr, or if the _type_ of the pointer guarantees
appropriate alignment.
This change allows the compiler to also evaluate non-null constant
pointers, which enables callers to check a specified alignment, instead
of only the type or an exact object. E.g.:
`__atomic_is_lock_free(sizeof(T), (void*)4)`
can be potentially evaluated to true at compile time, instead of
generating a libcall. This is also supported by GCC, and used by
libstdc++, and is also useful for libc++'s atomic_ref.
Also helps with (but doesn't fix) issue #75081.
This also fixes a crash bug, when the second argument was a non-pointer
implicitly convertible to a pointer (such as an array, or a function).
Commit: 315561c867784ebd9ca387e94ea6597918e7cc1c
https://github.com/llvm/llvm-project/commit/315561c867784ebd9ca387e94ea6597918e7cc1c
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[run-clang-tidy.py] Refactor, add progress indicator, add type hints (#89490)
[There is
work](https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-python-version/67571)
to make Python 3.8 the minimum Python version for LLVM.
I edited this script because I wanted some indicator of progress while
going through files.
It now outputs `[XX/YYY]` with the number of processed and total files
after each completion.
The current version of this script is compatible downto Python 3.6 (this
is PyYAML's minimum version).
It would probably work with older Python 3 versions with an older PyYAML
or when YAML is disabled.
With the updates here, it is compatible downto Python 3.7. Python 3.7
was released June 2018.
https://github.com/llvm/llvm-project/pull/89302 is also touching this
file, I don't mind rebasing on top of that work if needed.
### Summary
- Add type annotations.
- Replace `threading` + `queue` with `asyncio`.
- **Add indicator of processed files over total files**. This is what I
set out to do initially.
- Only print the filename after completion, not the entire Clang-Tidy
invocation command. I find this neater but the behavior can easily be
restored.
Commit: 9d76231fcd3f6ddf9bd6aafe7f143404cad7e4a1
https://github.com/llvm/llvm-project/commit/9d76231fcd3f6ddf9bd6aafe7f143404cad7e4a1
Author: matthew-f <matthewf at cat.co.za>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
Log Message:
-----------
[clang-tidy] Ensure functions are anchored in the global namespace (for cert-err-33) (#99380)
The regular expressions match functions that aren't anchored in the
global namespace. For example `::remove` matches any object with a
`removeXyz` method. This change is to remove these false positives
Commit: 9374216d4b2c408a4537bdb6af05f1bc1e5e562b
https://github.com/llvm/llvm-project/commit/9374216d4b2c408a4537bdb6af05f1bc1e5e562b
Author: dyung <douglas.yung at sony.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
Replace distutils.version with packaging.version since the former was deprecated in python 3.10 and removed in 3.12. (#99852)
Attempt to reland #99549, but using packaging.version instead of
looseversion, based on the usage used for LLDB in #93712.
Commit: 0eb719fef57e560179cdeff02130638537970c24
https://github.com/llvm/llvm-project/commit/0eb719fef57e560179cdeff02130638537970c24
Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
Log Message:
-----------
[AMDGPU] Fix build failure in raw.atomic.buffer.load tests (#99912)
This fixes the failing tests after rebasing
over the attributor move.
Commit: 735974e550dae84b40bad06cbe8cf5f22d318896
https://github.com/llvm/llvm-project/commit/735974e550dae84b40bad06cbe8cf5f22d318896
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/fp_extend.h
M compiler-rt/lib/builtins/fp_lib.h
Log Message:
-----------
[builtins] Use __builtin_clzll for 64-bit types (#99874)
This addresses the issue with `__LP64__` not being defined for targets
with 32-bit pointers but 64-bit longs, resulting in worse codegen.
Commit: 2ef12b55b2a655262b03204581076522261d5eb3
https://github.com/llvm/llvm-project/commit/2ef12b55b2a655262b03204581076522261d5eb3
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
Log Message:
-----------
[clang] Fix the broken DeductionGuide ToolingTests after c7bfc41860a6abe5c92dc5afb47348b0c9e69963
Commit: bb8a74075b164ea0d9b3155f64d0590fc6072cdd
https://github.com/llvm/llvm-project/commit/bb8a74075b164ea0d9b3155f64d0590fc6072cdd
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M lldb/include/lldb/Target/DynamicLoader.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
Log Message:
-----------
[lldb] Change GetStartSymbol to GetStartAddress in DynamicLoader (#99909)
On linux, the start address doesn't necessarily have a symbol attached
to it.
This is why this patch replaces `DynamicLoader::GetStartSymbol` with
`DynamicLoader::GetStartAddress` instead to make it more generic.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 52dd4dbb1ad30ed057c532148cc95f34efe34aa0
https://github.com/llvm/llvm-project/commit/52dd4dbb1ad30ed057c532148cc95f34efe34aa0
Author: Hana Dusíková <hanicka at hanicka.net>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
Log Message:
-----------
[clang-tidy] `bugprone-exception-escape` didn't detech catching of an exception with pointer type by `void *` exception handler (#99773)
As in title, code which checks eligibility of exceptions with pointer
types to be handled by exception handler of type `void *` disallowed
this case. It was working like this:
```c++
if (isStandardPointerConvertible(ExceptionCanTy, HandlerCanTy) &&
isUnambiguousPublicBaseClass(
ExceptionCanTy->getTypePtr()->getPointeeType().getTypePtr(),
HandlerCanTy->getTypePtr()->getPointeeType().getTypePtr())) {
```
but in `isUnambiguousPublicBaseClass` there was code which looked for
definitions:
```c++
bool isUnambiguousPublicBaseClass(const Type *DerivedType,
const Type *BaseType) {
const auto *DerivedClass =
DerivedType->getCanonicalTypeUnqualified()->getAsCXXRecordDecl();
const auto *BaseClass =
BaseType->getCanonicalTypeUnqualified()->getAsCXXRecordDecl();
if (!DerivedClass || !BaseClass)
return false;
```
This code disallowed usage of `void *` type which was already correctly
detected in `isStandardPointerConvertible`.
AFAIK this seems like misinterpretation of specification:
> 14.4 Handling an exception
> a standard [pointer conversion](https://eel.is/c++draft/conv.ptr) not
involving conversions to pointers to private or protected or ambiguous
classes
(https://eel.is/c++draft/except.handle#3.3.1)
and
> 7.3.12 Pointer conversions
> ... If B is an inaccessible
([[class.access]](https://eel.is/c++draft/class.access)) or ambiguous
([[class.member.lookup]](https://eel.is/c++draft/class.member.lookup))
base class of D, a program that necessitates this conversion is
ill-formed[.](https://eel.is/c++draft/conv.ptr#3.sentence-2) ...
(https://eel.is/c++draft/conv.ptr#3)
14.4 is carving out private, protected, and ambiguous base classes, but
they are already carved out in 7.3.12 and implemented in
`isStandardPointerConvertible`
---------
Co-authored-by: Piotr Zegar <me at piotrzegar.pl>
Commit: 50c4e0392a42d1203fc17339c86216d7c378b21f
https://github.com/llvm/llvm-project/commit/50c4e0392a42d1203fc17339c86216d7c378b21f
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/unittests/Tooling/CMakeLists.txt
Log Message:
-----------
[clang][test] Add missing test file to cmake (#99907)
Seems like this test was never running with cmake, but is running with
bazel and broke at head.
Commit: d6e17d70969722a3a2ecf6690a7fddcaca2ea14f
https://github.com/llvm/llvm-project/commit/d6e17d70969722a3a2ecf6690a7fddcaca2ea14f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Log Message:
-----------
[gn build] Port 50c4e0392a42
Commit: 3b24e5d450c01080610e3cbf79727b454cad0d32
https://github.com/llvm/llvm-project/commit/3b24e5d450c01080610e3cbf79727b454cad0d32
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/DebugInfo/omit-empty.ll
Log Message:
-----------
Omit .debug_aranges if it is empty (#99897)
SIE tracker: https://jira.sie.sony.com/browse/TOOLCHAIN-16575
Commit: a6341718967a708149159e8583549fa15198f902
https://github.com/llvm/llvm-project/commit/a6341718967a708149159e8583549fa15198f902
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Log Message:
-----------
[InstrPGO][TypeProf]Annotate vtable types when they are present in the profile (#99402)
Before this change, when `file.profdata` have vtable profiles but `--enable-vtable-value-profiling` is not on for optimized build, warnings from this line [1] will show up. They are benign for performance but confusing.
It's better to automatically annotate vtable profiles if `file.profdata` has them. This PR implements it in profile use pass.
* If `-icp-max-num-vtables` is zero (default value is 6), vtable profiles won't be annotated.
[1] https://github.com/llvm/llvm-project/blob/464d321ee8dde1eaf14b5537eaf030e6df513849/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp#L1762-L1768
Commit: da2f7201f3a24c2eb3120960eeae0ab6bcd5cfa2
https://github.com/llvm/llvm-project/commit/da2f7201f3a24c2eb3120960eeae0ab6bcd5cfa2
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
Log Message:
-----------
[libc] Include cbrt in baremetal targets (#99916)
This is a follow up to #99262.
Commit: 04d5003f59c1ef10a036d2158f1aa61de506e707
https://github.com/llvm/llvm-project/commit/04d5003f59c1ef10a036d2158f1aa61de506e707
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy][DOC] Update check documentation
Fix issues in list.rst, addapt add_new_check.py to new
format of that file, and run gen-static-analyzer-docs.py
to generate missing documentation for clang-analyzer.
Commit: bdee9b05ded9c5b90556f3a8b22f75e204e54a46
https://github.com/llvm/llvm-project/commit/bdee9b05ded9c5b90556f3a8b22f75e204e54a46
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
Revert "[BOLT][DWARF][NFC] Split processUnitDIE into two lambdas" (#99904)
Reverts llvm/llvm-project#99225
Commit: e6fdecd29059c0951a4970e9e6cf478972844099
https://github.com/llvm/llvm-project/commit/e6fdecd29059c0951a4970e9e6cf478972844099
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Drop references to Ingredient from VPWidenRecipe comments (NFC)
VPWidenRecipe has been updated to use Opcode + operands instead of an
Instruction 'ingredient'. Reword the comments.
Commit: e09032f7a36ffb5eb8638a3933aeca7015a9579a
https://github.com/llvm/llvm-project/commit/e09032f7a36ffb5eb8638a3933aeca7015a9579a
Author: David Green <david.green at arm.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
Log Message:
-----------
[StackFrameLayoutAnalysis] Add basic Scalable stack slot output (#99883)
The existing StackFrameLayoutAnalysis details do not do well with
Scalable vector stack slots, which are not marked as scalable and
intertwined with the other fixed-size slots. This patch adds some very
basic support, marking them as scalable and sorting them to the end of
the list. The slot addresses are not really correct (for fixed as well
as scalable), but this prints something a little better with the limited
information curently available.
Commit: 9a8b0407fc16af4ca6f79a2583297318a645d88a
https://github.com/llvm/llvm-project/commit/9a8b0407fc16af4ca6f79a2583297318a645d88a
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/MachO/arm64-32-stubs.s
M lld/test/MachO/arm64-stubs.s
M lld/test/MachO/dyld-stub-binder.s
M lld/test/MachO/invalid/chained-fixups-incompatible.s
M lld/test/MachO/objc-selrefs.s
Log Message:
-----------
Reapply "[lld] enable fixup chains by default (#79894)" (#99255)
This reverts commit f55b79f59a77b4be586d649e9ced9f8667265011.
The known issues with chained fixups have been addressed by #98913,
#98305, #97156 and #95171.
Compared to the original commit, support for xrOS (which postdates
chained fixups' introduction) was added and an unnecessary test change
was removed.
----------
Original commit message:
Enable chained fixups in lld when all platform and version criteria are
met. This is an attempt at simplifying the logic used in ld 907:
https://github.com/apple-oss-distributions/ld64/blob/93d74eafc37c0558b4ffb88a8bc15c17bed44a20/src/ld/Options.cpp#L5458-L5549
Some changes were made to simplify the logic:
- only enable chained fixups for macOS from 13.0 to avoid the arch check
- only enable chained fixups for iphonesimulator from 16.0 to avoid the
arch check
- don't enable chained fixups for not specifically listed platforms
- don't enable chained fixups for arm64_32
Commit: 3cb82f49dc990dc20a765856c0e126193992fe44
https://github.com/llvm/llvm-project/commit/3cb82f49dc990dc20a765856c0e126193992fe44
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/SystemZ/cmp-ptr-minmax.ll
Log Message:
-----------
[SLP]Fix PR99899: Use canonical type instead of original vector of ptr.
Use adjusted canonical integer type instead of the original ptr type to
fix the crash in the TTI.
Fixes https://github.com/llvm/llvm-project/issues/99899
Commit: 8972979c37b7368735a0b224d5212c29041dcd5c
https://github.com/llvm/llvm-project/commit/8972979c37b7368735a0b224d5212c29041dcd5c
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/docs/dev/header_generation.rst
Log Message:
-----------
[libc] Updated header_generation.rst (#99712)
Added new headergen documentation.
Commit: d2f42c737234662d1bdc2f2e393e1b59536f8a93
https://github.com/llvm/llvm-project/commit/d2f42c737234662d1bdc2f2e393e1b59536f8a93
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M mlir/unittests/IR/ShapedTypeTest.cpp
Log Message:
-----------
[mlir] Add unit test for RankedTensorType wrapper example. (#99789)
Add example as unit test for creating a wrapper type/view for
RankedTensorType with encoding. This view provides a more restricted &
typed API while it allows one to avoid repeated casting queries and
accessing the encoding directly.
For users with more advance encodings, the expectation would be a
separate attribute type, but here just StringAttr is used.
Commit: 6777c3400708abbd607e7c167f73922eb0d807dc
https://github.com/llvm/llvm-project/commit/6777c3400708abbd607e7c167f73922eb0d807dc
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/docs/DirectX/DXILOpTableGenDesign.rst
Log Message:
-----------
[DXIL][Doc] Update specification of TableGen DXIL properties (#99055)
Update the specification of various DXIL Operation properties that
are predicated by DXIL version.
Commit: aac3a2a291598f3aef01833927fa754c53849cdf
https://github.com/llvm/llvm-project/commit/aac3a2a291598f3aef01833927fa754c53849cdf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/at_quick_exit.cpp
M libc/src/stdlib/atexit.cpp
R libc/src/stdlib/exit_handler.cpp
M libc/src/stdlib/exit_handler.h
Log Message:
-----------
[libc] Fix callback type in `exit_handlers.cpp` not matching (#97642)
Summary:
This file is an object library, but uses the `LIBC_COPT_PUBLIC_PACKAING`
option. This will always be undefined which leads to a type mismatch
when uses actually try to link against it. This patch simply removes
this and turns it into a header only library. This means that the
implementations of the callback lists and the mutexes need to live in
their respective files. The result is that `atexit` needs to be defined
for `at_quick_exit` to be valid.
Commit: b177ac4a44ec4024fec6927f4870ee96e9070696
https://github.com/llvm/llvm-project/commit/b177ac4a44ec4024fec6927f4870ee96e9070696
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan.h
M compiler-rt/lib/rtsan/rtsan_interceptors.cpp
Log Message:
-----------
[compiler-rt][rtsan] Use sanitizer internal allocator during rtsan init to avoid segfault in dlsym (#98679)
Follows https://github.com/llvm/llvm-project/pull/98268 with a fix for a
segfault during preinit on `ubuntu:20.04` environments. Previously,
`rtsan` was not handling the situation where `dlsym` calls `calloc`
during the interceptors initialization, resulting in a call to a
function at a null address.
@cjappl and I took inspiration from the solution in `nsan`, but we
re-used the sanitizer internal allocator instead of our own static
buffer. This PR also re-enables the existing non-instrumented `rtsan`
tests for `x86_64` and `arm64` architectures.
---------
Co-authored-by: Chris Apple <cja-private at pm.me>
Commit: b8461769507d5b4a8c90d3722830b802d948e8b5
https://github.com/llvm/llvm-project/commit/b8461769507d5b4a8c90d3722830b802d948e8b5
Author: Chris Apple <cja-private at pm.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/rtsan/tests/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Moved cmake libatomic check to top level config-ix (#99437)
Also add atomic check to rtsan for when the tests are merged (related
review #98679)
Commit: d48d4805f792adbdac58d480f890449def4964ea
https://github.com/llvm/llvm-project/commit/d48d4805f792adbdac58d480f890449def4964ea
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
Log Message:
-----------
[clang-tidy][NFC] Fix tiny bug in areStatementsIdentical
Function areStatementsIdentical had an early exit
when classes of stmt does not match. That if were
added to speed up checking and do not calculate
hash id of both objects if they are not the same
type. Due to some bug, wrong pointer were used
and this resulted with comparing self to self.
This patch fixes this issue.
Commit: 25897ba420b93449542a60ffc9542e62b7480807
https://github.com/llvm/llvm-project/commit/25897ba420b93449542a60ffc9542e62b7480807
Author: xur-llvm <59886942+xur-llvm at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
Log Message:
-----------
[PGO] Sync InstrProfData.inc from llvm to compiler-rt (#99930)
Sync InstrProfData.inc from llvm to compiler-rt. The difference was
introduced from https://github.com/llvm/llvm-project/pull/69535.
Commit: ae96bde89f0097c6259bde8fe23ffb7b684e198e
https://github.com/llvm/llvm-project/commit/ae96bde89f0097c6259bde8fe23ffb7b684e198e
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github][mlir] Add kuhar to code owners for vector IR (#99955)
This is so that I can track vector dialect changes and pay attention to
the maintenance required on the SPIR-V lowering side.
Commit: 93eb9ec368817e63e2e8a2ef567bc23211acb776
https://github.com/llvm/llvm-project/commit/93eb9ec368817e63e2e8a2ef567bc23211acb776
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] New HeaderGen Switch Flip (#99929)
Flipped option from OFF to ON for automatically building libc with New
HeaderGen.
Commit: 9da087147a6be2053365e3bb30f0864456efaea0
https://github.com/llvm/llvm-project/commit/9da087147a6be2053365e3bb30f0864456efaea0
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/src/__support/threads/thread.h
M libc/src/math/generic/expm1.cpp
Log Message:
-----------
[libc][NFC] clean up some includes (#99719)
While looking through the list of includes for #99693 I found these
includes that also need to be cleaned up. I removed the extra includes
in expm1.cpp, but the include in thread.h needs more attention so I just
marked it with a todo.
Commit: 1efcc532bab505db079bd3becffe32f742287c71
https://github.com/llvm/llvm-project/commit/1efcc532bab505db079bd3becffe32f742287c71
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/warn-fsyntax-only.c
Log Message:
-----------
[Clang][Driver] Warn about `-c/-S` with `-fsyntax-only` (#98607)
Emit warning that `-S` and/or `-c` arguments are not used if
`-fsyntax-only` is also passed to clang
`addPGOAndCoverageFlags` is not the right place
to produce this warning
Now `-fsyntax-only -c/-S` combination handles like `-fsyntax-only -E` in
`BuildJobs()` driver function
Commit: b2060965fd57ff71b52729985abfe4ea1929a4fd
https://github.com/llvm/llvm-project/commit/b2060965fd57ff71b52729985abfe4ea1929a4fd
Author: Chris Apple <cja-private at pm.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[rtsan] Remove android support (#99964)
Based on failing build:
https://lab.llvm.org/buildbot/#/builders/186/builds/829
Follow up to #98679
Commit: d6ad4c2834a0ed679f19536a49628c4ff76fe8d0
https://github.com/llvm/llvm-project/commit/d6ad4c2834a0ed679f19536a49628c4ff76fe8d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] Reorder code in CombinerHelper::buildUDivUsingMul. NFC (#99565)
Group the code for handling Exact udiv together above the code for
non-Exact. Move the computeKnownBits call to after the Exact udiv
handling.
Commit: a1359f5ed446a2a6c5f87bfa938448b1016f9b12
https://github.com/llvm/llvm-project/commit/a1359f5ed446a2a6c5f87bfa938448b1016f9b12
Author: Ryan Prichard <rprichard at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libcxx/utils/ci/vendor/android/Dockerfile.emulator
M libcxx/utils/ci/vendor/android/emulator-entrypoint.sh
Log Message:
-----------
[libc++][Android] Pass -no-metrics to emulator (#99627)
The Android Emulator has started printing this message, so pass the
`-no-metrics` option:
```
##############################################################################
## WARNING - ACTION REQUIRED ##
## Consider using the '-metrics-collection' flag to help improve the ##
## emulator by sending anonymized usage data. Or use the '-no-metrics' ##
## flag to bypass this warning and turn off the metrics collection. ##
## In a future release this warning will turn into a one-time blocking ##
## prompt to ask for explicit user input regarding metrics collection. ##
## ##
## Please see '-help-metrics-collection' for more details. You can use ##
## '-metrics-to-file' or '-metrics-to-console' flags to see what type of ##
## data is being collected by emulator as part of usage statistics. ##
##############################################################################
```
Commit: 173514ff129620364ac0ed61027e81194d997d76
https://github.com/llvm/llvm-project/commit/173514ff129620364ac0ed61027e81194d997d76
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
Log Message:
-----------
[libc] Disable epoll_pwait2 for now. (#99967)
This patch reverts #99781 and part of #99771 since `epoll_pwait2` is not
in fact available on all supported systems. It is my opinion that we
shouldn't provide a version of a function that doesn't perform as
expected, which is why this revert needs to happen.
The `epoll_pwait2` function can be reenabled when we have a way to check
if it is available on the target system, tracking bug for that is #80060
Commit: 7467f41a7d4bc2e305fb368c591790936ad5ef33
https://github.com/llvm/llvm-project/commit/7467f41a7d4bc2e305fb368c591790936ad5ef33
Author: vporpo <vporpodas at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement ReturnInst (#99784)
This patch adds the implementation of the SandboxIR ReturnInst which
mirrors llvm::ReturnInst.
Commit: db1d88137212fec6c884dcb0f76a8dfab4fcab98
https://github.com/llvm/llvm-project/commit/db1d88137212fec6c884dcb0f76a8dfab4fcab98
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Fix bug for `vector.broadcast` op in `convert-vector-to-spirv` pass (#99928)
This PR addresses
[!17976](https://github.com/iree-org/iree/issues/17976) by using
converted `resultType` instead of the original result type obtained from
`castOp.getResultVectorType`. A new LIT test is also included.
Commit: 70c52b62c5669993e341664a63bfbe5245e32884
https://github.com/llvm/llvm-project/commit/70c52b62c5669993e341664a63bfbe5245e32884
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
Log Message:
-----------
[MC] Export llvm::ELFObjectWriter
Similar to commit 28fcafb50274be2520117eacb0a886adafefe59d (2011) for
MachObjectWriter and commit 9539a7796094ff5fb59d9c685140ea2e214b945c for
WinCOFFObjectWriter.
MCELFStreamer can now access ELFObjectWriter directly without adding
ELF-specific markGnuAbi (https://reviews.llvm.org/D97976) and
setOverrideABIVersion to MCObjectWriter.
A few member variables have to be made public since we cannot use a
friend declaration for ELFWriter.
Commit: 40954d7f9bb38b2407fe48a524befc5216f13ccc
https://github.com/llvm/llvm-project/commit/40954d7f9bb38b2407fe48a524befc5216f13ccc
Author: Haowei <haowei at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[Fuchsia] Disable new hdrgen in Fuchsia toolchain build (#100001)
We are seeing a PyYaml issue after the new libc_hdrgen was enabled by
default. This patch disables it in Fuchsia toolchain build so we restore
the builder while we are investigating.
Commit: 37d0568a6593adfe791c1327d99731050540e97a
https://github.com/llvm/llvm-project/commit/37d0568a6593adfe791c1327d99731050540e97a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
A clang/docs/ClangNVLinkWrapper.rst
M clang/docs/index.rst
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/nvlink-wrapper.c
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/clang-nvlink-wrapper/CMakeLists.txt
A clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
A clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
[Clang] Introduce 'clang-nvlink-wrapper' to work around 'nvlink' (#96561)
Summary:
The `clang-nvlink-wrapper` is a utility that I removed awhile back
during the transition to the new driver. This patch adds back in a new,
upgraded version that does LTO + archive linking. It's not an easy
choice to reintroduce something I happily deleted, but this is the only
way to move forward with improving GPU support in LLVM.
While NVIDIA provides a linker called 'nvlink', its main interface is
very difficult to work with. It does not provide LTO, or static linking,
requires all files to be named a non-standard `.cubin`, and rejects link
jobs that other linkers would be fine with (i.e empty). I have spent a
great deal of time hacking around this in the GPU `libc` implementation,
where I deliberately avoid LTO and static linking and have about 100
lines of hacky CMake dedicated to storing these files in a format that
the clang-linker-wrapper accepts to avoid this limitation.
The main reason I want to re-intorudce this tool is because I am
planning on creating a more standard C/C++ toolchain for GPUs to use.
This will install files like the following.
```
<install>/lib/nvptx64-nvidia-cuda/libc.a
<install>/lib/nvptx64-nvidia-cuda/libc++.a
<install>/lib/nvptx64-nvidia-cuda/libomp.a
<install>/lib/clang/19/lib/nvptx64-nvidia-cuda/libclang_rt.builtins.a
```
Linking in these libraries will then simply require passing `-lc` like
is already done for non-GPU toolchains. However, this doesn't work with
the currently deficient `nvlink` linker, so I consider this a blocking
issue to massively improving the state of building GPU libraries.
In the future we may be able to convince NVIDIA to port their linker to
`ld.lld`, but for now this is the only workable solution that allows us
to hack around the weird behavior of their closed-source software.
This also copies some amount of logic from the clang-linker-wrapper,
but not enough for it to be worthwhile to merge them I feel. In the
future it may be possible to delete that handling from there entirely.
Commit: e391ba07fabd3990edb9be9f3d715abba7e43343
https://github.com/llvm/llvm-project/commit/e391ba07fabd3990edb9be9f3d715abba7e43343
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
Log Message:
-----------
[Clang] Fix incorrect value assignment in nvlink wrapper
Summary:
Gah, forgot to push this before I merged.
Commit: ab1722aaabb454111d65cce60cdb8735631d5114
https://github.com/llvm/llvm-project/commit/ab1722aaabb454111d65cce60cdb8735631d5114
Author: Brad Smith <brad at comstyle.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/X86.h
Log Message:
-----------
[Clang] Remove NetBSD/i386 workaround for FP eval method with older versions (#74025)
NetBSD 6.x is long EoL. Make 7.x the minimum and even that is EoL.
Commit: d4da96d6b1d5d8128fc57c8148785144c7b96705
https://github.com/llvm/llvm-project/commit/d4da96d6b1d5d8128fc57c8148785144c7b96705
Author: RoseZhang03 <rosezhang at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
Revert "[libc] New HeaderGen Switch Flip" (#100003)
Reverts llvm/llvm-project#99929
Commit: b6dbda67d8f687350de66e68a7fd61433fac7107
https://github.com/llvm/llvm-project/commit/b6dbda67d8f687350de66e68a7fd61433fac7107
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
Log Message:
-----------
[clang] Implement type/address discrimination of type_info vtable. (#99726)
We want to be able to support full type and address discrimination of
type_info on targets that don't have existing ABI compatibility
constraints.
This patch does not enable such behavior on any platform, it just adds
the necessary machinery.
In clang we add a new commandline argument to control the type_info
vtable ABI:
-fptrauth-type-info-vtable-pointer-discrimination
and a feature flag to allow source level detection of the ABI:
__has_feature(ptrauth_type_info_vtable_pointer_discrimination)
Co-authored-by: Oliver Hunt <oliver at apple.com>
Commit: 3d494bfc7ff73cb0a8dbe16ac41db6f47910eef1
https://github.com/llvm/llvm-project/commit/3d494bfc7ff73cb0a8dbe16ac41db6f47910eef1
Author: Tianqing Wang <tianqing.wang at intel.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/Utils/SimplifyCFGOptions.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Other/new-pm-print-pipeline.ll
A llvm/test/Transforms/SimplifyCFG/two-entry-phi-fold-unpredictable.ll
Log Message:
-----------
[SimplifyCFG] Increase budget for FoldTwoEntryPHINode() if the branch is unpredictable. (#98495)
The `!unpredictable` metadata has been present for a long time, but
it's usage in optimizations is still limited. This patch teaches
`FoldTwoEntryPHINode()` to be more aggressive with an unpredictable
branch to reduce mispredictions.
A TTI interface `getBranchMispredictPenalty()` is added to distinguish
between different hardwares to ensure we don't go too far for simpler
cores. For simplicity, only a naive x86 implementation is included for
the time being.
Commit: 023c6454971dc33e409ce9a1035b20bd0ff893f2
https://github.com/llvm/llvm-project/commit/023c6454971dc33e409ce9a1035b20bd0ff893f2
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCXCOFFObjectWriter.h
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
Log Message:
-----------
MCObjectWriter: Remove XCOFF specific virtual functions
Add forwarders for now. XCOFFObjectWriter should eventually be exported
like Mach-O/COFF/ELF (commit 70c52b62c5669993e341664a63bfbe5245e32884).
Commit: 03936534b520ba28be37de7e24c59ba28d0c10d7
https://github.com/llvm/llvm-project/commit/03936534b520ba28be37de7e24c59ba28d0c10d7
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Protect against null entries in ValMap
Change-Id: Icbda7c3fecf38679d06006986e5e17cb1f1b8749
Commit: 41f6599ae1d4afa7e0bdca01dd3da1783ce4a56d
https://github.com/llvm/llvm-project/commit/41f6599ae1d4afa7e0bdca01dd3da1783ce4a56d
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M offload/DeviceRTL/src/Parallelism.cpp
Log Message:
-----------
[NFC][Offload] Move variables to where they are used (#99956)
Commit: 624d3221d1159bff98964d77c1b76e04a367d9d4
https://github.com/llvm/llvm-project/commit/624d3221d1159bff98964d77c1b76e04a367d9d4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/test/CMakeLists.txt
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
Log Message:
-----------
[Clang] Fix 'clang-nvlink-wrapper' not working w/o CUDA
Summary:
This would try to find `nvlink` and then fail even in `dry-run` mode.
We now just let it continue and pretend like we found it. Also add it to
the depends.
Commit: ba0744ed2cdf82e862a2dba7070aa30b6b412354
https://github.com/llvm/llvm-project/commit/ba0744ed2cdf82e862a2dba7070aa30b6b412354
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc][newheadergen]: yaml.load instead of safe_load (#100024)
Co-authored-by: Rose Zhang <rosezhang at google.com>
Commit: 9147147b5c191c22a740f8e596e62a6de1fc4f70
https://github.com/llvm/llvm-project/commit/9147147b5c191c22a740f8e596e62a6de1fc4f70
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Parse/ParsePragma.cpp
A clang/test/Preprocessor/pragma_mc_func.c
Log Message:
-----------
[AIX] Detect `#pragma mc_func` (#99888)
`#pragma mc_func` is an IBM XL feature that should be replaced by inline
assembly. This PR adds an option `-ferr-pragma-mc-func-aix` to detect
uses of `#pragma mc_func` and reports an error if the option is in
effect. If `-fno-err-pragma-mc-func-aix` is in effect, `#pragma mc_func`
is ignored even if `-Werror=unknown-pragmas` is in effect.
Commit: ad6685b252b9a6feb830ee3b9cc7f121a01292ba
https://github.com/llvm/llvm-project/commit/ad6685b252b9a6feb830ee3b9cc7f121a01292ba
Author: Greg Roth <grroth at microsoft.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/ExpectedDifferences.rst
Log Message:
-----------
Correct confusing headers in HLSLDocs (#100017)
AvailabilityDiagnostics.rst and ExpectedDifferences.rst both had
multiple headers that were perceived to be the "top-level".
In AvailabilityDiagnostics.rst two headers had both over and underlines.
The second was the "Examples" section so it showed up in the top level
HLSL docs. The overline is removed here so it's clear it's a subheader.
In ExpectedDifferences.rst, the first header had no overline, so a few
headers that looked the same were included. The overline is added to the
top header to make clear that it's the main header.
Commit: f540160e9ce7235cdda0d8f3ea324d7eb2a5b534
https://github.com/llvm/llvm-project/commit/f540160e9ce7235cdda0d8f3ea324d7eb2a5b534
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/tools/clang-nvlink-wrapper/CMakeLists.txt
Log Message:
-----------
[libc] Remove leftover debugging in `clang-nvlink-wrapper`
Summary:
This was accidentally left in.
Commit: c473e75adeaf2998e4fb444b0bdbf2dd19312e50
https://github.com/llvm/llvm-project/commit/c473e75adeaf2998e4fb444b0bdbf2dd19312e50
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
Log Message:
-----------
MCAssmembler: Move ELFHeaderEFlags to ELFObjectWriter
Now that MCELFStreamer can access ELFObjectWriter (commit
70c52b62c5669993e341664a63bfbe5245e32884), we can move ELFHeaderEFlags
there.
Commit: d3fb41dddc11b0ebc338a3b9e6a5ab7288ff7d1d
https://github.com/llvm/llvm-project/commit/d3fb41dddc11b0ebc338a3b9e6a5ab7288ff7d1d
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A llvm/include/llvm/CodeGenData/CodeGenData.h
A llvm/include/llvm/CodeGenData/CodeGenData.inc
A llvm/include/llvm/CodeGenData/CodeGenDataReader.h
A llvm/include/llvm/CodeGenData/CodeGenDataWriter.h
M llvm/lib/CodeGenData/CMakeLists.txt
A llvm/lib/CodeGenData/CodeGenData.cpp
A llvm/lib/CodeGenData/CodeGenDataReader.cpp
A llvm/lib/CodeGenData/CodeGenDataWriter.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
A llvm/test/tools/llvm-cgdata/dump.test
A llvm/test/tools/llvm-cgdata/empty.test
A llvm/test/tools/llvm-cgdata/error.test
A llvm/test/tools/llvm-cgdata/merge-archive.test
A llvm/test/tools/llvm-cgdata/merge-concat.test
A llvm/test/tools/llvm-cgdata/merge-double.test
A llvm/test/tools/llvm-cgdata/merge-single.test
A llvm/test/tools/llvm-cgdata/show.test
A llvm/tools/llvm-cgdata/CMakeLists.txt
A llvm/tools/llvm-cgdata/llvm-cgdata.cpp
Log Message:
-----------
[CGData] llvm-cgdata (#89884)
The llvm-cgdata tool has been introduced to handle reading and writing
of codegen data. This data includes an optimistic codegen summary that
can be utilized to enhance subsequent codegen. Currently, the tool
supports saving and restoring the outlined hash tree, facilitating
machine function outlining across modules. Additional codegen summaries
can be incorporated into separate sections as required. This patch
primarily establishes basic support for the reader and writer, similar
to llvm-profdata.
The high-level operations of llvm-cgdata are as follows:
1. It reads local raw codegen data from a custom section (for example,
__llvm_outline) embedded in native binary files
2. It merges local raw codegen data into an indexed codegen data,
complete with a suitable header.
3. It handles reading and writing of the indexed codegen data into a
standalone file.
This depends on https://github.com/llvm/llvm-project/pull/89792.
This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.
---------
Co-authored-by: Kyungwoo Lee <kyulee at fb.com>
Commit: 4dcd91aea3858fe60c65701a92060a04f789886f
https://github.com/llvm/llvm-project/commit/4dcd91aea3858fe60c65701a92060a04f789886f
Author: Oliver Hunt <oliver at apple.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
Log Message:
-----------
[PAC] Implement authentication for C++ member function pointers (#99576)
Introduces type based signing of member function pointers. To support
this discrimination schema we no longer emit member function pointer to
virtual methods and indices into a vtable but migrate to using thunks.
This does mean member function pointers are no longer necessarily
directly comparable, however as such comparisons are UB this is
acceptable.
We derive the discriminator from the C++ mangling of the type of the
pointer being authenticated.
Co-Authored-By: Akira Hatanaka ahatanaka at apple.com
Co-Authored-By: John McCall rjmccall at apple.com
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: 1f8b2b146141f3563085a1acb77deb50857a636d
https://github.com/llvm/llvm-project/commit/1f8b2b146141f3563085a1acb77deb50857a636d
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGenData/CodeGenDataReader.cpp
Log Message:
-----------
[CGData] Fix -Wpessimizing-move in CodeGenDataReader.cpp (NFC)
/llvm-project/llvm/lib/CodeGenData/CodeGenDataReader.cpp:78:12:
error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
return std::move(E);
^
/llvm-project/llvm/lib/CodeGenData/CodeGenDataReader.cpp:78:12: note: remove std::move call here
return std::move(E);
^~~~~~~~~~ ~
1 error generated.
Commit: d251a328b809ec66ca25cf72f71e127204eabfeb
https://github.com/llvm/llvm-project/commit/d251a328b809ec66ca25cf72f71e127204eabfeb
Author: Jordan Brantner <81778785+brantnej at users.noreply.github.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/lib/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Fix typo from alterantive to alternative (#99704)
Fix typo from `alterantive` -> `alternative`
Signed-off-by: Jordan Brantner <brantnej at oregonstate.edu>
Commit: 4572efea90f2ddf51c618790a119ad9b6fc2c7ed
https://github.com/llvm/llvm-project/commit/4572efea90f2ddf51c618790a119ad9b6fc2c7ed
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/test/CodeGen/builtins.c
Log Message:
-----------
[Clang][Interp] `__builtin_os_log_format_buffer_size` should be an unevaluated builtin (#99895)
Follow the current behavior of constant evaluator,
`__builtin_os_log_format_buffer_size` should be an unevaluated builtin.
The following code is well-formed:
```
void test_builtin_os_log(void *buf, int i, const char *data) {
constexpr int len = __builtin_os_log_format_buffer_size("%d %{public}s %{private}.16P", i, data, data);
}
```
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 03e92bf4836e888910815a54c66b07058cc8bb50
https://github.com/llvm/llvm-project/commit/03e92bf4836e888910815a54c66b07058cc8bb50
Author: Tianqing Wang <tianqing.wang at intel.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A llvm/test/Transforms/SimplifyCFG/X86/two-entry-phi-fold-unpredictable.ll
R llvm/test/Transforms/SimplifyCFG/two-entry-phi-fold-unpredictable.ll
Log Message:
-----------
[SimplifyCFG] Fix LIT failure introduced in 3d494bfc7. (#100049)
Commit: 6049cd62871d529b2e80b4f80fb7d74e347fb725
https://github.com/llvm/llvm-project/commit/6049cd62871d529b2e80b4f80fb7d74e347fb725
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/hardened-br-jump-table.ll
Log Message:
-----------
[AArch64][PAC] Lower jump-tables using hardened pseudo. (#97666)
This introduces an alternative hardened lowering for jump-table
dispatch, controlled by the function attribute
`"aarch64-jump-table-hardening"`.
The implementation is centered around a pseudo, BR_JumpTable:
> A hardened but more expensive version of jump-table dispatch.
> This combines the target address computation (otherwise done using
> the JumpTableDest pseudos above) with the branch itself (otherwise
> done using a plain BR) in a single non-attackable sequence.
>
> We take the final entry index as an operand to allow isel freedom.
> This does mean that the index can be attacker-controlled. To
> address that, we also do limited checking of the offset, mainly
> ensuring it still points within the jump-table array. When it
> doesn't, this branches to the first entry. We might want it to
> trap instead.
>
> This is intended for use in conjunction with ptrauth for other
> code pointers, to avoid signing jump-table entries and turning
> them into pointers.
>
> Entry index is passed in x16. Clobbers x16/x17/nzcv.
Jump-table compression isn't supported yet.
Commit: c33878c5787c128234d533ad19d672dc3eea19a8
https://github.com/llvm/llvm-project/commit/c33878c5787c128234d533ad19d672dc3eea19a8
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGenData/CodeGenDataReader.cpp
Log Message:
-----------
Fix build break for https://github.com/llvm/llvm-project/pull/89884 (#100050)
- A missing header
Commit: b5f23e56902ec37c6ac1c13f21ba5d863d66b3de
https://github.com/llvm/llvm-project/commit/b5f23e56902ec37c6ac1c13f21ba5d863d66b3de
Author: dyung <douglas.yung at sony.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
R clang/test/Driver/warn-fsyntax-only.c
Log Message:
-----------
Revert "[Clang][Driver] Warn about `-c/-S` with `-fsyntax-only`" (#100052)
Reverts llvm/llvm-project#98607
The test added was failing on some build bots:
- https://lab.llvm.org/buildbot/#/builders/144/builds/2918
- https://lab.llvm.org/buildbot/#/builders/46/builds/2069
Commit: 78735d8070a8e4f2024d58baa5a4cacc9fa08d3e
https://github.com/llvm/llvm-project/commit/78735d8070a8e4f2024d58baa5a4cacc9fa08d3e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
A llvm/utils/gn/secondary/clang/tools/clang-nvlink-wrapper/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
Log Message:
-----------
[gn] port 37d0568a6593a (clang-nvlink-wrapper)
Commit: adea9f9362085310d95a193f881978f51a79a3ba
https://github.com/llvm/llvm-project/commit/adea9f9362085310d95a193f881978f51a79a3ba
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGenData/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llvm-cgdata/BUILD.gn
Log Message:
-----------
[gn build] Port d3fb41dddc11 (llvm-cgdata)
Commit: 9e97f80cc5fe802e52f56699ce2df40a3aa989e3
https://github.com/llvm/llvm-project/commit/9e97f80cc5fe802e52f56699ce2df40a3aa989e3
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCELFStreamer.cpp
Log Message:
-----------
MCAssembler: Move Symvers to ELFObjectWriter
Similar to c473e75adeaf2998e4fb444b0bdbf2dd19312e50
Commit: e7a2405383e9f36aa6fe75a49632f7ca9a2f7b12
https://github.com/llvm/llvm-project/commit/e7a2405383e9f36aa6fe75a49632f7ca9a2f7b12
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/gpu/entrypoints.txt
M libc/test/UnitTest/CMakeLists.txt
Log Message:
-----------
[libc] Remove workarounds for lack of functional NVPTX linker (#96972)
Summary:
Currently we have several hacks to work around the fact that the NVPTX
linker, 'nvlink', does not support static libraries or LTO linking.
The patch in https://github.com/llvm/llvm-project/pull/96561 introduces
a wrapper in the toolchain that allows us to use a standard `ld.lld`
like interface. This means all the divergence with this target can be
removed.
Depends on https://github.com/llvm/llvm-project/pull/96561
Commit: 219d80bcb734bc4cbe3846fc49c5f21c31ba11be
https://github.com/llvm/llvm-project/commit/219d80bcb734bc4cbe3846fc49c5f21c31ba11be
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
Log Message:
-----------
MCAssembler: Move FileNames and CompilerVersion to MCObjectWriter
Commit: d6905ea9b089d07d37fa860c8a97f7f42ade682c
https://github.com/llvm/llvm-project/commit/d6905ea9b089d07d37fa860c8a97f7f42ade682c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
Log Message:
-----------
[Clang] Fix r-value binding that Windows doesn't like
Commit: 87c35d782795b54911b3e3a91a5b738d4d870e55
https://github.com/llvm/llvm-project/commit/87c35d782795b54911b3e3a91a5b738d4d870e55
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
Log Message:
-----------
[LoongArch][test] Add --relocation-model=pic option to psabi-restricted-scheduling. NFC
Add --relocation-model=pic option for generating %gd_pc_hi20 and %ld_pc_hi20.
Commit: 1eec5942a282acaaf33e0cc2bc88ade020e6860f
https://github.com/llvm/llvm-project/commit/1eec5942a282acaaf33e0cc2bc88ade020e6860f
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/CodeGenData/CMakeLists.txt
Log Message:
-----------
[CGData] Fix link error introduced in #89884
Commit: 73ffeeab12d54211fd838d6ff988d111369ea196
https://github.com/llvm/llvm-project/commit/73ffeeab12d54211fd838d6ff988d111369ea196
Author: vporpo <vporpodas at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement SelectInst (#99996)
This patch implements sandboxir::SelectInst which mirrors
llvm::SelectInst.
Commit: 464ea880cf7710cc8675c83001d7ae020406cf42
https://github.com/llvm/llvm-project/commit/464ea880cf7710cc8675c83001d7ae020406cf42
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvilv.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvpack.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvpick.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvrepl128vei.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvshuf.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvshuf4i.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vilv.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vpack.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vpick.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vreplvei.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vshuf.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vshuf4i.ll
Log Message:
-----------
[LoongArch][CodeGen] Implement 128-bit and 256-bit vector shuffle. (#100054)
[LoongArch][CodeGen] Implement 128-bit and 256-bit vector shuffle
operations.
In LoongArch, shuffle operations can be divided into two types:
- Single-vector shuffle: Shuffle using only one vector, with the other
vector being `undef` or not selected by mask. This can be expanded to
instructions such as `vreplvei` and `vshuf4i`.
- Two-vector shuffle: Shuflle using two vectors. This can be expanded to
instructions like `vilv[l/h]`, `vpack[ev/od]`, `vpick[ev/od]` and the
basic `vshuf`.
In the future, more optimizations may be added, such as handling 1-bit
vectors and processing single element patterns, etc.
Commit: 34ab855826b8cb0c3b46c770b83390bd1fe95c64
https://github.com/llvm/llvm-project/commit/34ab855826b8cb0c3b46c770b83390bd1fe95c64
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][deps] Ignore import/include directives with missing filenames (#99520)
Previously source input like `#import ` resulted in infinite calls
append the same token into `CurDirTokens`. This patch now ignores those
directive lines if they won't actually end up being compiled. (e.g.
macro guarded)
resolves: rdar://121247565
Commit: b8721fa0afa65e8e44d7f264712499d24f3cc68b
https://github.com/llvm/llvm-project/commit/b8721fa0afa65e8e44d7f264712499d24f3cc68b
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGen/ptrauth-function-attributes.c
A clang/test/Sema/ptrauth-indirect-goto.c
M llvm/docs/PointerAuth.md
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/ptrauth-indirectbr.ll
Log Message:
-----------
[AArch64][PAC] Sign block addresses used in indirectbr. (#97647)
Enabled in clang using:
-fptrauth-indirect-gotos
and at the IR level using function attribute:
"ptrauth-indirect-gotos"
Signing uses IA and a per-function integer discriminator. The
discriminator isn't ABI-visible, and is currently:
ptrauth_string_discriminator("<function_name> blockaddress")
A sufficiently sophisticated frontend could benefit from per-indirectbr
discrimination, which would need additional machinery, such as allowing
"ptrauth" bundles on indirectbr. For our purposes, the simple scheme
above is sufficient.
This approach doesn't support subtracting label addresses and using
the result as offsets, because each label address is signed.
Pointer arithmetic on signed pointers corrupts the signature bits,
and because label address expressions aren't typed beyond void*,
we can't do anything reliably intelligent on the arithmetic exprs.
Not signing addresses when used to form offsets would allow
easily hijacking control flow by overwriting the offset.
This diagnoses the basic cases (`&&lbl2 - &&lbl1`) in the frontend,
while we evaluate either alternative implementations (e.g., lowering
blockaddress to a bb number, and indirectbr to a checked jump-table),
or better diagnostics (both at the frontend level and on unencodable
IR constants).
Commit: 67937a3f969aaf97a745a45281a0d22273bff713
https://github.com/llvm/llvm-project/commit/67937a3f969aaf97a745a45281a0d22273bff713
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/test/tools/llvm-cgdata/merge-archive.test
M llvm/test/tools/llvm-cgdata/merge-concat.test
M llvm/test/tools/llvm-cgdata/merge-double.test
M llvm/test/tools/llvm-cgdata/merge-single.test
Log Message:
-----------
Fix tests for https://github.com/llvm/llvm-project/pull/89884 (#100061)
Commit: d7e8a7487cd793df0fdf51a94afc25ab0a325a9a
https://github.com/llvm/llvm-project/commit/d7e8a7487cd793df0fdf51a94afc25ab0a325a9a
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/ptrauth-fpac.ll
A llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll
A llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign.ll
Log Message:
-----------
[AArch64][PAC] Lower auth/resign into checked sequence. (#79024)
This introduces 3 hardening modes in the authentication step of
auth/resign lowering:
- unchecked, which uses the AUT instructions as-is
- poison, which detects authentication failure (using an XPAC+CMP
sequence), explicitly yielding the XPAC result rather than the
AUT result, to avoid leaking
- trap, which additionally traps on authentication failure,
using BRK #0xC470 + key (IA C470, IB C471, DA C472, DB C473.)
Not all modes are necessarily useful in all contexts, and there
are more performant alternative lowerings in specific contexts
(e.g., when I/D TBI enablement is a target ABI guarantee.)
These will be implemented separately.
This is controlled by the `ptrauth-auth-traps` function attributes,
and can be overridden using `-aarch64-ptrauth-auth-checks=`.
This also adds the FPAC extension, which we haven't needed
before, to improve isel when we can rely on HW checking.
Commit: 9cc11b98a76c9b2f39b84f709566aac6f962f07a
https://github.com/llvm/llvm-project/commit/9cc11b98a76c9b2f39b84f709566aac6f962f07a
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir] [linalg] Add pattern to swap transpose with broadcast (#97063)
Add a pattern that implement:
transpose(broadcast(input)) -> broadcast(transpose(input))
Commit: ae3c85a708dcb8e9a1721d69943232af3e263099
https://github.com/llvm/llvm-project/commit/ae3c85a708dcb8e9a1721d69943232af3e263099
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
MCAssembler: Move CGProfile to MCObjectWriter
Commit: eb2239299e51df64fe97e247aacbc4552349c2f9
https://github.com/llvm/llvm-project/commit/eb2239299e51df64fe97e247aacbc4552349c2f9
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
MCAssembler: Move LinkerOptions to MachObjectWriter
Commit: 7acd4dd1c040ee88125ff16aaee118cbf816da87
https://github.com/llvm/llvm-project/commit/7acd4dd1c040ee88125ff16aaee118cbf816da87
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Diagnose div by 0 more like the current interpreter
CCEDiag when it's a floating point operation, FFDiag otherwise.
Commit: 99e6631e30969e0e3ba82a044c917a836e27b22a
https://github.com/llvm/llvm-project/commit/99e6631e30969e0e3ba82a044c917a836e27b22a
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
MCAssembler: Remove getWriterPtr
Commit 8728e097dfbec3630a1dd907431c0f14274a1ae8 (2018) introduced
getWriterPtr, which might be nullptr for MCAsmStreamer. This lured call
sites to use getWriterPtr when it's guaranteed to be non-null for
MCObjectstreamer. Remove this misleading API.
Commit: bcf9fb9802baad73e2f2acf142519e0dcfd3cc7f
https://github.com/llvm/llvm-project/commit/bcf9fb9802baad73e2f2acf142519e0dcfd3cc7f
Author: David Benjamin <davidben at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__configuration/abi.h
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/string
M libcxx/include/vector
M libcxx/test/libcxx/containers/sequences/vector/abi.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/assert.iterator.add.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/assert.iterator.decrement.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/assert.iterator.dereference.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/assert.iterator.increment.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/assert.iterator.index.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/debug.iterator.add.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/debug.iterator.decrement.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/debug.iterator.dereference.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/debug.iterator.increment.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/debug.iterator.index.pass.cpp
A libcxx/test/libcxx/containers/sequences/vector/fill_to_capacity.h
M libcxx/test/libcxx/strings/basic.string/alignof.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/sizeof.compile.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.add.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.decrement.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.dereference.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.increment.pass.cpp
A libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.index.pass.cpp
R libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.add.pass.cpp
R libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.decrement.pass.cpp
R libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.dereference.pass.cpp
R libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.increment.pass.cpp
R libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.index.pass.cpp
A libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/resize_and_overwrite.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][hardening] Use bounded iterators in std::vector and std::string (#78929)
~~NB: This PR depends on #78876. Ignore the first commit when reviewing,
and don't merge it until #78876 is resolved. When/if #78876 lands, I'll
clean this up.~~
This partially restores parity with the old, since removed debug build.
We now can re-enable a bunch of the disabled tests. Some things of note:
- `bounded_iter`'s converting constructor has never worked. It needs a
friend declaration to access the other `bound_iter` instantiation's
private fields.
- The old debug iterators also checked that callers did not try to
compare iterators from different objects. `bounded_iter` does not
currently do this, so I've left those disabled. However, I think we
probably should add those. See
https://github.com/llvm/llvm-project/issues/78771#issuecomment-1902999181
- The `std::vector` iterators are bounded up to capacity, not size. This
makes for a weaker safety check. This is because the STL promises not to
invalidate iterators when appending up to the capacity. Since we cannot
retroactively update all the iterators on `push_back()`, I've instead
sized it to the capacity. This is not as good, but at least will stop
the iterator from going off the end of the buffer.
There was also no test for this, so I've added one in the `std`
directory.
- `std::string` has two ambiguities to deal with. First, I opted not to
size it against the capacity. https://eel.is/c++draft/string.require#4
says iterators are invalidated on an non-const operation. Second,
whether the iterator can reach the NUL terminator. The previous debug
tests and the special-case in https://eel.is/c++draft/string.access#2
suggest no. If either of these causes widespread problems, I figure we
can revisit.
- `resize_and_overwrite.pass.cpp` assumed `std::string`'s iterator
supported `s.begin().base()`, but I see no promise of this in the
standard. GCC also doesn't support this. I fixed the test to use
`std::to_address`.
- `alignof.compile.pass.cpp`'s pointer isn't enough of a real pointer.
(It needs to satisfy `NullablePointer`, `LegacyRandomAccessIterator`,
and `LegacyContiguousIterator`.) `__bounded_iter` seems to instantiate
enough to notice. I've added a few more bits to satisfy it.
Fixes #78805
Commit: ee07547487a3502f7436968bbfc243b054c14071
https://github.com/llvm/llvm-project/commit/ee07547487a3502f7436968bbfc243b054c14071
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Preprocessor/pragma_mc_func.c
Log Message:
-----------
[NFC] make the case only require frontend
Fixes buildbot failure like: https://lab.llvm.org/buildbot/#/builders/144/builds/2931
caused by https://github.com/llvm/llvm-project/pull/99888
Commit: 786b491ef40629ee6ccd9bf848710a38d734da8b
https://github.com/llvm/llvm-project/commit/786b491ef40629ee6ccd9bf848710a38d734da8b
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DXILResource.cpp
Log Message:
-----------
[Utils] Fix clang-tidy warning: Use boolean false, not 0 (NFC) (#99828)
Commit: b830790547c304aa2a771ce0706b337ea5ec7a02
https://github.com/llvm/llvm-project/commit/b830790547c304aa2a771ce0706b337ea5ec7a02
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Preprocessor/pragma_mc_func.c
Log Message:
-----------
[NFC] changes all run lines
Fix https://github.com/llvm/llvm-project/pull/99888
Commit: b4ef0ba244899a64a1b1e6448eca942cfa5eda18
https://github.com/llvm/llvm-project/commit/b4ef0ba244899a64a1b1e6448eca942cfa5eda18
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/test/Driver/loongarch-features.c
M clang/test/Driver/loongarch-mlasx.c
M clang/test/Driver/loongarch-msimd.c
M clang/test/Driver/loongarch-msingle-float.c
M clang/test/Driver/loongarch-msoft-float.c
M clang/test/Preprocessor/init-loongarch.c
Log Message:
-----------
[LoongArch] Enable 128-bits vector by default (#100056)
This commit is to enable 128 vector feature by default, in order to be
consistent with gcc.
Commit: 5a1b9896ad5a7dcd25a1cc7a4d3fd44155e4b22d
https://github.com/llvm/llvm-project/commit/5a1b9896ad5a7dcd25a1cc7a4d3fd44155e4b22d
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/test/Driver/loongarch-march.c
M clang/test/Preprocessor/init-loongarch.c
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
Log Message:
-----------
[LoongArch] Support -march=la64v1.0 and -march=la64v1.1 (#100057)
The newly added strings `la64v1.0` and `la64v1.1` in `-march` are as
described in LoongArch toolchains conventions (see [1]).
The target-cpu/feature attributes are forwarded to compiler when
specifying particular `-march` parameter. The default cpu `loongarch64`
is returned when archname is `la64v1.0` or `la64v1.1`.
In addition, this commit adds `la64v1.0`/`la64v1.1` to
"__loongarch_arch" and adds definition for macro "__loongarch_frecipe".
[1]: https://github.com/loongson/la-toolchain-conventions
Commit: 211494705b55ca8e1eaaaf74ba93d94a4d450a64
https://github.com/llvm/llvm-project/commit/211494705b55ca8e1eaaaf74ba93d94a4d450a64
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Remove an unneeded getBackendPtr test
All of `MCAsmBackend`, `MCCodeEmitter`, and `MCObjectWriter` must be
non-null.
Commit: f9c349fd4c9cd0e921bed9a5f02b15ff82a2f248
https://github.com/llvm/llvm-project/commit/f9c349fd4c9cd0e921bed9a5f02b15ff82a2f248
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
M llvm/test/MC/RISCV/mapping-across-sections.s
Log Message:
-----------
[RISCV] Create mapping symbols with non-unique names
Similar to #99836 for AArch64.
Non-unique names save .strtab space and match GNU assembler.
Pull Request: https://github.com/llvm/llvm-project/pull/99903
Commit: de2bfe009c6f593dfe5348c3fdb47bf90a5db11f
https://github.com/llvm/llvm-project/commit/de2bfe009c6f593dfe5348c3fdb47bf90a5db11f
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.h
M llvm/test/DebugInfo/Symbolize/ELF/csky-mapping-symbol.s
Log Message:
-----------
[CSKY] Create mapping symbols with non-unique names
Similar to #99836 for AArch64.
Non-unique names save .strtab space and match GNU assembler.
Commit: cd9e42cb0f2fdf1834e2e6ad2befdba0d7cc84b5
https://github.com/llvm/llvm-project/commit/cd9e42cb0f2fdf1834e2e6ad2befdba0d7cc84b5
Author: Thomas Schenker <thomas.schenker at protonmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
Log Message:
-----------
[clang-tidy] fix misc-const-correctness to work with function-try-blocks (#99925)
Make the clang-tidy check misc-const-correctness work with
function-try-blocks.
Fixes #99860.
Commit: ea486290aaa1cd6a45971a79d961ab5b2d26673f
https://github.com/llvm/llvm-project/commit/ea486290aaa1cd6a45971a79d961ab5b2d26673f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/codegen.cpp
Log Message:
-----------
[clang][Interp] Calculate APValue offsets for base classes
Commit: 019136e30fea8b8e6ef9c6dda1f9dd20a504c573
https://github.com/llvm/llvm-project/commit/019136e30fea8b8e6ef9c6dda1f9dd20a504c573
Author: Alexander Pivovarov <pivovaa at amazon.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M mlir/include/mlir-c/BuiltinTypes.h
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Types.h
M mlir/lib/AsmParser/TokenKinds.def
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/Types.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/python/mlir/extras/types.py
M mlir/test/IR/attribute.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/python/ir/builtin_types.py
M mlir/utils/lldb-scripts/mlirDataFormatters.py
M mlir/utils/tree-sitter-mlir/grammar.js
Log Message:
-----------
[MLIR] Add f8E4M3 IEEE 754 type (#97118)
This PR adds `f8E4M3` type to mlir.
`f8E4M3` type follows IEEE 754 convention
```c
f8E4M3 (IEEE 754)
- Exponent bias: 7
- Maximum stored exponent value: 14 (binary 1110)
- Maximum unbiased exponent value: 14 - 7 = 7
- Minimum stored exponent value: 1 (binary 0001)
- Minimum unbiased exponent value: 1 − 7 = −6
- Precision specifies the total number of bits used for the significand (mantisa),
including implicit leading integer bit = 3 + 1 = 4
- Follows IEEE 754 conventions for representation of special values
- Has Positive and Negative zero
- Has Positive and Negative infinity
- Has NaNs
Additional details:
- Max exp (unbiased): 7
- Min exp (unbiased): -6
- Infinities (+/-): S.1111.000
- Zeros (+/-): S.0000.000
- NaNs: S.1111.{001, 010, 011, 100, 101, 110, 111}
- Max normal number: S.1110.111 = +/-2^(7) x (1 + 0.875) = +/-240
- Min normal number: S.0001.000 = +/-2^(-6)
- Max subnormal number: S.0000.111 = +/-2^(-6) x 0.875 = +/-2^(-9) x 7
- Min subnormal number: S.0000.001 = +/-2^(-6) x 0.125 = +/-2^(-9)
```
Related PRs:
- [PR-97179](https://github.com/llvm/llvm-project/pull/97179) [APFloat]
Add support for f8E4M3 IEEE 754 type
Commit: 5da431008222e2653f618f3a112af58a94417251
https://github.com/llvm/llvm-project/commit/5da431008222e2653f618f3a112af58a94417251
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
Log Message:
-----------
[MLIR][LLVM] Always print variadic callee type (#99293)
This commit updates the LLVM dialect CallOp and InvokeOp to always print
the variadic callee type (previously callee type) if present. An
additional verifier checks that only variadic calls have a non-null
variadic callee type, and the builders are adapted accordingly to set
the variadic callee type for variadic calls only. Finally, the CallOp
and InvokeOp verifiers are strengthened to check that the variadic
callee type matches the call argument and result types.
The motivation of this change is that CallOp and InvokeOp don't have
hidden state that is not pretty printed, but used during the export to
LLVM IR. Previously, it could happen that a call looked correct in MLIR,
but the return type changed after exporting to LLVM IR (since it has
been taken from the hidden callee type attribute). After landing this
change, this is not possible anymore since the variadic callee type is
always printed if present.
Commit: f017d89b22f74a67d28c7bef23b71afaf0bd50b2
https://github.com/llvm/llvm-project/commit/f017d89b22f74a67d28c7bef23b71afaf0bd50b2
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
MCAssembler: Move SubsectionsViaSymbols; to MCObjectWriter
Commit: b2f5ac678f36c675c0c59eb34e352576f43305bd
https://github.com/llvm/llvm-project/commit/b2f5ac678f36c675c0c59eb34e352576f43305bd
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
MCAssembler: Remove unused functions
Commit: 566363981bb9ff6a6081490f05aa6b19aefc16f0
https://github.com/llvm/llvm-project/commit/566363981bb9ff6a6081490f05aa6b19aefc16f0
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/builtin-functions.cpp
M clang/test/Analysis/diagnostics/explicit-suppression.cpp
A clang/test/Analysis/issue-94193.cpp
M clang/test/Analysis/use-after-move.cpp
Log Message:
-----------
[analyzer] Model builtin-like functions as builtin functions (#99886)
Some template function instantiations don't have a body, even though
their templates did have a body.
Examples are: `std::move`, `std::forward`, `std::addressof` etc.
They had bodies before
https://github.com/llvm/llvm-project/commit/72315d02c432a0fe0acae9c96c69eac8d8e1a9f6
After that change, the sentiment was that these special functions should
be considered and treated as builtin functions.
Fixes #94193
CPP-5358
Commit: 0a6233a68c7b575d05bca0f0c708b7e97cc710d1
https://github.com/llvm/llvm-project/commit/0a6233a68c7b575d05bca0f0c708b7e97cc710d1
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Fix import of anonymous enums if multiple are present (#99281)
After changes in PR #87144 and #93923 regressions appeared in some
cases. The problem was that if multiple anonymous enums are present in a
class and are imported as new the import of the second enum can fail
because it is detected as different from the first and causes ODR error.
Now in case of enums without name an existing similar enum is searched,
if not found the enum is imported. ODR error is not detected. This may
be incorrect if non-matching structures are imported, but this is the
less important case (import of matching classes is more important to
work).
Commit: f0fad9f3e00dbe8e58024d1c98e36b7b9b1b17a9
https://github.com/llvm/llvm-project/commit/f0fad9f3e00dbe8e58024d1c98e36b7b9b1b17a9
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
Log Message:
-----------
Revert "[clang-tidy] fix misc-const-correctness to work with function-try-blocks" (#100069)
Reverts llvm/llvm-project#99925
Commit: 404ca229fb9e0c3ed204363f5f2784d1424b5ec9
https://github.com/llvm/llvm-project/commit/404ca229fb9e0c3ed204363f5f2784d1424b5ec9
Author: Amy Huang <akhuang at google.com>
Date: 2024-07-22 (Mon, 22 Jul 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
M compiler-rt/test/hwasan/TestCases/Posix/ignore_free_hook.cpp
Log Message:
-----------
Replace |& with 2>&1 in ignore_free_hooks test. (#100004)
The test file ignore_free_hooks.cpp (added in
https://github.com/llvm/llvm-project/pull/96749/files) fails on mac
because `|&` doesn't work on mac. Replace with `2>&1`.
Commit: 70e7d26e560173c8b9db4c75ab4a3004cd5f021a
https://github.com/llvm/llvm-project/commit/70e7d26e560173c8b9db4c75ab4a3004cd5f021a
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/rv32zacas-invalid.s
M llvm/test/MC/RISCV/rv32zacas-valid.s
M llvm/test/MC/RISCV/rv64zacas-invalid.s
M llvm/test/MC/RISCV/rv64zacas-valid.s
M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark zacas as experimental again due to unresolved ABI issue (#99898)
As discussed at the last sync-up call, mark Zacas as experimental until
this ABI issue is resolved
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/444>.
Don't return Zacas in getHostCPUFeatures (leaving a TODO there) as even if requesting detection of "native" features, the user likely doesn't want to automatically opt in to experimental codegen.
Commit: fcec298087dba0c83f6d0bbafd6cd934c42cbf82
https://github.com/llvm/llvm-project/commit/fcec298087dba0c83f6d0bbafd6cd934c42cbf82
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Driver/loongarch-march.c
M clang/test/Driver/loongarch-mtune.c
M clang/test/Preprocessor/init-loongarch.c
M llvm/include/llvm/TargetParser/LoongArchTargetParser.def
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/LoongArch/cpus.ll
Log Message:
-----------
[LoongArch] Support la664 (#100068)
A new ProcessorModel called `la664` is defined in LoongArch.td to
support `-march/-mtune=la664`.
Commit: 2db576c8ef4184933aa8fed20dcf0240a89ffc49
https://github.com/llvm/llvm-project/commit/2db576c8ef4184933aa8fed20dcf0240a89ffc49
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
Log Message:
-----------
ELFObjectWriter: Remove unneeded subclasses
Commit: 89d1eb67342d75d1de8d210157fdeaeb6a4724b6
https://github.com/llvm/llvm-project/commit/89d1eb67342d75d1de8d210157fdeaeb6a4724b6
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
Log Message:
-----------
[LoongArch] Remove experimental `auto-vec` feature. (#100070)
Currently, automatic vectorization will be enabled with `-mlsx/-mlasx`
enabled.
Commit: 8a615bcf2f8c8140c6eadae964c8ea7fb4cfee33
https://github.com/llvm/llvm-project/commit/8a615bcf2f8c8140c6eadae964c8ea7fb4cfee33
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
[LoongArch] Summary the release notes for LLVM 19
Commit: d59925c39856f255f4dd4427ccc650f2c2692a24
https://github.com/llvm/llvm-project/commit/d59925c39856f255f4dd4427ccc650f2c2692a24
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Preprocessor/init-loongarch.c
Log Message:
-----------
[LoongArch] Fix test issue of init-loongarch.c
Commit: 2de1333af9a76fbdc46e117bebb3513e8991cd1f
https://github.com/llvm/llvm-project/commit/2de1333af9a76fbdc46e117bebb3513e8991cd1f
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
Log Message:
-----------
[clang][test][RISCV] Add missing test change from #99898
Commit: 26c99c421794902b0d929fd9eff81314da55675c
https://github.com/llvm/llvm-project/commit/26c99c421794902b0d929fd9eff81314da55675c
Author: Thomas Schenker <thomas.schenker at protonmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
Log Message:
-----------
[clang-tidy] fix misc-const-correctness to work with function-try-blocks (#99925)
Make the clang-tidy check misc-const-correctness work with
function-try-blocks.
Fixes #99860.
Commit: 2dd82c5ac56623d38de977ef027b252b4908e4c5
https://github.com/llvm/llvm-project/commit/2dd82c5ac56623d38de977ef027b252b4908e4c5
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
Log Message:
-----------
[clang-tidy][NFC] Added -fexceptions to const-correctness-values.cp
Related to #99925.
Commit: 6db5f4fd2a287de9d20adc7a44cfcc66fc462c9c
https://github.com/llvm/llvm-project/commit/6db5f4fd2a287de9d20adc7a44cfcc66fc462c9c
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGRecordLayout.h
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang] Ignore empty FieldDecls when asking for the field number (#100040)
A FieldDecl that's an empty struct may not show up in CGRecordLayout. Go
ahead and ignore such a field as it shouldn't make a difference to these
calculations.
Fixes: 1f6f97e2b64a ("[Clang] Loop over FieldDecls instead of all Decls (#99574)")
Co-authored-by: Eli Friedman <efriedma at quicinc.com>
Commit: 939a6624ac95e68a4dca4ba3ef8a9dfe26182522
https://github.com/llvm/llvm-project/commit/939a6624ac95e68a4dca4ba3ef8a9dfe26182522
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/required-export-priority.ll
A llvm/test/CodeGen/AMDGPU/required-export-priority.mir
Log Message:
-----------
[AMDGPU] Implement workaround for GFX11.5 export priority (#99273)
On GFX11.5 shaders having completed exports need to execute/wait at a
lower priority than shaders still executing exports.
Add code to maintain normal priority of 2 for shaders that export and
drop to priority 0 after exports.
Commit: eeb7feb5e6f75934dad36b0fb7d861d0de0775d3
https://github.com/llvm/llvm-project/commit/eeb7feb5e6f75934dad36b0fb7d861d0de0775d3
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SMInstructions.td
Log Message:
-----------
[AMDGPU] Define constrained multi-dword scalar load instructions. (#96161)
Commit: 96d412135395a251f2931b8fca4dd8150aeed9ba
https://github.com/llvm/llvm-project/commit/96d412135395a251f2931b8fca4dd8150aeed9ba
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/tools/llvm-cgdata/CMakeLists.txt
Log Message:
-----------
[llvm-cgdata] Remove `GENERATE_DRIVER` option (#100066)
This tool shouldn't be used in the driver build until it is converted to
use `OptTable` for option parsing, otherwise the `cl::opt` options might
conflict with options in other tools resulting in link failures.
Commit: 2d2d6853cf3ee28f1788f9ff38c2892c76722c82
https://github.com/llvm/llvm-project/commit/2d2d6853cf3ee28f1788f9ff38c2892c76722c82
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
Log Message:
-----------
[GlobalIsel][AArch64] Legalize G_SCMP and G_UCMP (#99820)
https://github.com/llvm/llvm-project/pull/91871
https://github.com/llvm/llvm-project/pull/98774
Commit: 0998e3c4e66ded6e42b8ce162748df05b5ddb627
https://github.com/llvm/llvm-project/commit/0998e3c4e66ded6e42b8ce162748df05b5ddb627
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTConcept.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
Log Message:
-----------
[clang] Add method 'backupStr' to ASTContext (#99417)
Method 'backupStr' extracts common code of dynamically allocating memory
with ASTContext to hold a copy of a string's contents.
Commit: a1d7da05d0e8db4690d605e0c767f30e7891ceb2
https://github.com/llvm/llvm-project/commit/a1d7da05d0e8db4690d605e0c767f30e7891ceb2
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/cluster_stores.ll
M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
M llvm/test/CodeGen/AMDGPU/ctlz.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-atomics.ll
M llvm/test/CodeGen/AMDGPU/fp64-min-max-buffer-ptr-atomics.ll
M llvm/test/CodeGen/AMDGPU/fshl.ll
M llvm/test/CodeGen/AMDGPU/fshr.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/merge-s-load.mir
M llvm/test/CodeGen/AMDGPU/move-to-valu-ctlz-cttz.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/CodeGen/AMDGPU/rotl.ll
M llvm/test/CodeGen/AMDGPU/rotr.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
[AMDGPU][SILoadStoreOptimizer] Merge constrained sloads (#96162)
Consider the constrained multi-dword loads while merging
individual loads to a single multi-dword load.
Commit: 7d0a5848f2c72854d7d5a795fcc265b8ba787782
https://github.com/llvm/llvm-project/commit/7d0a5848f2c72854d7d5a795fcc265b8ba787782
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/tools/llvm-cgdata/CMakeLists.txt
Log Message:
-----------
Revert "[llvm-cgdata] Remove `GENERATE_DRIVER` option" (#100078)
Reverts llvm/llvm-project#100066
Commit: 229e11855983ead8c8e3d5421238dbd4acdf2d29
https://github.com/llvm/llvm-project/commit/229e11855983ead8c8e3d5421238dbd4acdf2d29
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fract.f64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.mov.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/smrd.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
M llvm/test/CodeGen/AMDGPU/add.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/amd.endpgm.ll
M llvm/test/CodeGen/AMDGPU/amdgcn-load-offset-from-reg.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/and.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/combine-vload-extract.ll
M llvm/test/CodeGen/AMDGPU/copy_to_scc.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dag-divergence-atomic.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/ds_write2.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/global-i16-load-store.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.bf16.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/lshl-add-u64.ll
M llvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_uint24-amdgcn.ll
M llvm/test/CodeGen/AMDGPU/optimize-compare.ll
M llvm/test/CodeGen/AMDGPU/packed-op-sel.ll
M llvm/test/CodeGen/AMDGPU/post-ra-soft-clause-dbg-info.ll
M llvm/test/CodeGen/AMDGPU/promote-vect3-load.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/shl.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/smrd.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/twoaddr-constrain.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/v_add_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
M llvm/test/CodeGen/AMDGPU/v_sub_u64_pseudo_sdwa.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/zero_extend.ll
Log Message:
-----------
[AMDGPU] Codegen support for constrained multi-dword sloads (#96163)
For targets that support xnack replay feature (gfx8+), the
multi-dword scalar loads shouldn't clobber any register that
holds the src address. The constrained version of the scalar
loads have the early clobber flag attached to the dst operand
to restrict RA from re-allocating any of the src regs for its
dst operand.
Commit: 430b2545032db9de7898444502915f89e20f7c4c
https://github.com/llvm/llvm-project/commit/430b2545032db9de7898444502915f89e20f7c4c
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclCXX.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
Log Message:
-----------
[Clang] Do not attempt to access the `DefinitionData` of an incomplete type (#99998)
We were asserting here because we were trying to access the
`DefinitionData` of an incomplete type in the `Visit` lambda in
`CXXRecordDecl::hasSubobjectAtOffsetZeroOfEmptyBaseType`.
The code that creates `FieldDecl`s always marks them as invalid
if their type is incomplete, so checking whether the field decl
whose type we’re about to look at is invalid fixes this issue.
Fixes #99868.
Commit: 528a662d3a1e28c3bd4fe2d54bc73506b68ddc4e
https://github.com/llvm/llvm-project/commit/528a662d3a1e28c3bd4fe2d54bc73506b68ddc4e
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M mlir/lib/IR/AffineExpr.cpp
M mlir/unittests/IR/AffineExprTest.cpp
Log Message:
-----------
Fix sign of largest known divisor of div. (#100081)
There's a missing abs, so it returns a negative value if the divisor is
negative. Later this is then cast to uint.
Commit: f2ccf80136a01ca69f766becafb329db6c54c0c8
https://github.com/llvm/llvm-project/commit/f2ccf80136a01ca69f766becafb329db6c54c0c8
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/PowerPC/common-chain.ll
M llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll
A llvm/test/Transforms/LICM/hoist-binop.ll
M llvm/test/Transforms/LICM/sink-foldable.ll
M llvm/test/Transforms/LICM/update-scev-after-hoist.ll
Log Message:
-----------
[LICM] Fold associative binary ops to promote code hoisting (#81608)
Perform the transformation
"(LV op C1) op C2" ==> "LV op (C1 op C2)"
where op is an associative binary op, LV is a loop variant, and C1 and
C2 are loop invariants to hoist.
Similar patterns could be folded (left in comment) but this one seems to
be the most impactful.
Commit: 8f701b5df0adb3a2960d78ca2ad9cf53f39ba2fe
https://github.com/llvm/llvm-project/commit/8f701b5df0adb3a2960d78ca2ad9cf53f39ba2fe
Author: Tobias Hieta <tobias at hieta.se>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M cmake/Modules/LLVMVersion.cmake
M libcxx/include/__config
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
Log Message:
-----------
Set version to 20.0.0git
LLVM 19 release is starting.
Commit: 10c6d6349e51bb245b9deec4aafca9885971135b
https://github.com/llvm/llvm-project/commit/10c6d6349e51bb245b9deec4aafca9885971135b
Author: Tobias Hieta <tobias at hieta.se>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/docs/ReleaseNotes.rst
M libcxx/docs/ReleaseNotes.rst
M lld/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.rst
M openmp/docs/ReleaseNotes.rst
M pstl/docs/ReleaseNotes.rst
Log Message:
-----------
Clear release notes for upcoming LLVM 20 dev cycle
Commit: b5fb7b209085acdb33748ab4fe33cbfbdbfeeddf
https://github.com/llvm/llvm-project/commit/b5fb7b209085acdb33748ab4fe33cbfbdbfeeddf
Author: goussepi <pierre.gousseau at sony.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/test/Driver/ps4-ps5-runtime-flags.c
Log Message:
-----------
[PS5] Adopt new compiler-rt naming scheme for the profile library. (#99862)
Changes the driver to look for libclang_rt.profile_nosubmission.a
instead of libclang_rt.profile-x86_64_nosubmission.a
Commit: 5f05d5ec8f9bb15c0ac29fce843a2c73165ac414
https://github.com/llvm/llvm-project/commit/5f05d5ec8f9bb15c0ac29fce843a2c73165ac414
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/test/CodeGen/builtins.c
Log Message:
-----------
Revert "[Clang][Interp] `__builtin_os_log_format_buffer_size` should be an unevaluated builtin (#99895)"
This reverts commit 4572efea90f2ddf51c618790a119ad9b6fc2c7ed.
Reason: Introduced a memory leak that broke the sanitizer buildbots.
More information available in the original pull request
(https://github.com/llvm/llvm-project/pull/99895).
Commit: dd23b347890512ee82741648e941df24e1d666ee
https://github.com/llvm/llvm-project/commit/dd23b347890512ee82741648e941df24e1d666ee
Author: Clement Courbet <courbet at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
Log Message:
-----------
[clang-tidy][performance-unnecessary-value-param] Make `handleMoveFix` virtual (#99867)
... so that downstream checks can override behaviour to do additional
processing.
Refactor the rest of the logic to `handleConstRefFix` (which is also
`virtual`).
This is otherwise and NFC.
This is similar to https://github.com/llvm/llvm-project/pull/73921 but
for `performance-unnecessary-value-param`.
Commit: f18dd9edec9c2135a8906d795258a8c5a24f74f3
https://github.com/llvm/llvm-project/commit/f18dd9edec9c2135a8906d795258a8c5a24f74f3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
Log Message:
-----------
Reapply "[Clang][Interp] `__builtin_os_log_format_buffer_size` should be an unevaluated builtin (#99895)"
This reverts commit 5f05d5ec8f9bb15c0ac29fce843a2c73165ac414.
Reapply the original commit without the test. The memory leak is caused
by a well known problem in the new constant interpreter.
Commit: b48819dbcdb48fc737dc22304ac343e4fdbae9ff
https://github.com/llvm/llvm-project/commit/b48819dbcdb48fc737dc22304ac343e4fdbae9ff
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/PowerPC/common-chain.ll
M llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll
R llvm/test/Transforms/LICM/hoist-binop.ll
M llvm/test/Transforms/LICM/sink-foldable.ll
M llvm/test/Transforms/LICM/update-scev-after-hoist.ll
Log Message:
-----------
Revert " [LICM] Fold associative binary ops to promote code hoisting (#81608)"
This reverts commit f2ccf80136a01ca69f766becafb329db6c54c0c8.
The flag propagation code is incorrect.
Commit: c1b70fa5bfea973d4141e27cf9668e9325609e19
https://github.com/llvm/llvm-project/commit/c1b70fa5bfea973d4141e27cf9668e9325609e19
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
Log Message:
-----------
Precommit vscale-fixups.ll test (NFC)
Precommit test for #100080.
Commit: 363e036ac002d5af4bb82e303052b806a98086a1
https://github.com/llvm/llvm-project/commit/363e036ac002d5af4bb82e303052b806a98086a1
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ExprCXX.cpp
Log Message:
-----------
[AST] NFC: add an assertion for invariant of CXXFoldExpr
CXXFoldExpr relies on exactly one of the two operands to have unexpanded
parameter packs. If this invariant does not holds, results of
`getPattern()`, `isLeftFold()` and other related members are incorrect.
Asserting this on construction makes debugging the problems easier as
the failure is happening closer to the code that contains the error.
Also move the constructor to the `.cpp` file to avoid potential ODR
violations from having an `assert` in the header in combination with
precompiled libraries.
Commit: d89f3e8df3160b3afc07bc742c81aa4738ea9646
https://github.com/llvm/llvm-project/commit/d89f3e8df3160b3afc07bc742c81aa4738ea9646
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Remove dead HeaderVPBB argument from addUsersInExitBlock (NFC).
Commit: fde27bd221c3ba011918a50bc2a47130959d33b7
https://github.com/llvm/llvm-project/commit/fde27bd221c3ba011918a50bc2a47130959d33b7
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir] Added new attributes to the llvm.call op in llvmir target (#99663)
The new attributes are:
* convergent
* no_unwind
* will_return
* memory effects
Commit: 5bd38a98d7585841c1688f6b9eee8ce150dc429c
https://github.com/llvm/llvm-project/commit/5bd38a98d7585841c1688f6b9eee8ce150dc429c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/neon-abd.ll
M llvm/test/CodeGen/ARM/neon_vabd.ll
M llvm/test/CodeGen/X86/abdu.ll
Log Message:
-----------
[DAG] ComputeNumSignBits - subo_carry(x,x,c) -> bitwidth 'allsignbits' (#99935)
Handle cases where the subo_carry is subtracting the same operand (=zero) - so only the subtraction of the 0/1 carry bit is affecting the result, giving a 0/-1 allsignbits value.
Noticed while improving ABDS/ABDU expansion.
Commit: a0971f027caab9714271bcb2457aa7d419a90a45
https://github.com/llvm/llvm-project/commit/a0971f027caab9714271bcb2457aa7d419a90a45
Author: Tobias Hieta <tobias at hieta.se>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M .github/workflows/version-check.yml
Log Message:
-----------
[Infra] Fix version-check workflow (#100090)
Commit: 20d7fff5eaaa9d78807035d63e5c503bfc1b497e
https://github.com/llvm/llvm-project/commit/20d7fff5eaaa9d78807035d63e5c503bfc1b497e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/atomic.c
Log Message:
-----------
[clang][Interp] Fix atomic builtins with integral pointers
Check the integral pointer value.
Commit: d5a614d44d4ef1f7354b89d3c163dde4497a2053
https://github.com/llvm/llvm-project/commit/d5a614d44d4ef1f7354b89d3c163dde4497a2053
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
Log Message:
-----------
[CodeGen][NFC] Fix documentation comments (#100092)
Commit: b60fec27fd1bbab8c2c7a77b4be7836a1beb326f
https://github.com/llvm/llvm-project/commit/b60fec27fd1bbab8c2c7a77b4be7836a1beb326f
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/stream.c
Log Message:
-----------
[analyzer] Assume the result of 'fopen' can't alias with 'std{in,out,err}' (#100085)
'fopen' should return a new FILE handle, thus we should assume it can't
alias with commonly used FILE handles, such as with 'stdin', 'stdout' or
'stderr'.
This problem appears in code that handles either some input/output file
with stdin or stdout, as the business logic is basically the same no
matter the stream being used.
However, one would should only close the stream if it was opened via
'fopen'. Consequently, such code usually has a condition like `if (f &&
f != stdout)` to guard the `fclose()` call.
This patch brings this assumption, thus eliminates FPs for not taking
the guarded branch.
CPP-5306
Commit: 4d5f81cad55b0b499953ed88608efc05e577ac2e
https://github.com/llvm/llvm-project/commit/4d5f81cad55b0b499953ed88608efc05e577ac2e
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/test/APINotes/Inputs/Headers/Methods.apinotes
M clang/test/APINotes/Inputs/Headers/Methods.h
M clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
M clang/test/APINotes/Inputs/Headers/Namespaces.h
M clang/test/APINotes/methods.cpp
M clang/test/APINotes/namespaces.cpp
Log Message:
-----------
[APINotes] Support nested tags
This allows annotating C/C++ structs declared within other structs using
API Notes.
rdar://132083354
Commit: ef7d46c7e6b33b6294f23b6df290b335a761fbd5
https://github.com/llvm/llvm-project/commit/ef7d46c7e6b33b6294f23b6df290b335a761fbd5
Author: Braden Helmer <bradenhelmeraus at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseStmt.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p2-20.cpp
M clang/test/Parser/cxx-template-decl.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
A clang/test/SemaCXX/invalid-template-declaration.cpp
M clang/test/SemaTemplate/class-template-decl.cpp
M clang/test/SemaTemplate/nested-template.cpp
Log Message:
-----------
Template Diagnostic Improvements (#99933)
It turns out `SemaTemplate` handles this type of diagnostic already,
however when template gets encountered, it never gets parsed as a
possible statement or declaration, only as an expression.
Fixes #17959.
Commit: 73d78973fe072438f0f73088f889c66845b2b51a
https://github.com/llvm/llvm-project/commit/73d78973fe072438f0f73088f889c66845b2b51a
Author: Gulfem Savrun Yeniceri <gulfem at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
R llvm/include/llvm/CodeGenData/CodeGenData.h
R llvm/include/llvm/CodeGenData/CodeGenData.inc
R llvm/include/llvm/CodeGenData/CodeGenDataReader.h
R llvm/include/llvm/CodeGenData/CodeGenDataWriter.h
M llvm/lib/CodeGenData/CMakeLists.txt
R llvm/lib/CodeGenData/CodeGenData.cpp
R llvm/lib/CodeGenData/CodeGenDataReader.cpp
R llvm/lib/CodeGenData/CodeGenDataWriter.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
R llvm/test/tools/llvm-cgdata/dump.test
R llvm/test/tools/llvm-cgdata/empty.test
R llvm/test/tools/llvm-cgdata/error.test
R llvm/test/tools/llvm-cgdata/merge-archive.test
R llvm/test/tools/llvm-cgdata/merge-concat.test
R llvm/test/tools/llvm-cgdata/merge-double.test
R llvm/test/tools/llvm-cgdata/merge-single.test
R llvm/test/tools/llvm-cgdata/show.test
R llvm/tools/llvm-cgdata/CMakeLists.txt
R llvm/tools/llvm-cgdata/llvm-cgdata.cpp
Log Message:
-----------
Revert "[CGData] llvm-cgdata (#89884)"
This reverts commit d3fb41dddc11b0ebc338a3b9e6a5ab7288ff7d1d
and forward fix patches because of the issue explained in:
https://github.com/llvm/llvm-project/pull/89884#issuecomment-2244348117.
Revert "Fix tests for https://github.com/llvm/llvm-project/pull/89884
(#100061)"
This reverts commit 67937a3f969aaf97a745a45281a0d22273bff713.
Revert "Fix build break for https://github.com/llvm/llvm-project/pull/89884 (#100050)"
This reverts commit c33878c5787c128234d533ad19d672dc3eea19a8.
Revert "[CGData] Fix -Wpessimizing-move in CodeGenDataReader.cpp (NFC)"
This reverts commit 1f8b2b146141f3563085a1acb77deb50857a636d.
Commit: 8ebe499e07760b0d18b5721b298efc9e4a241916
https://github.com/llvm/llvm-project/commit/8ebe499e07760b0d18b5721b298efc9e4a241916
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
Log Message:
-----------
[LLVM] Fix typo "depedent"
Commit: eb9bf188918bf5c88151d7735d925a3912a5b596
https://github.com/llvm/llvm-project/commit/eb9bf188918bf5c88151d7735d925a3912a5b596
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/copyprivate04.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
Log Message:
-----------
[flang][OpenMP] Fix copyprivate semantic checks (#95799)
There are some cases in which variables used in OpenMP constructs
are predetermined as private. The semantic checks for copyprivate
were not handling those cases.
Besides that, shared symbols were not being properly represented
in some cases. When there was no previously declared private
(implicit) symbol, no new association symbols, representing
shared ones, were being created.
These symbols must always be inserted in constructs that may
privatize the original symbol: parallel, teams and task
generating constructs.
Fixes #87214 and #86907
Commit: 16f22c0fe6fa9e11ce989d2a7998a8e48e7150c1
https://github.com/llvm/llvm-project/commit/16f22c0fe6fa9e11ce989d2a7998a8e48e7150c1
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fma.ll
Log Message:
-----------
Fold `fma x, -1.0, y` into `fsub x, y` (#100106)
Alive2 proof (Please run alive-tv locally with larger `smt-to`):
https://alive2.llvm.org/ce/z/YvUVg-
Commit: 2eea9d6a2d1c56df5cbe57972029cd1d8263162a
https://github.com/llvm/llvm-project/commit/2eea9d6a2d1c56df5cbe57972029cd1d8263162a
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
M mlir/test/Dialect/LLVMIR/inlining.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir] Rename memory attribute to memory_effects in llvmir dialect (#100108)
This commit renames the memory attribute on operations to "memory_effects" to be in line with the naming LLVM IR is using.
Commit: c74730070a0261d582e01ee7e5eef2e7c39fb11f
https://github.com/llvm/llvm-project/commit/c74730070a0261d582e01ee7e5eef2e7c39fb11f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/OpenMP/generic_loop_ast_print.cpp
M clang/test/OpenMP/generic_loop_codegen.cpp
M clang/test/PCH/pragma-loop.cpp
Log Message:
-----------
[clang][OpenMP] Move "loop" directive mapping from sema to codegen (#99905)
Given "loop" construct, clang will try to treat it as "for",
"distribute" or "simd", depending on either the implied binding, or the
bind clause if present. This patch moves the code that performs this
construct remapping from sema to codegen.
For a "loop" construct without a bind clause, this patch will create an
implicit bind clause based on implied binding to simplify further
analysis.
During codegen the function `EmitOMPGenericLoopDirective` (i.e. "loop")
will invoke the "emit" functions for "for", "distribute" or "simd",
depending on the bind clause.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: a213edd32abff8d154dad96824689b98ec7b5a35
https://github.com/llvm/llvm-project/commit/a213edd32abff8d154dad96824689b98ec7b5a35
Author: DianQK <dianqk at dianqk.net>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
Log Message:
-----------
[FunctionAttrs] Determine underlying object by `getUnderlyingObjectAggressive` (#100102)
Thanks to #99509, we can fix
https://github.com/rust-lang/rust/issues/119573 too.
Commit: 1ee686a55aa6365eff39bbd1dc2059b16be6c2f1
https://github.com/llvm/llvm-project/commit/1ee686a55aa6365eff39bbd1dc2059b16be6c2f1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
Log Message:
-----------
Revert "[FunctionAttrs] Determine underlying object by `getUnderlyingObjectAggressive` (#100102)"
This reverts commit a213edd32abff8d154dad96824689b98ec7b5a35.
Assertion failures on buildbots.
Commit: cc7308a1563e5ebab4dffeb85deefdde61e6711a
https://github.com/llvm/llvm-project/commit/cc7308a1563e5ebab4dffeb85deefdde61e6711a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
[ctx_prof] Make the profile output analyzable by llvm-bcanalyzer (#99563)
This requires output-ing a "Magic" 4-byte header. We also emit a block info block, to describe our blocks and records. The output of `llvm-bcanalyzer` would look like:
```
<BLOCKINFO_BLOCK/>
<Metadata NumWords=17 BlockCodeSize=2>
<Version op0=1/>
<Context NumWords=13 BlockCodeSize=2>
<GUID op0=2/>
<Counters op0=1 op1=2 op2=3/>
```
Instead of having `Unknown` for block and record IDs.
Commit: ec56790c3b27df4fa1513594ca9a74fd8ad5bf7f
https://github.com/llvm/llvm-project/commit/ec56790c3b27df4fa1513594ca9a74fd8ad5bf7f
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/include/format
Log Message:
-----------
[libcxx] don't `#include <cwchar>` if wide chars aren't enabled (#99911)
Pull request #96032 unconditionall adds the `cwchar` include in the
`format` umbrella header. However support for wchar_t can be disabled in
the build system (LIBCXX_ENABLE_WIDE_CHARACTERS).
This patch guards against inclusion of `cwchar` in `format` by checking
the `_LIBCPP_HAS_NO_WIDE_CHARACTERS` define.
For clarity I've also merged the include header section that `cwchar`
was in with the one above as they were both guarded by the same `#if`
logic.
Commit: b97bc567160fb9d0b240884121dcbe700ad68d67
https://github.com/llvm/llvm-project/commit/b97bc567160fb9d0b240884121dcbe700ad68d67
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/nontemporal.ll
Log Message:
-----------
[X86] Add MMX nontemporal store DAG test
As noticed on #98505 - we had fast-isel test but not SDAG
Commit: 25952ec64791e781f9bdd7bf29ab78f0095b8ee7
https://github.com/llvm/llvm-project/commit/25952ec64791e781f9bdd7bf29ab78f0095b8ee7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrMMX.td
M llvm/test/CodeGen/X86/nontemporal.ll
Log Message:
-----------
[X86] Add MMX nontemporal store pattern
As noticed on #98505 - try to reduce codegen diffs until we're ready to drop MMX entirely
Commit: 1ebfc81a91194c000ac70b4ea53891cc956aa6eb
https://github.com/llvm/llvm-project/commit/1ebfc81a91194c000ac70b4ea53891cc956aa6eb
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/insn_c.s
Log Message:
-----------
[RISCV] Fix InsnCI register type (#100113)
According to the spec the CI type instructions can take any of the 32
RVI registers.
Fixes #100112
Commit: 1df4d866cca51eeab8f012a97cc50957b45971fe
https://github.com/llvm/llvm-project/commit/1df4d866cca51eeab8f012a97cc50957b45971fe
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Preprocessor/init-ppc64.c
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/PowerPC/check-cpu.ll
M llvm/test/CodeGen/PowerPC/mma-acc-spill.ll
R llvm/test/CodeGen/PowerPC/p10-constants.ll
A llvm/test/CodeGen/PowerPC/p10-p11-constants.ll
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[PowerPC] Add support for -mcpu=pwr11 / -mtune=pwr11 (#99511)
This PR adds support for -mcpu=pwr11/power11 and -mtune=pwr11/power11 in
clang and llvm.
Commit: 63b382bbde5994e8f2cec75883320e3ad9fd618f
https://github.com/llvm/llvm-project/commit/63b382bbde5994e8f2cec75883320e3ad9fd618f
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/CodeGen/aix-builtin-cpu-is.c
M clang/test/CodeGen/builtin-cpu-supports.c
M llvm/include/llvm/TargetParser/PPCTargetParser.def
Log Message:
-----------
[PowerPC] Add builtin_cpu_is P11 support (#99550)
This PR adds support for __builtin_cpu_is ("power11")
Commit: 37123e9915407d266074aaf81c5de9399b672e53
https://github.com/llvm/llvm-project/commit/37123e9915407d266074aaf81c5de9399b672e53
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/unittests/ProfileData/CMakeLists.txt
Log Message:
-----------
Fix link error after cc7308a156 with shared libraries
/usr/bin/ld: CMakeFiles/ProfileDataTests.dir/PGOCtxProfReaderWriterTest.cpp.o: undefined reference to symbol '_ZN4llvm15BitcodeAnalyzer7analyzeESt8optionalINS_13BCDumpOptionsEES1_INS_9StringRefEE'
/usr/bin/ld: /work/kparzysz/git/llvm.org/b/x86/lib/libLLVMBitReader.so.20.0git: error adding symbols: DSO missing from command line
Commit: 5589f2977117ec4685018472ca5f01355424bab9
https://github.com/llvm/llvm-project/commit/5589f2977117ec4685018472ca5f01355424bab9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp] Merge FunctionPointer into Pointer
Back when I introduced the FunctionPointer class, I assumed that we
can always know that a Pointer is not a FunctionPointer. With the
DecayPtr op, that changed somewhat, but the information whether a
Pointer was created through a FunctionPointer was lost.
However, we need this information, especially when we're in the
codegen stage.
Commit: cd2214b360ff7b1dfe2d43a60cc7fbe5826f741c
https://github.com/llvm/llvm-project/commit/cd2214b360ff7b1dfe2d43a60cc7fbe5826f741c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
Log Message:
-----------
[Frontend][OpenMP] Add deduction guide for `ConstructCompositionT`
Commit: f1b76c53b6312a10d2ee4219e980498e7cbe5d53
https://github.com/llvm/llvm-project/commit/f1b76c53b6312a10d2ee4219e980498e7cbe5d53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
X86] combineConcatVectorOps - IsConcatFree - peek through bitcasts to find inplace subvectors.
The EXTRACT_SUBVECTOR nodes don't have to be the same type, they just need to be at the correct bit offsets when concatenated back together.
This reapplies d43ec97de081755990264049eba09cb7c83cb321 (after being reverted 68cb903594cd03dd708ef70c85c10807a6deefb5) now that 65e86a8f3fb44dc09dc2e08526d69e3a57f63995 has landed to address a downstream issue.
Commit: 6476a1d6865fc3a4c0fa3e436174a9a99a6ffedb
https://github.com/llvm/llvm-project/commit/6476a1d6865fc3a4c0fa3e436174a9a99a6ffedb
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGenData/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
R llvm/utils/gn/secondary/llvm/tools/llvm-cgdata/BUILD.gn
Log Message:
-----------
Revert "[gn build] Port d3fb41dddc11 (llvm-cgdata)"
This reverts commit adea9f9362085310d95a193f881978f51a79a3ba.
d3fb41dddc11 was reverted in 73d78973fe07.
Commit: f8cdffab60268ac6517177eab9a0c4cd17b3b20b
https://github.com/llvm/llvm-project/commit/f8cdffab60268ac6517177eab9a0c4cd17b3b20b
Author: Max Beck-Jones <max.beck-jones at arm.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
Log Message:
-----------
[AArch64] Lower scalable i1 vector add reduction to cntp (#100118)
Doing an add reduction on a vector of i1 elements is the same as
counting the number of set elements so such a reduction can be lowered
to a cntp instruction. This saves a number of instructions over
performing a UADDV. This patch only handles straightforward cases (i.e.
when vectors are not split).
Commit: b4ebf2d2872e28883ac654dec5414cb3a565fa17
https://github.com/llvm/llvm-project/commit/b4ebf2d2872e28883ac654dec5414cb3a565fa17
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
Log Message:
-----------
[WebAssembly] Disable running `wasm-opt` on components (#98373)
This commit adds a check that disables `wasm-opt` for the
`wasm32-wasip2` target because `wasm-opt` doesn't support components at
this time. This also fixes a minor issue from #95208 where if `wasm-opt`
was disabled then the linker wouldn't run at all.
Commit: 20fe2525ff97b73e9b6d4bc570682a64d4b58f6e
https://github.com/llvm/llvm-project/commit/20fe2525ff97b73e9b6d4bc570682a64d4b58f6e
Author: Tobias Hieta <tobias at hieta.se>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/utils/release/bump-version.py
Log Message:
-----------
[Utils] Updates to bump-version.py (#100089)
* Add support for --git flag to bump version for a git suffix
* Update location of the new file where the version is stored
Commit: 81e2a57b41de9417f7735c53088876d1ef7b555d
https://github.com/llvm/llvm-project/commit/81e2a57b41de9417f7735c53088876d1ef7b555d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/test/MC/AMDGPU/reloc-operands-gfx10.s
Log Message:
-----------
AMDGPU: Fix assembler asserting on expressions in vop3 instructions (#100103)
Fixes #100075
---------
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: 58f3c5e696021d9e571f868ed3bb4b27b3722df4
https://github.com/llvm/llvm-project/commit/58f3c5e696021d9e571f868ed3bb4b27b3722df4
Author: Leonard Grey <lgrey at chromium.org>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lld/MachO/CMakeLists.txt
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/OutputSegment.cpp
M lld/MachO/OutputSegment.h
A lld/MachO/Sections.cpp
A lld/MachO/Sections.h
M lld/test/MachO/arm64-thunks.s
M lld/test/MachO/section-order.s
M llvm/utils/gn/secondary/lld/MachO/BUILD.gn
Log Message:
-----------
[lld-macho] Fix thunks for non-__text TEXT sections (#99052)
This supersedes https://github.com/llvm/llvm-project/pull/87818 and
fixes https://github.com/llvm/llvm-project/issues/52767
When calculating arm64 thunks, we make a few assumptions that may not
hold when considering code sections outside of `__text`:
1. That a section needs thunks only if its size is larger than the
branch range.
2. That any calls into `__stubs` are necessarily forward jumps (that is,
the section with the jump is ordered before `__stubs`)
Sections like this exist in the wild, most prominently the
`__lcxx_overrides` section introduced in
https://github.com/llvm/llvm-project/pull/69498
This change:
- Ensures that if one section in `__TEXT` gets thunks, all of them do.
- Makes all code sections in `__TEXT` contiguous (and guaranteed to be
placed before `__stubs`)
Commit: 9628777479a970db5d0c2d0b456dac6633864760
https://github.com/llvm/llvm-project/commit/9628777479a970db5d0c2d0b456dac6633864760
Author: PaulXiCao <paulxicao7 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/include/__math/hypot.h
M libcxx/include/cmath
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/support/fp_compare.h
Log Message:
-----------
[libc++][math] Fix undue overflowing of `std::hypot(x,y,z)` (#93350)
The 3-dimentionsional `std::hypot(x,y,z)` was sub-optimally implemented.
This lead to possible over-/underflows in (intermediate) results which
can be circumvented by this proposed change.
The idea is to to scale the arguments (see linked issue for full
discussion).
Tests have been added for problematic over- and underflows.
Closes #92782
Commit: 1a3cfe5b9dc9c80a375506262b54b51d929df52d
https://github.com/llvm/llvm-project/commit/1a3cfe5b9dc9c80a375506262b54b51d929df52d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Pass all files to the device linker (#97573)
Summary:
The linker wrapper's job is to extract embedded device code from fat
binaries and create linked images that can then be embedded and
executed. In order to support LTO, we originally reinvented all of the
LTO handling that `ld.lld` normally does. Primarily, this was because
`nvlink` didn't support this at all, and we have special hacks required
for offloading languages interacting with archive libraries.
Now since I wrote https://github.com/llvm/llvm-project/pull/96561 we
should be able to pass all the inputs to the device linker
transparently. This has the advantage of allowing the `clang` Driver to
do its own handling. Primarily, this will be used to implicitly pass
libraries to the device link job to make it more consistent with other
toolchains.
The JIT support is a notable departure, however there is an option
called `--lto-emit-llvm` that performs the exact function where we want
the final link job to output LLVM-IR that we can then embed instead.
This patch does not fully delete the LTO handling, primarily because I
think the SPIR-V people might want it. To see only the relevant patches,
ignore the first commit of the nvlink-wrapper.
Depends on https://github.com/llvm/llvm-project/pull/96561.
Commit: b42fe6740ec696dca0e3dc914d2638088caa3f53
https://github.com/llvm/llvm-project/commit/b42fe6740ec696dca0e3dc914d2638088caa3f53
Author: David Green <david.green at arm.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/cmp-select-sign.ll
M llvm/test/CodeGen/AArch64/fptoi.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/nontemporal-load.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
M llvm/test/CodeGen/Thumb2/mve-vst3.ll
M llvm/test/CodeGen/Thumb2/mve-vst4.ll
Log Message:
-----------
[DAG] Add users of operand of simplified extract_vector_elt to worklist (#100074)
This helps to ensure we revisit the last extract_element uses of a node
so that it can be optimized away in cases such as extract(insert(scalartovec(x), 1), 0).
Commit: e3b30bc553775f29661eebc8e022efa4cad91610
https://github.com/llvm/llvm-project/commit/e3b30bc553775f29661eebc8e022efa4cad91610
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A lld/MachO/BPSectionOrderer.cpp
A lld/MachO/BPSectionOrderer.h
M lld/MachO/CMakeLists.txt
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SectionPriorities.cpp
A lld/test/MachO/bp-section-orderer-errs.s
A lld/test/MachO/bp-section-orderer-stress.s
A lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][InstrProf] Profile guided function order (#96268)
Add the lld flags `--irpgo-profile-sort=<profile>` and
`--compression-sort={function,data,both}` to order functions to improve
startup time, and functions or data to improve compressed size,
respectively.
We use Balanced Partitioning to determine the best section order using
traces from IRPGO profiles (see
https://discourse.llvm.org/t/rfc-temporal-profiling-extension-for-irpgo/68068
for details) to improve startup time and using hashes of section
contents to improve compressed size.
In our recent LLVM talk (https://www.youtube.com/watch?v=yd4pbSTjwuA),
we showed that this can reduce page faults during startup by 40% on a
large iOS app and we can reduce compressed size by 0.8-3%.
More details can be found in https://dl.acm.org/doi/10.1145/3660635
---------
Co-authored-by: Vincent Lee <thevinster at users.noreply.github.com>
Commit: 0cf92b1a464e20a397cb64f463b2af6992125e1d
https://github.com/llvm/llvm-project/commit/0cf92b1a464e20a397cb64f463b2af6992125e1d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/lld/MachO/BUILD.gn
Log Message:
-----------
[gn build] Port e3b30bc55377
Commit: d1e28e2a7bd4642e6a5ec963a5ca2ad2ba1b2b59
https://github.com/llvm/llvm-project/commit/d1e28e2a7bd4642e6a5ec963a5ca2ad2ba1b2b59
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/Preprocessor/has_builtin_cpuid.c
M clang/test/Sema/builtin-cpu-supports.c
M llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Support __builtin_cpu_init and __builtin_cpu_supports (#99700)
This implements the __builtin_cpu_init and __builtin_cpu_supports
builtin routines based on the compiler runtime changes in
https://github.com/llvm/llvm-project/pull/85790.
This is inspired by https://github.com/llvm/llvm-project/pull/85786.
Major changes are a) a restriction in scope to only the builtins (which
have a much narrower user interface), and the avoidance of false
generality. This change deliberately only handles group 0 extensions
(which happen to be all defined ones today), and avoids the tblgen
changes from that review.
I don't have an environment in which I can actually test this, but @BeMg
has been kind enough to report that this appears to work as expected.
Before this can make it into a release, we need a change such as
https://github.com/llvm/llvm-project/pull/99958. The gcc docs claim that
cpu_support can be called by "normal" code without calling the cpu_init
routine because the init routine will have been called by a high
priority constructor. Our current compiler-rt mechanism does not do
this.
Commit: fd58e508803483f566f446193250a581107d7181
https://github.com/llvm/llvm-project/commit/fd58e508803483f566f446193250a581107d7181
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Reverse iteration/deletion structure in vsetvli coalescing [NFC] (#98936)
The code previously deferred deleting the vsetvli to avoid invalidating
iterators, but eagerly deleted any ADDIs feeding the AVL register
operand. This was safe because the iterator was known to point to a
non-ADDI instruction (the vsetvli which was the previous user.) This
change switches to using an early_inc_range so that we can eagerly
delete the vsetvlis, but have to track ADDIs for later deletion.
This is purely stylistic, but IMO makes the code easier to follow. It
will also simplify a future change to support recursive deletion of
trivially dead instructions (i.e. LUI/ADDI pairs.)
Commit: a138d754cc1833e624aa89d4ac9fdb2086259e9a
https://github.com/llvm/llvm-project/commit/a138d754cc1833e624aa89d4ac9fdb2086259e9a
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
Log Message:
-----------
[GlobalIsel] Fix tests for G_SCMP and G_UCMP (#100133)
The return type of both is signed. Thus, we have to use sext.
Follow up to https://github.com/llvm/llvm-project/pull/99820
Commit: d64eccf4335e99360132b724d060d704892fbb02
https://github.com/llvm/llvm-project/commit/d64eccf4335e99360132b724d060d704892fbb02
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
R clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
A clang/include/clang/CodeGen/ObjectFilePCHContainerWriter.h
A clang/include/clang/Serialization/ObjectFilePCHContainerReader.h
M clang/lib/CodeGen/CMakeLists.txt
R clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
A clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.h
M clang/lib/Serialization/CMakeLists.txt
A clang/lib/Serialization/ObjectFilePCHContainerReader.cpp
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-check/ClangCheck.cpp
M clang/tools/driver/cc1_main.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/tools/lldb-instr/Instrument.cpp
Log Message:
-----------
[clang] Split ObjectFilePCHContainerReader from ObjectFilePCHContainerWriter (#99599)
Close https://github.com/llvm/llvm-project/issues/99479
See https://github.com/llvm/llvm-project/issues/99479 for details
Commit: 4854e253590efbe2fe886b1be4ea8ec7aa7a08b0
https://github.com/llvm/llvm-project/commit/4854e253590efbe2fe886b1be4ea8ec7aa7a08b0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
M offload/test/offloading/bug51982.c
Log Message:
-----------
[Offload] Re-enable tests that are now passing
Summary:
Some recent patches made these stop failing so the XFAIL now makes the
bots go red.
Fixes https://github.com/llvm/llvm-project/issues/98903
Commit: b8d2b775f2feada0016648d09c078838dedf11f6
https://github.com/llvm/llvm-project/commit/b8d2b775f2feada0016648d09c078838dedf11f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SelectionDAGBuilder] Avoid const_cast on call to matchSelectPattern. NFC (#100053)
By making the LHS and RHS const pointers, we can use the const signature
of matchSelectPattern.
Commit: df4fa47b57a782851d29c0cf7934051f12dda32e
https://github.com/llvm/llvm-project/commit/df4fa47b57a782851d29c0cf7934051f12dda32e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use MVT::changeVectorElementType. NFC
Commit: 3c8efd79283b4c9d25483bc69e3096ccdbddddef
https://github.com/llvm/llvm-project/commit/3c8efd79283b4c9d25483bc69e3096ccdbddddef
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_debug_codegen.cpp
M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M offload/test/offloading/default_thread_limit.c
Log Message:
-----------
[OpenMP] Ensure the actual kernel is annotated with launch bounds (#99927)
In debug mode there is a wrapper (the kernel) around the function in
which we generate the kernel code. We worked around this before to get
the correct kernel name, but now we really distinguish both to attach
the launch bounds to the kernel, not the inner function.
Commit: c2e438675754b83c31d7d5ba40cb13fe77e795de
https://github.com/llvm/llvm-project/commit/c2e438675754b83c31d7d5ba40cb13fe77e795de
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp
Log Message:
-----------
[libc++][vector<bool>] Tests shrink_to_fit requirement. (#98009)
`vector<bool>`'s shrink_to_fit implementation is using the
"swap-to-free-container-resources-trick" which only shrinks when the
input vector is empty. Since the request to shrink_to_fit is
non-binding, this is a valid implementation. It is not a high-quality
implementation. Since `vector<bool>` is not a very popular container the
implementation has not been changed and only a test to validate the
non-growing property has been added.
This was discovered while investigating #95161.
Commit: 87f2c25f3dad65890fc8e9abbe9765e44979ed9d
https://github.com/llvm/llvm-project/commit/87f2c25f3dad65890fc8e9abbe9765e44979ed9d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lldb/tools/debugserver/source/PThreadEvent.cpp
M lldb/tools/debugserver/source/PThreadEvent.h
Log Message:
-----------
[lldb] Unify WaitForSetEvents and WaitForEventsToReset (#99997)
Unify the implementations of WaitForSetEvents and WaitForEventsToReset.
The former deals with the possibility of a race between the timeout and
the predicate while the latter does not. The functions were also
inconsistent in when they would recompute the mask. This patch unifies
the two implementations and make them behave exactly the same modulo the
predicate.
rdar://130562344
Commit: ef1367faed1ab68f034a8da01166f5bc66bbbe35
https://github.com/llvm/llvm-project/commit/ef1367faed1ab68f034a8da01166f5bc66bbbe35
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fptoui-sat.ll
Log Message:
-----------
[RISCV] Use vnclip(u) to handle fp_to_(s/u)int_sat that needs additional narrowing. (#100071)
If vncvt doesn't produce the destination type directly, use vnclip to do
additional narrowing with saturation.
Commit: d0ca9f23e8f25b0509c3ff34ed215508b39ea6e7
https://github.com/llvm/llvm-project/commit/d0ca9f23e8f25b0509c3ff34ed215508b39ea6e7
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/include/string
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
Log Message:
-----------
[libc++][string] Fixes shrink_to_fit. (#97961)
This ensures that shrink_to_fit does not increase the allocated size.
Partly addresses #95161
Commit: a51d2632827bffa0fe8f21a1c8807985413155a3
https://github.com/llvm/llvm-project/commit/a51d2632827bffa0fe8f21a1c8807985413155a3
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
Log Message:
-----------
Adding warning for Master as it is deprecated in 5.2 (#98955)
Since `master` is deprecated from OpenMP spec 5.2, warning is added.
Using `masked` is the recommended alternative as per spec
Commit: 1e58c9de75d39ba5fa3d8373c6a631685f926014
https://github.com/llvm/llvm-project/commit/1e58c9de75d39ba5fa3d8373c6a631685f926014
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/src/stdlib/CMakeLists.txt
M libc/test/src/CMakeLists.txt
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
Log Message:
-----------
[libc] Fix math tests for macos arm64. (#100060)
Some problem with current build on macos:
- no libatomic.
- death tests do not work yet.
Commit: ca102b2114fa8a00096d71ff9fc3b1b218f0f01a
https://github.com/llvm/llvm-project/commit/ca102b2114fa8a00096d71ff9fc3b1b218f0f01a
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
Log Message:
-----------
lldb: android: fix missing Python import of urlparse in lldb test utilities (#99934)
## Issue
Attempting to run the lldb API tests against a remote-android target
fails with the error `NameError: name 'urlparse' is not defined`.
## Root Cause
It looks the Python import of `urlparse` was removed by mistake in
22ea97d7bfd65abf68a68b13bf96ad69be23df54. This import is only used when
running the lldb API tests against a remote-android target so it went
unnoticed.
## Fix
This change simply puts back the missing import. It is a one line
change.
fixes #99931
## Validation
Tested on Fedora 39 with an attached Android device:
`cd llvm-project`
`cmake -S llvm -B build -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb'
-DCMAKE_BUILD_TYPE=Release -DLLDB_ENABLE_PYTHON=On`
`ninja -C build`
`./build/bin/lldb-dotest --arch aarch64 --out-of-tree-debugserver
--platform-name=remote-android
--platform-working-dir=/data/local/tmp/ds2
--platform-url=connect://localhost:5432 --compiler
~/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/clang`
Commit: f227dc9ca24296cec0878b92d5ad3f853417e264
https://github.com/llvm/llvm-project/commit/f227dc9ca24296cec0878b92d5ad3f853417e264
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
A llvm/test/Transforms/UnifyLoopExits/undef-phis.ll
Log Message:
-----------
[UnifyLoopExits] Never generate phis of only `undef` values (#99924)
Commit: fc832d5349e1066b2ce8cec72bcbc39b9770758b
https://github.com/llvm/llvm-project/commit/fc832d5349e1066b2ce8cec72bcbc39b9770758b
Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/lround.ll
Log Message:
-----------
[AMDGPU] Implement llvm.lround intrinsic lowering. (#98970)
This patch enables the target-independent lowering of llvm.lround via
GlobalISel. For SelectionDAG, the instrinsic is custom lowered for
AMDGPU. In order to support vector floating point input for llvm.lround,
this patch extends the target independent APIs and provide support for
scalarizing. pr98950 is needed to let verifier allow vector floating
point types
Commit: 5623b06f30e5e55aab0cd664af72d33c4bfa9b84
https://github.com/llvm/llvm-project/commit/5623b06f30e5e55aab0cd664af72d33c4bfa9b84
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
Log Message:
-----------
[libc++][doc] Fixes building the release notes.
This libc++ 19 release notes are not longer the active notes and need to
be hidden to avoid build errors.
Commit: ca076f7a63f6a80e2e38315ec462be354b196b8d
https://github.com/llvm/llvm-project/commit/ca076f7a63f6a80e2e38315ec462be354b196b8d
Author: Wesley Wiser <wwiser at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/MachineFrameInfo.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/PowerPC/huge-frame-size.ll
M llvm/test/CodeGen/RISCV/pr88365.ll
M llvm/test/CodeGen/X86/huge-stack.ll
Log Message:
-----------
[LLVM] [MC] Update frame layout & CFI generation to handle frames larger than 2gb (#99263)
Rebase of #84114. I've only included the core changes to frame layout
calculation & CFI generation which sidesteps the regressions found after
merging #84114. Since these changes are a necessary precursor to the
overall fix and are themselves slightly beneficial as CFI is now
generated correctly, I think it is reasonable to merge this first step.
---
For very large stack frames, the offset from the stack pointer to a
local can be more than 2^31 which overflows various `int` offsets in the
frame lowering code.
This patch updates the frame lowering code to calculate the offsets as
64-bit values and fixes CFI to use the corrected sizes.
After this patch, additional work is needed to fix offset truncations in
each target's codegen.
Commit: 298a9223a57c50cb0d24b82687ad1bc2f7a022e6
https://github.com/llvm/llvm-project/commit/298a9223a57c50cb0d24b82687ad1bc2f7a022e6
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lld/test/ELF/arm-cmse-implib.s
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/test/DebugInfo/Symbolize/ELF/arm-mapping-symbol.s
M llvm/test/MC/ARM/CheckDataSymbol.s
M llvm/test/MC/ARM/data-in-code.ll
M llvm/test/MC/ARM/directive-arm-thumb-alignment.s
M llvm/test/MC/ARM/multi-section-mapping.s
M llvm/test/MC/ARM/thumb-function-address.s
M llvm/test/MC/ARM/thumb-types.s
M llvm/test/MC/ARM/thumb_set.s
M llvm/test/MC/ELF/ARM/execute-only-section.s
M llvm/test/tools/llvm-objdump/multiple-symbols.s
Log Message:
-----------
[ARM] Create mapping symbols with non-unique names
Similar to #99836 for AArch64.
Non-unique names save .strtab space and match GNU assembler.
Pull Request: https://github.com/llvm/llvm-project/pull/99906
Commit: 0ee0eeb4bb9be6aeef6c84121ca1af463840fb6a
https://github.com/llvm/llvm-project/commit/0ee0eeb4bb9be6aeef6c84121ca1af463840fb6a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Parser/provenance.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Parser/provenance.cpp
A flang/test/Lower/location.f90
A flang/test/Lower/location0.inc
A flang/test/Lower/location1.inc
Log Message:
-----------
[flang] Enhance location information (#95862)
Add inclusion location information by using FusedLocation with
attribute.
More context here:
https://discourse.llvm.org/t/rfc-enhancing-location-information/79650
Commit: 1c4091053a61ce1e3df3b3ebbc57064f7262e0cd
https://github.com/llvm/llvm-project/commit/1c4091053a61ce1e3df3b3ebbc57064f7262e0cd
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Port cc7308a1563e5ebab4dffeb85deefdde61e6711a (#100163)
Commit: e9bb4e303b949f955042158567eb83000a6e7634
https://github.com/llvm/llvm-project/commit/e9bb4e303b949f955042158567eb83000a6e7634
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/SpecialMath.rst
Log Message:
-----------
[libc++][doc] Update the release notes for LLVM 19. (#99061)
This is a preparation for the upcoming LLVM 19 release.
Commit: 7395191e0eb07c19ad0023923eade326d3a874df
https://github.com/llvm/llvm-project/commit/7395191e0eb07c19ad0023923eade326d3a874df
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
Log Message:
-----------
[libc] Skip NaN death tests for asan build. (#100161)
Commit: 3a8a0b8faf86e71ac7ce80a8f6f78d33dd295762
https://github.com/llvm/llvm-project/commit/3a8a0b8faf86e71ac7ce80a8f6f78d33dd295762
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Update for new deps (#100166)
The config drifted from main in a few places. I didn't track down the
original changes since there were 3 breakages
Commit: b316cebae1a4de242b6723e1dd8b37b12f72ca8d
https://github.com/llvm/llvm-project/commit/b316cebae1a4de242b6723e1dd8b37b12f72ca8d
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/test/MC/AMDGPU/gfx1030_err.s
M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
M llvm/test/MC/AMDGPU/gfx10_err_pos.s
M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
M llvm/test/MC/AMDGPU/gfx12_err.s
Log Message:
-----------
[AMDGPU][MC] Improve error message for missing dim operand (#96588)
For GFX10+, the MIMG instrucitons generally require a dim operand.
However, when dim is missing, the assembler produces the error message
"operands are not valid for this GPU or mode" (See issue
https://github.com/llvm/llvm-project/issues/47585). This patch fixes the
issue by producing a more direct error message.
---------
Co-authored-by: Jun Wang <jun.wang7 at amd.com>
Commit: 1c9085e37e1eafc5594954636e1a8bf1b3d250c7
https://github.com/llvm/llvm-project/commit/1c9085e37e1eafc5594954636e1a8bf1b3d250c7
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/DeclTemplate.cpp
Log Message:
-----------
[Sema] Default arguments for template parameters affect ContainsUnexpandedPacks (#99880)
This addresses the FIXME in the code. There will be tests for the new
behavior in an upcoming #86265, which also addresses other bugs that
prevent exposing the wrong results of `ContainsUnexpandedPacks` in the
outputs of the compiler without crashes.
Commit: 43ca63149dfbaa401a3bcee8b4835dccbac6d832
https://github.com/llvm/llvm-project/commit/43ca63149dfbaa401a3bcee8b4835dccbac6d832
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/Commands/CommandObjectScripting.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/PluginManager.cpp
M lldb/source/Interpreter/CMakeLists.txt
A lldb/source/Interpreter/Interfaces/CMakeLists.txt
A lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
M lldb/source/Plugins/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb/Commands] Add `scripting template list` command with auto discovery (#97273)
This patch introduces a new `template` multiword sub-command to the
`scripting` top-level command. As the name suggests, this sub-command
operates on scripting templates, and currently has the ability to
automatically discover the various scripting extensions that lldb
supports.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: e59a619acf0b829f34a1c63aab0ad829ca0defc9
https://github.com/llvm/llvm-project/commit/e59a619acf0b829f34a1c63aab0ad829ca0defc9
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/X86/mmx-inline-asm.c
M clang/test/CodeGen/asm-inout.c
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/mmx-inlineasm.ll
Log Message:
-----------
Clang: don't unnecessarily convert inline-asm operands to x86mmx in IR. (#98273)
The SelectionDAG asm-lowering code can already handle conversion of
other vector types to MMX if needed.
Commit: 6cea8189b02be6bf374e51ecbe37e3f0e4c99a42
https://github.com/llvm/llvm-project/commit/6cea8189b02be6bf374e51ecbe37e3f0e4c99a42
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/vector
Log Message:
-----------
[libc++][vector] Updates LWG3778 status. (#99818)
The work was done in a8ae392718313e64e2d7bc092b00f51476c074b2 which
implements parts of
N4258: Cleaning-up noexcept in the Library
However that's paper Summary of Proposed Changes contains
No change in vector<bool>
This patch updates the status and as a few NFC cleanups. The fixed
version is based on the release page and might be off.
Updates
- LWG3778 vector<bool> missing exception specifications
Commit: e6388fea3e194b8eabb42f7e26a45f51b7e475d3
https://github.com/llvm/llvm-project/commit/e6388fea3e194b8eabb42f7e26a45f51b7e475d3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/include/__memory/allocator.h
M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.verify.cpp
A libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate_at_least.verify.cpp
Log Message:
-----------
[libc++][memory] Implements LWG3307. (#99776)
As a drive-by added a nodiscard test for allocate_at_least.
Implements
- LWG33307 std::allocator<void>().allocate(n)
Commit: 5fc9502f19a87f7b1194cf5eadccf5f918bc50ca
https://github.com/llvm/llvm-project/commit/5fc9502f19a87f7b1194cf5eadccf5f918bc50ca
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. ShuffleInstructionBuilder::add V1->getType() is always a FixedVectorType. (#99842)
castToScalarTyElem has a cast<VectorType>(V->getType()).
Commit: 05b586be3d70cd51c809c52a67d36517fb4b8f6f
https://github.com/llvm/llvm-project/commit/05b586be3d70cd51c809c52a67d36517fb4b8f6f
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
Log Message:
-----------
[libc][RISCV] Add naked attribute to setjmp/longjmp (#100036)
We want to avoid any possibility that the compiler will insert a
prologue/epilogue violating the calling contracts for these special
functions, potentially clobbering registers that must be preserved. To
do that they should be marked naked, as is already the case on ARM.
See #87837 for further context.
Commit: 0b262bbb5713ebfdf66f40021711307e9c8d4bf5
https://github.com/llvm/llvm-project/commit/0b262bbb5713ebfdf66f40021711307e9c8d4bf5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Properly reject StmtExprs with Stmt result
Commit: e0649a5dfc6b859d652318f578bc3d49674787a4
https://github.com/llvm/llvm-project/commit/e0649a5dfc6b859d652318f578bc3d49674787a4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/indirect_byval.ll
Log Message:
-----------
[NVPTX] Fix internal indirect call prototypes not obeying the ABI (#100131)
Summary:
The NVPTX backend optimizes the ABI for functions that are internal,
however, this is not legal for indirect call prototypes. Previously, we
would modify the ABI on an aggregate byval type passed to an indirect
call prototype, which would make PTXAS error. This patch just passes the
function as a nullptr to force strict ABI compliance without
modification in the helper function.
Fixes https://github.com/llvm/llvm-project/issues/100055
Commit: 1b60c38eee1485c01f60451d9e0ea75a6323ea0f
https://github.com/llvm/llvm-project/commit/1b60c38eee1485c01f60451d9e0ea75a6323ea0f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/vendor/llvm/default_assertion_handler.in
Log Message:
-----------
[libc++][NFC] Add comment about __builtin_verbose_trap per review comment
Commit: 511823cbea2a6c4da61a2eb0f9a5aa20629ae51d
https://github.com/llvm/llvm-project/commit/511823cbea2a6c4da61a2eb0f9a5aa20629ae51d
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
Log Message:
-----------
[MC] Make *ObjectWriter final
to make it clear that target customization should be done by inheriting
from MCObjectTargetWriter subclasses instead of MCObjectWriter
subclasses.
Commit: 6a8c5a929599a6d47f62c0f243e379ae68a7e434
https://github.com/llvm/llvm-project/commit/6a8c5a929599a6d47f62c0f243e379ae68a7e434
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
Log Message:
-----------
[flang] Fix warning in build (#100134)
After tblah's update #99817, I'm getting a warning about an
unusedvariable. It looks to me like the warning is bogus, possibly due
to a bug in the compiler I'm using (GCC 9.3.0). But adding a
"maybe_unused" clause fixes it and makes my builds clean.
Commit: c92d9b06d45d437e97b966927aba2de37a5d6e56
https://github.com/llvm/llvm-project/commit/c92d9b06d45d437e97b966927aba2de37a5d6e56
Author: Andrii Levytskyi <107996072+aabysswalker at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/frac.ll
Log Message:
-----------
[SPIRV][HLSL] Add lowering of frac to SPIR-V (#97111)
Implements frac lowering to SPIR-V.
Closes #88059
Commit: e64e745e8fb802ffb06259b1a5ba3db713a17087
https://github.com/llvm/llvm-project/commit/e64e745e8fb802ffb06259b1a5ba3db713a17087
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/include/typeinfo
M libcxx/src/include/overridable_function.h
M libcxxabi/src/private_typeinfo.cpp
Log Message:
-----------
[libc++][libc++abi] Minor follow-up changes after ptrauth upstreaming (#87481)
This patch applies the comments provided on #84573. This is done as a
separate PR to avoid merge conflicts with downstreams that already had
ptrauth support.
Commit: df741b2220710a8f59c3a31cf69909714d90a532
https://github.com/llvm/llvm-project/commit/df741b2220710a8f59c3a31cf69909714d90a532
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Modules/subdirectory-module-maps-working-dir.m
Log Message:
-----------
[HeaderSearch] Make a test independent of the local environment. (#100011)
Don't ask the driver to inspect the local environment but use `cc1`
directly.
Commit: 34e67ffe1947b399f57002f8cf60340a391ce8c0
https://github.com/llvm/llvm-project/commit/34e67ffe1947b399f57002f8cf60340a391ce8c0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lldb/source/Host/common/Host.cpp
Log Message:
-----------
[lldb] Drop LOG_CONS from openlog call.
Don't pass `LOG_CONS` to the openlog call.
> Write directly to the system console if there is an error while
> sending to the system logger.
This seemed like a good idea at the time, but it turns out to be
extremely annoying when this happens and LLDB is overwhelmed by log
messages in the console.
rdar://132243490
Commit: 95ea37cd63f42ca0c0fa71621e75527e88c8b64d
https://github.com/llvm/llvm-project/commit/95ea37cd63f42ca0c0fa71621e75527e88c8b64d
Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Added LRU eviction policy to secondary cache. (#99409)
The logic for emptying the cache now follows an LRU eviction policy.
When the cache is full on any given free operation, the oldest entry in
the cache is evicted, and the memory associated with that cache entry is
unmapped.
Finding empty cache entries is now a constant operation with the use of
a stack of available cache entries.
Through the LRU structure, the cache retrieval algorithm now only
iterates through valid entries of the cache. Furthermore, the retrieval
algorithm will first search cache entries that have not been decommitted
(i.e. madvise() has not been called on their corresponding memory
chunks) to reduce the likelihood of returning a memory chunk to the user
that would induce a page fault.
Commit: 3993da23daa0ae75e9e80def76854534903e3761
https://github.com/llvm/llvm-project/commit/3993da23daa0ae75e9e80def76854534903e3761
Author: vporpo <vporpodas at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/SandboxIR/Use.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR] Implement BranchInst (#100063)
This patch implements sandboxir::BranchInst which mirrors
llvm::BranchInst.
BranchInst::swapSuccessors() relies on User::swapOperandsInternal() so
this patch also adds Use::swap() and the corresponding tracking code and
test.
Commit: 735852f5ab9ad8872ded8d6815f309cdec680b1e
https://github.com/llvm/llvm-project/commit/735852f5ab9ad8872ded8d6815f309cdec680b1e
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
A llvm/test/CodeGen/WebAssembly/simd-asm-pred.ll
Log Message:
-----------
[WebAssembly] Enable simd128 when relaxed-simd is set in AsmPrinter (#99803)
Even though in `Subtarget` we defined `SIMDLevel` as a number so
`hasRelaxedSIMD` automatically means `hasSIMD128`,
https://github.com/llvm/llvm-project/blob/0caf0c93e759816663af52e8632d1c3953dbc715/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h#L36-L40
https://github.com/llvm/llvm-project/blob/0caf0c93e759816663af52e8632d1c3953dbc715/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h#L107
specifying only `relaxed-simd` feature on a program that needs `simd128`
instructions to compile fails, because of this query in `AsmPrinter`:
https://github.com/llvm/llvm-project/blob/d0d05aec3b6792136a9f75eb85dd2ea66005ae12/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp#L644-L645
This `verifyInstructionPredicates` function (and other functions called
by this function) is generated by
https://github.com/llvm/llvm-project/blob/main/llvm/utils/TableGen/InstrInfoEmitter.cpp,
and looks like this (you can check it in the
`lib/Target/WebAssembly/WebAssemblyGenInstrInfo.inc` in your build
directory):
```cpp
void verifyInstructionPredicates(
unsigned Opcode, const FeatureBitset &Features) {
FeatureBitset AvailableFeatures = computeAvailableFeatures(Features);
FeatureBitset RequiredFeatures = computeRequiredFeatures(Opcode);
FeatureBitset MissingFeatures =
(AvailableFeatures & RequiredFeatures) ^
RequiredFeatures;
...
}
```
And `computeAvailableFeatures` is just a set query, like this:
```cpp
inline FeatureBitset computeAvailableFeatures(const FeatureBitset &FB) {
FeatureBitset Features;
if (FB[WebAssembly::FeatureAtomics])
Features.set(Feature_HasAtomicsBit);
if (FB[WebAssembly::FeatureBulkMemory])
Features.set(Feature_HasBulkMemoryBit);
if (FB[WebAssembly::FeatureExceptionHandling])
Features.set(Feature_HasExceptionHandlingBit);
...
```
So this is how currently `HasSIMD128` is defined:
https://github.com/llvm/llvm-project/blob/0caf0c93e759816663af52e8632d1c3953dbc715/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td#L79-L81
The things being checked in this `computeAvailableFeatures`, and in turn
in `AsmPrinter`, are `AssemblerPredicate`s. These only check which bits
are set in the features set and are different from `Predicate`s, which
can call `Subtarget` functions like `Subtarget->hasSIMD128()`.
But apparently we can use `all_of` and `any_of` directives in
`AssemblerPredicate`, and we can make `simd128`'s `AssemblerPredicate`
set in `relaxed-simd` is set by the condition as an 'or' of the two.
Fixes #98502.
Commit: c312a1a9c1beb407506cb1f76eb4ba05e92e5ab4
https://github.com/llvm/llvm-project/commit/c312a1a9c1beb407506cb1f76eb4ba05e92e5ab4
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/SandboxIR/Use.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
Revert "[SandboxIR] Implement BranchInst (#100063)"
This reverts commit 3993da23daa0ae75e9e80def76854534903e3761.
Commit: 1c3a99c7397ea630949ab65a87fa6dd97609e4b3
https://github.com/llvm/llvm-project/commit/1c3a99c7397ea630949ab65a87fa6dd97609e4b3
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
Log Message:
-----------
[libc++] Add clang-20 to failing tests on Windows (#100119)
After we switched to LLVM version 20, some libc++ tests started failing
on Windows. This patch adds the clang-20 condition to XFAIL to fix the
issue. The way that these tests are excluded from Windows are fragile
and need to be updated every time we bump the LLVM version.
Commit: eb90ac508b2366de38a58ae9e168ed2027d1d943
https://github.com/llvm/llvm-project/commit/eb90ac508b2366de38a58ae9e168ed2027d1d943
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/__init__.py
Log Message:
-----------
[MLGO] Bump MLGO utils version to 20
This patch bumps the MLGO utilities python package version to v20 in
sync with the rest of the project. This should be automated later in the
version update script, but this needs to be updated even while a patch
for that lands.
Commit: 795a47fb66b7479f6da4f8cdfc9f83ea5d654a55
https://github.com/llvm/llvm-project/commit/795a47fb66b7479f6da4f8cdfc9f83ea5d654a55
Author: David Benjamin <davidben at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/include/string_view
Log Message:
-----------
Suppress a redundant hardening check in basic_string_view::substr (#91804)
Fixes #91634.
This could alternatively be done with an _LIBCPP_ASSUME, after
https://github.com/llvm/llvm-project/pull/91801 lands, but would also
require https://github.com/llvm/llvm-project/issues/91619 be fixed
first. Given the dependencies, it seemed simplest to just make a private
ctor.
Commit: c444548bda3979e68e47ee0d0700b752ac6b9757
https://github.com/llvm/llvm-project/commit/c444548bda3979e68e47ee0d0700b752ac6b9757
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/SandboxIR/Use.h
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
Reapply "[SandboxIR] Implement BranchInst (#100063)"
This reverts commit c312a1a9c1beb407506cb1f76eb4ba05e92e5ab4.
Commit: 7e1fcf5dd657d465c3fc846f56c6f9d3a4560b43
https://github.com/llvm/llvm-project/commit/7e1fcf5dd657d465c3fc846f56c6f9d3a4560b43
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/linker-wrapper-passes.c
M clang/test/Driver/nvlink-wrapper.c
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
[Clang] Correctly forward `--cuda-path` to the nvlink wrapper (#100170)
Summary:
This was not forwarded properly as it would try to pass it to `nvlink`.
Fixes https://github.com/llvm/llvm-project/issues/100168
Commit: 055e4319112282354327af9908091fdb25149e9b
https://github.com/llvm/llvm-project/commit/055e4319112282354327af9908091fdb25149e9b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Reduce cloning overhead by sharing nodes when possible (#99832)
When assigning calls to nodes while building the graph, we can share
nodes between multiple calls in some cases. Specifically, when we
process the list of calls that had the same stack ids (possibly pruned,
because we are looking at the stack ids that actually had nodes in the
graph due to stack ids in the pruned allocation MIBs), for calls that
are located in the same function, we know that they will behave exactly
the same through cloning and function assignment. Therefore, instead of
creating nodes for all of them (requiring context id duplication), keep
a list of additional "matching calls" on the nodes. During function
assignment we simply update all the matching calls the same way as the
primary call.
This change not only reduces the number of nodes (both original and
cloned), but also greatly reduces the number of duplicated context ids
and the time to propagate them.
For a large target, I measured a 25% peak memory reduction and 42% time
reduction.
Commit: 7d388aeabb34cd954aa57e4321ad3aa9f382c557
https://github.com/llvm/llvm-project/commit/7d388aeabb34cd954aa57e4321ad3aa9f382c557
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/linker-wrapper-passes.c
M clang/test/Driver/nvlink-wrapper.c
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
Revert "[Clang] Correctly forward `--cuda-path` to the nvlink wrapper (#100170)"
This reverts commit 7e1fcf5dd657d465c3fc846f56c6f9d3a4560b43.
Commit: adbe247701826014c608bb0a3289de70ca60889e
https://github.com/llvm/llvm-project/commit/adbe247701826014c608bb0a3289de70ca60889e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/linker-wrapper-passes.c
M clang/test/Driver/nvlink-wrapper.c
M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
Log Message:
-----------
Reapply "[Clang] Correctly forward `--cuda-path` to the nvlink wrapper (#100170)"
This reverts commit 7d388aeabb34cd954aa57e4321ad3aa9f382c557.
Commit: cb1a3bb29ffcd65c221f017164a83400310a0d4b
https://github.com/llvm/llvm-project/commit/cb1a3bb29ffcd65c221f017164a83400310a0d4b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/utils/release/bump-version.py
Log Message:
-----------
[MLGO][Infra] Add mlgo-utils to bump-version script (#100186)
This patch adds support in the bump-version script for bumping the
version of the mlgo-utils package. This should hopefully streamline the
processor for that with the rest of the project and prevent having to
manually update this package individually.
Commit: 7cd7a1eab4da9aa01f081249513197548dc7c87e
https://github.com/llvm/llvm-project/commit/7cd7a1eab4da9aa01f081249513197548dc7c87e
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
M bolt/test/X86/dwarf5-locexpr-referrence.test
Log Message:
-----------
[BOLT][DWARF][NFC] Split processUnitDIE into two lambdas (#99957)
Split processUnitDIE into two lambdas to separate the processing of DWO
CUs and CUs in the main binary.
Commit: d19e71db8a3de65de5da5d5bc4e1f9c1020c574c
https://github.com/llvm/llvm-project/commit/d19e71db8a3de65de5da5d5bc4e1f9c1020c574c
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang/Lex/DependencyDirectivesScanner] Ignore import/include directives with missing filenames without failing the scan (#100126)
Follow-up to `34ab855826b8cb0c3b46c770b83390bd1fe95c64`:
* Don't fail the scan with an include with missing filename, it may be
inside a skipped preprocessor block. Let the compilation provide any
related error.
* Fix an issue where the lexer was skipping through the next directive,
after ignoring the include with missing filename.
Commit: 92a9d4831d5e40c286247c30fcd794563adbef6e
https://github.com/llvm/llvm-project/commit/92a9d4831d5e40c286247c30fcd794563adbef6e
Author: Ian Anderson <iana at apple.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stddef.h
M clang/test/Headers/stddefneeds.cpp
A clang/test/Modules/stddef.cpp
Log Message:
-----------
[clang][headers] Including stddef.h always redefines NULL (#99727)
stddef.h always includes __stddef_null.h. This is fine in modules
because it's not possible to re-include the pcm, and it's necessary to
export the _Builtin_stddef.null submodule. However, without modules it
causes NULL to always get redefined which disrupts some C++ code. Rework
the inclusion of __stddef_null.h so that with not building with modules
it's only included if __need_NULL is set by the includer, or it's the
first time stddef.h is being included.
Commit: bb60dd391f53fe297d7d1b3e5269f44ab91255cc
https://github.com/llvm/llvm-project/commit/bb60dd391f53fe297d7d1b3e5269f44ab91255cc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
Log Message:
-----------
[VPlan] Only use force-target-instruction-cost for recipes with insts.
To match the behavior of the legacy cost model, only apply
-force-target-instruction-cost to recipes with underlying instructions
for now, as only original IR instructions are considered by the legacy
cost model.
This fixes a difference between legacy and VPlan based cost model,
triggering the verification assertion, reported by @JonPsson1.
Commit: 14e20eebd13c28770a92120696dc60754de4c139
https://github.com/llvm/llvm-project/commit/14e20eebd13c28770a92120696dc60754de4c139
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/cmake/modules/LibcConfig.cmake
M libc/config/config.json
M libc/src/errno/libc_errno.cpp
Log Message:
-----------
[libc] Fix missing default value for errno config (#100175)
Summary:
The configs all need default values which targets then override. This
one was an empty string which made the logic report an error. The only
reason it wasn't a build failure was because of a stray `:`.
Commit: cb0ead7888e5e1067dde10213ffb340cbd7419dc
https://github.com/llvm/llvm-project/commit/cb0ead7888e5e1067dde10213ffb340cbd7419dc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-passes.c
Log Message:
-----------
[Clang] Add back in REQUIRES lines that were accidentally removed
Commit: e858a921ac8d898698d3a2746b1c68164075b99f
https://github.com/llvm/llvm-project/commit/e858a921ac8d898698d3a2746b1c68164075b99f
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll
Log Message:
-----------
[msan] Add more NEON VST tests (#100189)
This includes additional test cases that are currently unsupported by
MSan: VST_{2,3,4} with floating-point parameters, and VST1x_{2,3,4}.
Commit: 8bdc3d9ebb19e8c455c77241ef52ea74be6acfed
https://github.com/llvm/llvm-project/commit/8bdc3d9ebb19e8c455c77241ef52ea74be6acfed
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/src/setjmp/riscv/longjmp.cpp
M libc/src/setjmp/riscv/setjmp.cpp
Log Message:
-----------
Revert "[libc][RISCV] Add naked attribute to setjmp/longjmp" (#100193)
Reverts llvm/llvm-project#100036
This caused a failure on bots:
https://lab.llvm.org/buildbot/#/builders/183/builds/1799
We likely need to discuss the particulars here a bit more deeply before
either relanding or choosing an alternate solution.
Commit: d0c8e268c1ed9bbbd07be0efd93a91737c7bb1fe
https://github.com/llvm/llvm-project/commit/d0c8e268c1ed9bbbd07be0efd93a91737c7bb1fe
Author: Ryan Prichard <rprichard at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/vendor/android/run-buildbot-container
Log Message:
-----------
[libc++][Android] Fix Android bugs in the CI Dockerfile (#99623)
The base of android-buildkite-builder is buildkite-builder, not
android-build-base. android-build-base is only used for its /opt/android
directory, so move the Docker installation step into
android-buildkite-builder.
Install bzip2 for extracting ndk_platform.tar.bz2.
Add "set -e" to RUN heredocs to catch failing commands.
Commit: cbd5ba20d1faf88dbfc9aa491d8def1920500a32
https://github.com/llvm/llvm-project/commit/cbd5ba20d1faf88dbfc9aa491d8def1920500a32
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Lex/HeaderSearch.cpp
A clang/test/Driver/modulemap-allow-subdirectory-search.c
A clang/test/Modules/modulemap-allow-subdirectory-search.m
Log Message:
-----------
[Modules] Don't search for modulemaps in the immediate sub-directories of search paths for recent Apple SDKs. (#100005)
Such searches can be costly and non-intuitive. We've seen complaints
from developers that they don't expect clang to find modules on their
own and not in search paths that developers provide. Keeping the search
of modulemaps in subdirectories for code completion as it provides
better user experience.
If you are defining module "UsefulCode" in
"include/UnrelatedName/module.modulemap", it is recommended to rename
the directory "UnrelatedName" to "UsefulCode". If you cannot do so, you
can add to "include/module.modulemap" a line like `extern module
UsefulCode "UnrelatedName/module.modulemap"`, so clang can find module
"UsefulCode" without checking each subdirectory in "include/".
rdar://106677321
---------
Co-authored-by: Jan Svoboda <jan at svoboda.ai>
Commit: ce811fb6d94e1d4af1fd1f52fbf109bc34834970
https://github.com/llvm/llvm-project/commit/ce811fb6d94e1d4af1fd1f52fbf109bc34834970
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[NFCI][scudo] Remove unused variable 'MaxCount' (#100201)
Fixes "error: unused variable 'MaxCount' [-Werror,-Wunused-variable]",
which is no longer used after
https://github.com/llvm/llvm-project/pull/99409
Commit: 8be1325cb1903797ba3dce67087e395f9e080576
https://github.com/llvm/llvm-project/commit/8be1325cb1903797ba3dce67087e395f9e080576
Author: Oliver Hunt <oliver at apple.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
Log Message:
-----------
[clang][test] Add function type discrimination tests to static destructor tests (#99604)
I accidentally did not include tests for the setting up runtime calls when compiling with -fptrauth-function-pointer-type-discrimination
Commit: 541a631237569e4c23ffba137cbeb5ad8d419286
https://github.com/llvm/llvm-project/commit/541a631237569e4c23ffba137cbeb5ad8d419286
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-passes.c
Log Message:
-----------
[Clang] Mark test XFAIL until a fix is merged
Summary:
Tracking the issue at
https://github.com/llvm/llvm-project/issues/100212.
Commit: 5e97bfb098639f458b32961143b6f7a39319a690
https://github.com/llvm/llvm-project/commit/5e97bfb098639f458b32961143b6f7a39319a690
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll
Log Message:
-----------
[msan] Add baseline output for neon_vst_float.ll (#100210)
Followup to https://github.com/llvm/llvm-project/pull/100189/
Commit: 0a6a3c152faf56e07dd4f9e89e534d2b97eeab56
https://github.com/llvm/llvm-project/commit/0a6a3c152faf56e07dd4f9e89e534d2b97eeab56
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp
Log Message:
-----------
[PAC][compiler-rt][UBSan] Strip signed vptr instead of authenticating it (#100153)
vptr cannot be authenticated without knowing the class type if it was
signed with type discrimination.
Co-authored-by: Oliver Hunt <oliver at apple.com>
Commit: 7868c04d97b4c30b3c23f126ec206e7ece3b8b70
https://github.com/llvm/llvm-project/commit/7868c04d97b4c30b3c23f126ec206e7ece3b8b70
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
Log Message:
-----------
[clang-doc] add ftime profiling (#97644)
this patches adds ftime-tracing option for clang-doc which was what I
used to profile the performance problems we had with clang-doc
generating the llvm docs.
- ftime-trace produces a time profiler json file called
clang-doc-tracing.json
Commit: caaba2a8839ad000ddfc48be093c5d07f032c9e8
https://github.com/llvm/llvm-project/commit/caaba2a8839ad000ddfc48be093c5d07f032c9e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Replace VNCLIP RISCVISD opcodes with TRUNCATE_VECTOR_VL_SSAT/USAT opcodes (#100173)
These new opcodes drop the shift amount, rounding mode, and passthru.
Making them exactly like TRUNCATE_VECTOR_VL. The shift amount, rounding
mode, and passthru are added in isel patterns similar to how we
translate TRUNCATE_VECTOR_VL to vnsrl with a shift of 0.
This should simplify #99418 a little.
Commit: e7f8d4be5a5d494ac95e664e397004936976db16
https://github.com/llvm/llvm-project/commit/e7f8d4be5a5d494ac95e664e397004936976db16
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
A libc/cmake/modules/compiler_features/check_builtin_fmax_fmin.cpp
A libc/cmake/modules/compiler_features/check_builtin_fmaxf16_fminf16.cpp
A libc/cmake/modules/cpu_features/check_FullFP16.cpp
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/math/generic/CMakeLists.txt
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/max_min_funcs_perf.cpp
Log Message:
-----------
[libc][math] Optimize maximum and minimum functions using builtins when available (#100002)
Commit: 7aa6598a244d5b1197725f26d367fb51e6630415
https://github.com/llvm/llvm-project/commit/7aa6598a244d5b1197725f26d367fb51e6630415
Author: Reid Kleckner <rnk at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lld/COFF/Options.td
Log Message:
-----------
[COFF] Add help text for /time flag to make it visible in /? output
Part of #99011
Commit: 61dcc9fee8f3db4e20f196a7b6d1c7626fead3e9
https://github.com/llvm/llvm-project/commit/61dcc9fee8f3db4e20f196a7b6d1c7626fead3e9
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/src/__support/FPUtil/BasicOperations.h
Log Message:
-----------
[libc][math] Fix use of float16 not guarded by LIBC_TYPES_HAS_FLOAT16 (#100241)
Commit: 80d1c6acc013ec85d6e1724429a8290f4411f853
https://github.com/llvm/llvm-project/commit/80d1c6acc013ec85d6e1724429a8290f4411f853
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
Log Message:
-----------
Revert "[clang-doc] add ftime profiling" (#100251)
This broke the build due to failing some clang-tidy checks:
https://lab.llvm.org/buildbot/#/builders/145/builds/789
Commit: fb55db5482dd5bee1c8d78cc1b0ddd9517e97e17
https://github.com/llvm/llvm-project/commit/fb55db5482dd5bee1c8d78cc1b0ddd9517e97e17
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
Log Message:
-----------
[clang-doc] fix broken tests (#100260)
This patch fixes the broken test caused by clang-doc which was caused by
https://github.com/llvm/llvm-project/pull/100251
https://lab.llvm.org/buildbot/#/builders/144/builds/3080
Commit: 25f0381ba128e012e494701286450a374bf366a8
https://github.com/llvm/llvm-project/commit/25f0381ba128e012e494701286450a374bf366a8
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/src/__support/block.h
Log Message:
-----------
[libc][malloc] Reduce block overhead by 4 bytes plus alignment effects (#99945)
The unused padding and alignment fields were removed. The used and last
bits were stashed into the lower two bits of the next chunk offset.
(This is a very typical trick for Knuth boundary tags.) The chunk
offsets were recast as counting bytes rather than multiples of the
alignment. To ensure that the lowest two bits are not significant, the
minimum alignment was bumped to 4. This shouldn't affect anything in
practice, since alignof(max_align_t) is overwhelmingly likely to be 8.
See #98096
Commit: 39c23a31d2ab9a6068fcaa22ed9b1e10101db5ff
https://github.com/llvm/llvm-project/commit/39c23a31d2ab9a6068fcaa22ed9b1e10101db5ff
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
R lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/Commands/CommandObjectScripting.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/PluginManager.cpp
M lldb/source/Interpreter/CMakeLists.txt
R lldb/source/Interpreter/Interfaces/CMakeLists.txt
R lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
M lldb/source/Plugins/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
Revert "[lldb/Commands] Add `scripting template list` command with auto discovery" (#100273)
Reverts llvm/llvm-project#97273 since it broke the windows bot:
https://lab.llvm.org/buildbot/#/builders/141/builds/1025/steps/4/logs/stdio
Commit: 2bf71b8bc851b49745b795f228037db159005570
https://github.com/llvm/llvm-project/commit/2bf71b8bc851b49745b795f228037db159005570
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
A llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
Log Message:
-----------
[WebAssembly] Fix phi handling for Wasm SjLj (#99730)
In Wasm SjLj, longjmpable `call`s that in functions that call `setjmp`
are converted into `invoke`s. Those `invoke`s are meant to unwind to
`catch.dispatch.longjmp` to figure out which `setjmp` those `longjmp`
buffers belong to:
https://github.com/llvm/llvm-project/blob/fada9227325b3eaa0bdc09a486f29a7f08b7b3fb/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L250-L260
But in case a longjmpable call is within another `catchpad` or
`cleanuppad` scope, to maintain the nested scope structure, we should
make them unwind to the scope's next unwind destination and not directly
to `catch.dispatch.longjmp`:
https://github.com/llvm/llvm-project/blob/fada9227325b3eaa0bdc09a486f29a7f08b7b3fb/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L1698-L1727
In this case the longjmps will eventually unwind to
`catch.dispatch.longjmp` and be handled there.
In this case, it is possible that the unwind destination (which is an
existing `catchpad` or `cleanuppad`) may already have `phi`s. And
because the unwind destinations get new predecessors because of the
newly created `invoke`s, those `phi`s need to have new entries for those
new predecessors.
This adds new preds as new incoming blocks to those `phi`s, and we use a
separate `SSAUpdater` to calculate the correct incoming values to those
blocks.
I have assumed `SSAUpdaterBulk` used in `rebuildSSA` would take care of
these things, but apparently it doesn't. It takes available defs and
adds `phi`s in the defs' dominance frontiers, i.e., where each def's
dominance ends, and rewrites other uses based on the newly added `phi`s.
But it doesn't add entries to existing `phi`s, and the case in this bug
may not even involve dominance frontiers; this bug is simply about
existing `phis`s that have gained new preds need new entries for them.
It is kind of surprising that this bug was only reported recently, given
that this pass has not been changed much in years.
Fixes #97496 and fixes
https://github.com/emscripten-core/emscripten/issues/22170.
Commit: 51507046c0e35eb04bbd90c79f6f3e5f31fe3dad
https://github.com/llvm/llvm-project/commit/51507046c0e35eb04bbd90c79f6f3e5f31fe3dad
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/AST/ast-dump-openmp-for-simd.c
M clang/test/AST/ast-dump-openmp-simd.c
M clang/test/AST/ast-dump-openmp-taskloop-simd.c
Log Message:
-----------
[clang][OpenMP] Mark all SIMD regions as non-throwing (#100162)
[4.5:75:19], [5.0:114:3], [5.1:137:21], [5.2:235:30]
"No exception can be raised in the **simd** region."
Commit: 3a51788b68015901995fc7b528eb5749e8af0602
https://github.com/llvm/llvm-project/commit/3a51788b68015901995fc7b528eb5749e8af0602
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port d64eccf4335e
Commit: adc59f4c58ddc81b078b0b2007b7b15a924ed8c2
https://github.com/llvm/llvm-project/commit/adc59f4c58ddc81b078b0b2007b7b15a924ed8c2
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
Log Message:
-----------
[Frontend][OpenMP] Fix typo in comment, NFC
Commit: 4f516aa04be616f3ad2929b275e7dc7da9b90d0a
https://github.com/llvm/llvm-project/commit/4f516aa04be616f3ad2929b275e7dc7da9b90d0a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang] Make the GPU toolchains implicitly link `-lm` and `-lc` (#98170)
Summary:
The previous patches (The other commits in this chain) allow the
offloading toolchain to directly invoke the device linker. Because of
this, we can now just have the toolchain implicitly include `-lc` and
`-lm` like a standard target does. This removes the old handling that
went through the fat binary `-lcgpu`.
Commit: ef8de68faebee0226b4836e66574f225f724e768
https://github.com/llvm/llvm-project/commit/ef8de68faebee0226b4836e66574f225f724e768
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][DebugInfo] Enable the use of DILocalVariable DIFlags (#100190)
This patch enables the use of flags for local variables in debug info.
They were defaulted as always zero, but allowing them is pretty trivial.
Commit: 73ac9536268f21149e29601da31e3415725b0a17
https://github.com/llvm/llvm-project/commit/73ac9536268f21149e29601da31e3415725b0a17
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/cpu_model/riscv.c
R compiler-rt/lib/builtins/riscv/feature_bits.c
Log Message:
-----------
[RISCV][compiler-rt] Small fixes for __riscv_feature_bits (#100158)
Changes included:
- Adding CONSTRUCTOR_ATTRIBUTE so that the static data is setup early on
in process lifetime. This is required by gcc docs for
__builtin_cpu_supports which we hope to implement in terms of this.
- Move the length initialization outside of the #if defined(linux) block
so that the length field always reflects the size of the structures even
if non of the feature bits are non-zero.
- Change the __riscv_vendor_feature_bits.length field to match the
length of the actual structure.
Note: Copy from https://github.com/llvm/llvm-project/pull/99958
---------
Co-authored-by: Philip Reames <preames at rivosinc.com>
Commit: f3f0d9928f982cfd302351f418bcc5b63cc1bb9d
https://github.com/llvm/llvm-project/commit/f3f0d9928f982cfd302351f418bcc5b63cc1bb9d
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
R llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
Log Message:
-----------
Revert "[WebAssembly] Fix phi handling for Wasm SjLj (#99730)"
This reverts commit 2bf71b8bc851b49745b795f228037db159005570.
This broke the builbot at
https://lab.llvm.org/buildbot/#/builders/110/builds/474.
Commit: f9cf5393dc9bc5e01f53e7906e7bebc3f3f30382
https://github.com/llvm/llvm-project/commit/f9cf5393dc9bc5e01f53e7906e7bebc3f3f30382
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/src/__support/block.h
Log Message:
-----------
[libc][malloc] Align blocks to max_align_t. (#100279)
Since there are two offsets from block start to usable area, this
ensures that the usable area is maximally aligned, so long as the offset
type size is no less than half the max alignment. This is true on at
least typical 32-bit and 64-bit targets.
Previously, there was a roughly 50-50 chance a given block's usable area
would be misaligned for a malloc on a 32-bit system. The half that were
misaligned would require at least one block of additional padding,
costing 12 bytes. With this change, the only cost is 0-4 bytes at the
beginning of the heap to reach an initial 8-byte alignment.
See #98096
Commit: ea4a3480984c8d886d50cc171b6d672135697801
https://github.com/llvm/llvm-project/commit/ea4a3480984c8d886d50cc171b6d672135697801
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Move initialization of DWOName outside of lambda (#99728)
Followup to the splitting of processUnitDIE, moves code that accesses
common resource to be outside of the function that will be parallelized.
Followup to #99957
Commit: ae1de3ea3c2db722bb2b135fe2c29b14b9ae1bcc
https://github.com/llvm/llvm-project/commit/ae1de3ea3c2db722bb2b135fe2c29b14b9ae1bcc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang] Remove tests checking now removed 'libc-gpu.a`
Summary:
These tests were removed in a previous patch.
The linker wrapper now just extracts the device inputs and forwards them
directly to the device's link job. This is the job that occurs when you
do `clang --target=amdgcn-amd-amdhsa foo.o` or similar. Because this can
handle LTO we no longer do LTO in the linker wrapper. This has some
fallout, because we now require `ld.lld` to be built with a compatible
version, but I think we always expected that.
I made the decision to remove this `libc-gpu.a` library because it was
unnecessary and complicated things. Now I simply have the link job
implicitly link `-lc` if it exists. Users can also now pass
`-Xoffload-linker=amdgcn-amd-amdhsa -lc` or similar to pass it. Because
of this, these tests need to be removed. I forgot that Fortran also had
these.
Commit: 56535a090d91ff10a60c884bacbd314dcf9659db
https://github.com/llvm/llvm-project/commit/56535a090d91ff10a60c884bacbd314dcf9659db
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lldb/source/Commands/CommandObjectProcess.cpp
Log Message:
-----------
[lldb] Don't crash when attaching to pid and no binaries found (#100287)
There is a narrow window during process launch on macOS where lldb can
attach and no binaries will be seen as loaded in the process (none
reported by libdyld SPI). A year ago I made changes to set the
new-binary-loaded breakpoint correctly despite this. But we've seen a
crash when this combination is seen, where
CommandObjectProcessAttach::DoExecute assumed there was at least one
binary registered in the Target. Fix that.
Also fix two FileSpec API uses from when we didn't have a GetPath()
method that returned a std::string, and was copying the filepaths into
fixed length buffers. All of this code was from ~14 years ago when we
didn't have that API.
rdar://131631627
Commit: 52ebd8d0577e07be9c25b56656d1974a84c40bf7
https://github.com/llvm/llvm-project/commit/52ebd8d0577e07be9c25b56656d1974a84c40bf7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M compiler-rt/test/tsan/debug_alloc_stack.cpp
Log Message:
-----------
[tsan] Enable test on linux (#99659)
It passes as-is on my system.
Commit: 4f79ef4efff432a93005b156726587c8c5a5ac17
https://github.com/llvm/llvm-project/commit/4f79ef4efff432a93005b156726587c8c5a5ac17
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libcxx/include/__configuration/abi.h
M libcxx/include/__type_traits/datasizeof.h
M libcxx/include/__utility/pair.h
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivial_copy_move.pass.cpp
M libcxx/test/libcxx/utilities/utility/pairs/pairs.pair/abi.trivially_copyable.compile.pass.cpp
Log Message:
-----------
[libc++] Revert "Make std::pair trivially copyable if its members are (#89652)" (#100184)
This reverts commit f9dd885cb6e6b. We're not certain yet whether the
patch has issues, so we are reverting until we've had time to
investigate.
Commit: 26fa399012da00fbf806f50ad72a3b5f0ee63eab
https://github.com/llvm/llvm-project/commit/26fa399012da00fbf806f50ad72a3b5f0ee63eab
Author: Stefan Pintilie <stefanp at ca.ibm.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/PowerPC/subreg-coalescer.mir
A llvm/test/CodeGen/X86/subreg-fail.mir
Log Message:
-----------
[RegisterCoalescer] Fix SUBREG_TO_REG handling in the RegisterCoalescer. (#96839)
The issue with the handling of the SUBREG_TO_REG is that we don't join
the subranges correctly when we join live ranges across the
SUBREG_TO_REG. For example when joining across this:
```
32B %2:gr64_nosp = SUBREG_TO_REG 0, %0:gr32, %subreg.sub_32bit
```
we want to join these live ranges:
```
%0 [16r,32r:0) 0 at 16r weight:0.000000e+00
%2 [32r,112r:0) 0 at 32r weight:0.000000e+00
```
Before the fix the range for the resulting merged `%2` is:
```
%2 [16r,112r:0) 0 at 16r weight:0.000000e+00
```
After the fix it is now this:
```
%2 [16r,112r:0) 0 at 16r L000000000000000F [16r,112r:0) 0 at 16r weight:0.000000e+00
```
Two tests are added to this fix. The X86 test fails without the patch.
The PowerPC test passes with and without the patch but is added as a way
track future possible failures when register classes are changed in a
future patch.
Commit: 0420d2f97eac49af5e816b0e3f2a9135d1673168
https://github.com/llvm/llvm-project/commit/0420d2f97eac49af5e816b0e3f2a9135d1673168
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/docs/configure.rst
Log Message:
-----------
[libc] Fix leftover debug commandline argument
Summary:
Fixes https://github.com/llvm/llvm-project/issues/100289
Commit: bc829b501d0ffa93019d29b0294e998d3dbb3d7a
https://github.com/llvm/llvm-project/commit/bc829b501d0ffa93019d29b0294e998d3dbb3d7a
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
Log Message:
-----------
[LoongArch][test] Pre-commit for fix codegen for ISD::ROTR. NFC
Commit: 9d1d0cc0206aa9a44a9fe0464c70b87a095921b6
https://github.com/llvm/llvm-project/commit/9d1d0cc0206aa9a44a9fe0464c70b87a095921b6
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
Log Message:
-----------
[LoongArch][test] Revert "Pre-commit for fix codegen for ISD::ROTR". NFC
This reverts commit bc829b501d0ffa93019d29b0294e998d3dbb3d7a.
Commit: 785d376d1231167688dd12f93c5c0a5d46cd4086
https://github.com/llvm/llvm-project/commit/785d376d1231167688dd12f93c5c0a5d46cd4086
Author: Lang Hames <lhames at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s
Log Message:
-----------
[ORC][JITLink] Treat common symbols as weak definitions.
Duplicate common definitions should be coaleseced, rather than being treated as
duplicate definitions. Strong definitions should override common definitions.
rdar://132314264
Commit: 690dc4eff19c85d0afaa9e189cf7e40fe3d1ff76
https://github.com/llvm/llvm-project/commit/690dc4eff19c85d0afaa9e189cf7e40fe3d1ff76
Author: quartersdg <sdgoglin at gmail.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/AsmParser/AsmParserImpl.h
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/AsmParser/Parser.h
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/mlir-tblgen/testdialect-attrdefs.mlir
Log Message:
-----------
Add AsmParser::parseDecimalInteger. (#96255)
An attribute parser needs to parse lists of possibly negative integers
separated by x in a way which is foiled by parseInteger handling hex
formats and parseIntegerInDimensionList does not allow negatives.
---------
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: c49837f5f688ff2cd70ecc6d5aefd71af2afb22b
https://github.com/llvm/llvm-project/commit/c49837f5f688ff2cd70ecc6d5aefd71af2afb22b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
R llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
R llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
R llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s
Log Message:
-----------
Revert "[ORC][JITLink] Treat common symbols as weak definitions."
This reverts commit 785d376d1231167688dd12f93c5c0a5d46cd4086 while I
investigate some bot failures (e.g.
https://lab.llvm.org/buildbot/#/builders/3/builds/1983).
Commit: b91c75fcaeea47d54ac5d15b45f079bf44681dc4
https://github.com/llvm/llvm-project/commit/b91c75fcaeea47d54ac5d15b45f079bf44681dc4
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-out-arguments.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
Log Message:
-----------
[RISCV] Add unit strided load/store to whole register peephole (#100116)
This adds a new vector peephole that converts unmasked, VLMAX
vleN.v/vseN.v to their whole register equivalents.
It replaces the existing tablegen patterns on ISD::LOAD/ISD::STORE and
is a bit more general since it also catches VP loads and stores and
@llvm.riscv intrinsics.
The heavy lifting of detecting a VLMAX AVL and an all-ones mask is
already taken care of by existing peepholes.
Commit: 599f8e1120db8c8c7a5e42134ea52650e8fb0f1c
https://github.com/llvm/llvm-project/commit/599f8e1120db8c8c7a5e42134ea52650e8fb0f1c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Reland "[compiler-rt][X86] Use functions in cpuid.h instead of inline assembly (#97877)"
This reverts commit f1905f064451bf688577976a13000c9c47e58452.
This relands commit 19cf8deabe1124831164987f1b9bf2f806c0a875.
There were issues with the preprocessor includes that should have
excluded MSVC still including clang functions building on windows and
using intrin.h. This relanding fixes this behavior by additionally
wrapping the uses of __get_cpuid and __get_cpuid_count in _MSC_VER so
that clang in MSVC mode, which includes intrin.h, does not have any
conflicts.
Commit: d27ee36cdef28845b4aba4f438c7d8bef4be4da7
https://github.com/llvm/llvm-project/commit/d27ee36cdef28845b4aba4f438c7d8bef4be4da7
Author: Kai Yan <aklkaiyan at tencent.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/WindowScheduler.cpp
A llvm/test/CodeGen/Hexagon/swp-ws-zero-cost.mir
Log Message:
-----------
[llvm][CodeGen] Fixed max cycle calculation with zero-cost instructions for window scheduler (#99454)
We discovered some scheduling failures occurring when zero-cost
instructions were involved. This issue will be addressed by this patch.
Commit: 2d6ff0c533aa1b0fe6d91764846f636c4a4e911c
https://github.com/llvm/llvm-project/commit/2d6ff0c533aa1b0fe6d91764846f636c4a4e911c
Author: Kai Yan <aklkaiyan at tencent.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/test/CodeGen/Hexagon/swp-ws-fail-2.mir
Log Message:
-----------
[llvm][CodeGen] Added missing initialization failure information for window scheduler (#99449)
Added missing initialization failure information for window scheduler.
Commit: e386aacb747b4512dedf481ad83e054d3dd641e6
https://github.com/llvm/llvm-project/commit/e386aacb747b4512dedf481ad83e054d3dd641e6
Author: hev <wangrui at loongson.cn>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
Log Message:
-----------
[LoongArch] Fix codegen for ISD::ROTR (#100292)
This patch fixes the code generation for IR:
sext i32 (trunc i64 (rotr i64 %x, i64 %y) to i32) to i64
Commit: 6810c05ccaeea318bc06076680a9a843b02a1881
https://github.com/llvm/llvm-project/commit/6810c05ccaeea318bc06076680a9a843b02a1881
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/pr99782.ll
Log Message:
-----------
[RISCV] Update test for #99821 after #100116. NFC
Commit: cd1a2ede2f6a741adf34fc5b57eb73aa149b515c
https://github.com/llvm/llvm-project/commit/cd1a2ede2f6a741adf34fc5b57eb73aa149b515c
Author: Kai Yan <aklkaiyan at tencent.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/Hexagon/swp-ws-pragma-initiation-interval-fail.mir
Log Message:
-----------
[llvm][CodeGen] Added a new restriction for II by pragma in window scheduler (#99448)
Added a new restriction for window scheduling.
Window scheduling is disabled when llvm.loop.pipeline.initiationinterval
is set.
Commit: 2ca300f914b1bdeef5f08415bbcbf1803c186401
https://github.com/llvm/llvm-project/commit/2ca300f914b1bdeef5f08415bbcbf1803c186401
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
Log Message:
-----------
[GlobalIsel][NFC] Move cast code (#100196)
Preparation for more cast combines
Commit: 6942f1d5aa232face8269ce78c4de7d45571a8e9
https://github.com/llvm/llvm-project/commit/6942f1d5aa232face8269ce78c4de7d45571a8e9
Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_1d.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_2d.mlir
Log Message:
-----------
[MLIR][Linalg] Scalable Vectorization of Reduction on the Trailing Dimension (#97788)
Allow scalable vectorization of linalg::reduce and linalg::generic that has
reduction iterator(s) with two restrictions:
1. The reduction dim is the last (innermost) dim of the op; and
2. Only the reduction dim is requested for scalable vectorization.
One exception is that scalable vectorization of the reduction dim in
Matmul-like ops are not supported even above restrictions are met.
Allowed combinations of scalable flags and iterator types:
Matmul:
Iterators: ["parallel", "parallel", "reduction"]
Scalable Flags: ["true", "true", "false"]
["false", "true", "false"]
Matvec:
Iterators: ["parallel", "reduction"]
Scalable Flags: ["false", "true"]
["true", "false"]
Commit: 6461e537815f7fa68cef06842505353cf5600e9c
https://github.com/llvm/llvm-project/commit/6461e537815f7fa68cef06842505353cf5600e9c
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/warn-fsyntax-only.c
Log Message:
-----------
[Driver] Don't claim -c/-S
Remove the TODO I left in commit
a07b135ce0c0111bd83450b5dc29ef0381cdbc39.
We will now warn about `-c/-S` with `-fsyntax-only`. This relands #98607
with a specific target triple.
Commit: 2ae862b74b3b132b6682350d47a095e733c337ce
https://github.com/llvm/llvm-project/commit/2ae862b74b3b132b6682350d47a095e733c337ce
Author: Hongyu Chen <hongyc4 at uci.edu>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M lld/ELF/ScriptLexer.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
Log Message:
-----------
[ELF] Remove `consumeLabel` in ScriptLexer (#99567)
This commit removes `consumeLabel` since we can just use consume
function to have the same functionalities.
Commit: 7b619730d9e2bcc2ab1588574ed94ae19c4b8654
https://github.com/llvm/llvm-project/commit/7b619730d9e2bcc2ab1588574ed94ae19c4b8654
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp][test] Try to make a test case work on Windows
Commit: 9d45b450f26a1ad669d4ceaac2c36aff4b80bfde
https://github.com/llvm/llvm-project/commit/9d45b450f26a1ad669d4ceaac2c36aff4b80bfde
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/remquo.ll
A llvm/test/Transforms/InstCombine/remquol-fp128.ll
A llvm/test/Transforms/InstCombine/remquol-fp80.ll
A llvm/test/Transforms/InstCombine/remquol-ppc-fp128.ll
Log Message:
-----------
[SimplifyLibCalls] Constant fold `remquo` (#99647)
This patch adds constant folding support for `remquo`.
Reference: https://en.cppreference.com/w/cpp/numeric/math/remquo
Closes https://github.com/llvm/llvm-project/issues/99497.
Commit: f4e8fbc5e90a4f2959a0eb6d7b01e7e279fb693b
https://github.com/llvm/llvm-project/commit/f4e8fbc5e90a4f2959a0eb6d7b01e7e279fb693b
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-07-23 (Tue, 23 Jul 2024)
Changed paths:
M compiler-rt/test/nsan/CMakeLists.txt
A compiler-rt/test/nsan/alloca.cpp
A compiler-rt/test/nsan/helpers.h
M compiler-rt/test/nsan/lit.cfg.py
M compiler-rt/test/nsan/lit.site.cfg.py.in
A compiler-rt/test/nsan/sum.cpp
Log Message:
-----------
[compiler-rt][nsan] Add lit config for tests (#100286)
Initial setup for tests.
Test plan: ninja check-nsan
Commit: 63ae1e955007287ecf048d706ce3e025d20f52b8
https://github.com/llvm/llvm-project/commit/63ae1e955007287ecf048d706ce3e025d20f52b8
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
R llvm/test/CodeGen/RISCV/pr89833.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
R llvm/test/CodeGen/RISCV/rvv/strided-load-store-intrinsics.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Emit VP strided loads/stores in RISCVGatherScatterLowering (#98111)
RISCVGatherScatterLowering is the last user of
riscv_masked_strided_{load,store} after #98131 and #98112, this patch
changes it to emit the VP equivalent instead. This allows us to remove
the masked_strided intrinsics so we have only have one lowering path.
riscv_masked_strided_{load,store} didn't have AVL operands and were
always VLMAX, so this passes in the fixed or scalable element count to
the EVL instead, which RISCVVectorPeephole should now convert to VLMAX
after #97800.
For loads we also use a vp_select to get passthru (mask undisturbed)
behaviour
Commit: dbe308c000f3401cbf6bb55f2b8d606fe091dcfe
https://github.com/llvm/llvm-project/commit/dbe308c000f3401cbf6bb55f2b8d606fe091dcfe
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2b.cpp
M clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
Log Message:
-----------
[clang][ExprConst] Allow non-literal types in C++23 (#100062)
Instead of diagnosing non-literal types in C++23, allow them and later
diagnose them differently, e.g. because they have a non-constexpr
constructor, destructor, etc.
For this test:
```c++
struct NonLiteral {
NonLiteral() {}
};
constexpr int foo() {
NonLiteral L;
return 1;
}
// static_assert(foo() == 1);
```
The current diagnostics with c++20/c++23 are:
```console
~/code/llvm-project/build » clang -c array.cpp -std=c++20
array.cpp:91:14: error: variable of non-literal type 'NonLiteral' cannot be defined in a constexpr function before C++23
91 | NonLiteral L;
| ^
array.cpp:87:8: note: 'NonLiteral' is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors
87 | struct NonLiteral {
| ^
1 error generated.
------------------------------------------------------------
~/code/llvm-project/build » clang -c array.cpp -std=c++23
(no output)
```
With the `static_assert` enabled, compiling with `-std=c++23` prints:
```console
array.cpp:95:15: error: static assertion expression is not an integral constant expression
95 | static_assert(foo() == 1);
| ^~~~~~~~~~
array.cpp:91:14: note: non-literal type 'NonLiteral' cannot be used in a constant expression
91 | NonLiteral L;
| ^
array.cpp:95:15: note: in call to 'foo()'
95 | static_assert(foo() == 1);
| ^~~~~
1 error generated.
```
As mentioned in #60311, this is confusing. The output with c++20
suggests that using c++23 will make the problem go away, but it's
diagnosed the same when running the function.
With this commit, the output instead diagnoses _why_ the non-literal
type can't be used:
```console
array.cpp:95:15: error: static assertion expression is not an integral constant expression
95 | static_assert(foo() == 1);
| ^~~~~~~~~~
array.cpp:91:14: note: non-constexpr constructor 'NonLiteral' cannot be used in a constant expression
91 | NonLiteral L;
| ^
array.cpp:95:15: note: in call to 'foo()'
95 | static_assert(foo() == 1);
| ^~~~~
array.cpp:88:3: note: declared here
88 | NonLiteral() {}
| ^
1 error generated.
```
Fixes #60311
Commit: e7698a13e319a9919af04d3d693a6f6ea7168a44
https://github.com/llvm/llvm-project/commit/e7698a13e319a9919af04d3d693a6f6ea7168a44
Author: Lang Hames <lhames at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s
Log Message:
-----------
Re-apply "[ORC][JITLink] Treat common symbols as weak definitions." with fixes.
This reapplies 785d376d123, which was reverted in c49837f5f68 due to bot
failures. The fix was to relax some asserts to allow common symbols to be
resolved with either common or weak flags, rather than requiring one or the
other.
Commit: 63e179929e2c31426717f841e786f1a035bed934
https://github.com/llvm/llvm-project/commit/63e179929e2c31426717f841e786f1a035bed934
Author: Lang Hames <lhames at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s
Log Message:
-----------
[ORC] Re-add test files that were accidentally left out of e7698a13e31.
Commit: 455990d18fe488ff6c8e3b161434e35d412b43a2
https://github.com/llvm/llvm-project/commit/455990d18fe488ff6c8e3b161434e35d412b43a2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
Reland "SelectionDAG: Avoid using MachineFunction::getMMI" (#99779)
Reverts llvm/llvm-project#99777
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: ddb75ca6062c9312896647c206f8b96574bef11d
https://github.com/llvm/llvm-project/commit/ddb75ca6062c9312896647c206f8b96574bef11d
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.cpp
A llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.h
M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Utilities to asan instrument memory instructions. (#98863)
This change adds the utilities required to asan instrument memory
instructions. In "amdgpu-sw-lower-lds" pass #87265, during lowering from
LDS to global memory, new instructions in global memory would be created
which need to be asan instrumented.
Commit: ef1c70d26b7e84a6f47c0c6a868b769935b2b008
https://github.com/llvm/llvm-project/commit/ef1c70d26b7e84a6f47c0c6a868b769935b2b008
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp
Log Message:
-----------
[compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#99613)
Examples of the output:
ARM:
```
# ./a.out
AddressSanitizer:DEADLYSIGNAL
=================================================================
==122==ERROR: AddressSanitizer: SEGV on unknown address 0x0000007a (pc 0x76e13ac0 bp 0x7eb7fd00 sp 0x7eb7fcc8 T0)
==122==The signal is caused by a READ memory access.
==122==Hint: address points to the zero page.
#0 0x76e13ac0 (/lib/libc.so.6+0x7cac0)
#1 0x76dce680 in gsignal (/lib/libc.so.6+0x37680)
#2 0x005c2250 (/root/a.out+0x145250)
#3 0x76db982c (/lib/libc.so.6+0x2282c)
#4 0x76db9918 in __libc_start_main (/lib/libc.so.6+0x22918)
==122==Register values:
r0 = 0x00000000 r1 = 0x0000007a r2 = 0x0000000b r3 = 0x76d95020
r4 = 0x0000007a r5 = 0x00000001 r6 = 0x005dcc5c r7 = 0x0000010c
r8 = 0x0000000b r9 = 0x76f9ece0 r10 = 0x00000000 r11 = 0x7eb7fd00
r12 = 0x76dce670 sp = 0x7eb7fcc8 lr = 0x76e13ab4 pc = 0x76e13ac0
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib/libc.so.6+0x7cac0)
==122==ABORTING
```
AArch64:
```
# ./a.out
UndefinedBehaviorSanitizer:DEADLYSIGNAL
==99==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x000000000063 (pc 0x007fbbbc5860 bp 0x007fcfdcb700 sp 0x007fcfdcb700 T99)
==99==The signal is caused by a UNKNOWN memory access.
==99==Hint: address points to the zero page.
#0 0x007fbbbc5860 (/lib64/libc.so.6+0x82860)
#1 0x007fbbb81578 (/lib64/libc.so.6+0x3e578)
#2 0x00556051152c (/root/a.out+0x3152c)
#3 0x007fbbb6e268 (/lib64/libc.so.6+0x2b268)
#4 0x007fbbb6e344 (/lib64/libc.so.6+0x2b344)
#5 0x0055604e45ec (/root/a.out+0x45ec)
==99==Register values:
x0 = 0x0000000000000000 x1 = 0x0000000000000063 x2 = 0x000000000000000b x3 = 0x0000007fbbb41440
x4 = 0x0000007fbbb41580 x5 = 0x3669288942d44cce x6 = 0x0000000000000000 x7 = 0x00000055605110b0
x8 = 0x0000000000000083 x9 = 0x0000000000000000 x10 = 0x0000000000000000 x11 = 0x0000000000000000
x12 = 0x0000007fbbdb3360 x13 = 0x0000000000010000 x14 = 0x0000000000000039 x15 = 0x00000000004113a0
x16 = 0x0000007fbbb81560 x17 = 0x0000005560540138 x18 = 0x000000006474e552 x19 = 0x0000000000000063
x20 = 0x0000000000000001 x21 = 0x000000000000000b x22 = 0x0000005560511510 x23 = 0x0000007fcfdcb918
x24 = 0x0000007fbbdb1b50 x25 = 0x0000000000000000 x26 = 0x0000007fbbdb2000 x27 = 0x000000556053f858
x28 = 0x0000000000000000 fp = 0x0000007fcfdcb700 lr = 0x0000007fbbbc584c sp = 0x0000007fcfdcb700
UndefinedBehaviorSanitizer can not provide additional info.
SUMMARY: UndefinedBehaviorSanitizer: SEGV (/lib64/libc.so.6+0x82860)
==99==ABORTING
```
Commit: fad17b43dbc09ac7e0a95535459845f72c2b739a
https://github.com/llvm/llvm-project/commit/fad17b43dbc09ac7e0a95535459845f72c2b739a
Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Lex/PPMacroExpansion.cpp
Log Message:
-----------
[clang] replaced the usage of `asctime` with `std::put_time` (#99075)
In `clang/lib/Lex/PPMacroExpansion.cpp`, replaced the usage of the
obsolete `asctime` function with `std::put_time` for generating
timestamp strings.
Fixes: https://github.com/llvm/llvm-project/issues/98724
Commit: d09fc8f0b7875a4dadb50aae5f47788124d6b526
https://github.com/llvm/llvm-project/commit/d09fc8f0b7875a4dadb50aae5f47788124d6b526
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
Log Message:
-----------
[compiler-rt][builtins] Fix `-Werror` build problem (#100312)
GCC-14.1.1 emit an error due to uninitialized variables
x86.c:303:17: error: ‘EAX’ may be used uninitialized
[-Werror=maybe-uninitialized]
x86.c:970:35: error: ‘MaxLevel’ may be used uninitialized
[-Werror=maybe-uninitialized]
x86.c:987:48: error: ‘MaxExtLevel’ may be used uninitialized
[-Werror=maybe-uninitialized]
It doesn't handle properly that these variables initialized indirectly
in functions that takes pointers to them
Commit: c34d673b02ead039acd107f096c1f32c16b61e07
https://github.com/llvm/llvm-project/commit/c34d673b02ead039acd107f096c1f32c16b61e07
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/test/asan/Unit/lit.site.cfg.py.in
Log Message:
-----------
[asan][cmake][test] Fix finding dynamic asan runtime lib (#100083)
In a `runtimes` build on Solaris/amd64, there are two failues:
```
AddressSanitizer-Unit :: ./Asan-i386-calls-Dynamic-Test/failed_to_discover_tests_from_gtest
AddressSanitizer-Unit :: ./Asan-i386-inline-Dynamic-Test/failed_to_discover_tests_from_gtest
```
This happens when `lit` enumerates the tests with `--gtest_list_tests
--gtest_filter=-*DISABLED_*`. The error is twofold:
- The `LD_LIBRARY_PATH*` variables point at the 64-bit directory
(`lib/clang/19/lib/x86_64-pc-solaris2.11`) for a 32-bit test:
```
ld.so.1: Asan-i386-calls-Dynamic-Test: fatal:
/var/llvm/local-amd64-release-stage2-A-flang-clang18-runtimes/tools/clang/stage2-bins/./lib/../lib/clang/19/lib/x86_64-pc-solaris2.11/libclang_rt.asan.so:
wrong ELF class: ELFCLASS64
```
- While the tests are linked with `-Wl,-rpath`, that path always is the
64-bit directory again.
Accordingly, the fix consists of two parts:
- The code in `compiler-rt/test/asan/Unit/lit.site.cfg.py.in` to adjust
the `LD_LIBRARY_PATH*` variables is guarded by a `config.target_arch !=
config.host_arch` condition. This is wrong in two ways:
- The adjustment is always needed independent of the host arch. This is
what `compiler-rt/test/lit.common.cfg.py` already does.
- Besides, `config.host_arch` is ultimately set from
`CMAKE_HOST_SYSTEM_PROCESSOR`. On Linux/x86_64, this is `x86_64` (`uname
-m`) while on Solaris/amd64 it's `i386` (`uname -p`), explaining why the
transformation is skipped on Solaris, but not on Linux.
- Besides, `RPATH` needs to be set to the correct subdirectory, so
instead of using the default arch in `compiler-rt/CMakeLists.txt`, this
patch moves the code to a function which takes the test's arch into
account.
Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
Commit: 3993a47bb58f7b6da9940d084e62e54a821e81fc
https://github.com/llvm/llvm-project/commit/3993a47bb58f7b6da9940d084e62e54a821e81fc
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/debug-options.c
M clang/test/Driver/lto-jobs.c
M clang/test/Driver/ps4-linker.c
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
A llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.test
M llvm/test/DebugInfo/debuglineinfo-path.ll
Log Message:
-----------
[PS4/PS5][Driver][DWARF] Always emit .debug_aranges for SCE tuning (#100160)
Some of SIE's post-mortem analysis infrastructure currently makes use of
.debug_aranges, so we'd like to ensure the section's presence in
PlayStation binaries. The simplest way to do this is to force emission
when the debugger tuning is set to SCE (which is in turn typically
initialized from the target triple). This also simplifies the driver.
llvm/test/DebugInfo/debuglineinfo-path.ll has been marked as UNSUPPORTED
on PlayStation. When aranges are emitted, the DWARF in the test case is
such that relocations need to be applied to the aranges section in order
for symbolization to work. An alternative approach would be to implement
the application of relocations in DWARFDebugArangeSet. While experiments
show that this can be made to work with a modest patch, the test cases
would be rather contrived. Since I expect the only utility for such a
change would be to make this test case pass for PlayStation targets, and
few - if any - outside of PlayStation care about aranges, UNSUPPORTED
would seem to be a more practical option.
This was originally commited as 22eb290a96 (#99629) and later reverted
at 84658fb82b (#99711) due to test failures on SIE built bots. These
failures shouldn't recur due to 3b24e5d450 (#99897) and the
aforementioned change to debuglineinfo-path.ll.
SIE tracker: TOOLCHAIN-16951
Commit: ddf5725ef180692b60962ae56e352a7af6fc5919
https://github.com/llvm/llvm-project/commit/ddf5725ef180692b60962ae56e352a7af6fc5919
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/nsan/nsan.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/Instrumentation/NumericalStabilitySanitizer/memory.ll
Log Message:
-----------
[nsan] Emit calls to optimized functions (#98900)
As previously noted in nsan.cpp we can implement
optimized variants of `__nsan_copy_values` and
`__nsan_set_value_unknown` if a memory operation
size is known.
Now the instrumentation creates calls to optimized functions if there is
4, 8 or 16-byte memory operation like
`memset(X, value, 4/8/16)` or `memcpy(dst, src, 4/8/16)`
nsan.cpp provides definitions of the optimized functions.
Commit: a3de21cac1fb8f1dd98cfe1d1443e2d3f0a97351
https://github.com/llvm/llvm-project/commit/a3de21cac1fb8f1dd98cfe1d1443e2d3f0a97351
Author: Sam Parker <sam.parker at arm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/WebAssembly/vector-reduce.ll
Log Message:
-----------
[WebAssembly] Ofast pmin/pmax pattern matchers (#100107)
With fast-math, the ordered setcc nodes are converted to setcc nodes
which do not care about NaNs, so add patterns that use setlt, setle,
setgt and setge.
Commit: 1ead51a86c6c746a1b9948ca1ee142df223ffebd
https://github.com/llvm/llvm-project/commit/1ead51a86c6c746a1b9948ca1ee142df223ffebd
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/test/Fir/abstract-results.fir
Log Message:
-----------
[flang] fix C_PTR function result lowering (#100082)
Functions returning C_PTR were lowered to function returning intptr (i64
on 64bit arch). This caused conflicts when these functions were defined
as returning !fir.ref<none>/llvm.ptr in other compiler generated
contexts (e.g., malloc).
Lower them to return !fir.ref<none>.
This should deal with https://github.com/llvm/llvm-project/issues/97325
and https://github.com/llvm/llvm-project/issues/98644.
Commit: 9a258664024d12a06ba8eb9344e270a9bb5f5d87
https://github.com/llvm/llvm-project/commit/9a258664024d12a06ba8eb9344e270a9bb5f5d87
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MIRPrinter.h
M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineModuleSlotTracker.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
M llvm/unittests/MIR/MachineMetadata.cpp
Log Message:
-----------
CodeGen: Avoid using MachineFunction::getMMI in MachineModuleSlotTracker (#100310)
Commit: ba8126b6fef79bd344a247f6291aaec7b67bdff0
https://github.com/llvm/llvm-project/commit/ba8126b6fef79bd344a247f6291aaec7b67bdff0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
Log Message:
-----------
[LV] Mark dead instructions in loop as free.
Update collectValuesToIgnore to also ignore dead instructions in the
loop. Such instructions will be removed by VPlan-based DCE and won't be
considered by the VPlan-based cost model.
This closes a gap between the legacy and VPlan-based cost model. In
practice with the default pipelines, there shouldn't be any dead
instructions in loops reaching LoopVectorize, but it is easy to generate
such cases by hand or automatically via fuzzers.
Fixes https://github.com/llvm/llvm-project/issues/99701.
Commit: eff6250494b4bc7feb0199912245e5bacad6f984
https://github.com/llvm/llvm-project/commit/eff6250494b4bc7feb0199912245e5bacad6f984
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
Log Message:
-----------
M68k: Remove hasDebugInfo check
Follow up to a03935b9841c4e30b27dd9399e0b93191ad443f3
Commit: 666e3326fedfb6a033494c36c36aa95c4124d642
https://github.com/llvm/llvm-project/commit/666e3326fedfb6a033494c36c36aa95c4124d642
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/AST/ast-dump-ptrauth-json.cpp
M clang/test/CodeGenCXX/mangle-fail.cpp
M clang/test/Sema/ptrauth-intrinsics-macro.c
A clang/test/SemaCXX/ptrauth-type-discriminator.cpp
Log Message:
-----------
[PAC] Define __builtin_ptrauth_type_discriminator (#100204)
The builtin computes the discriminator for a type, which can be used to
sign/authenticate function pointers and member function pointers.
If the type passed to the builtin is a C++ member function pointer type,
the result is the discriminator used to signed member function pointers
of that type. If the type is a function, function pointer, or function
reference type, the result is the discriminator used to sign functions
of that type. It is ill-formed to use this builtin with any other type.
A call to this function is an integer constant expression.
Co-Authored-By: John McCall rjmccall at apple.com
Commit: 6a1b119035bd329c54f6b5438e6989e49dcb0adb
https://github.com/llvm/llvm-project/commit/6a1b119035bd329c54f6b5438e6989e49dcb0adb
Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
Log Message:
-----------
[AMDGPU] Add intrinsics for atomic struct buffer loads (#100140)
Mark these intrinsics as atomic loads within LLVM to prevent hoisting
out of loops in cases where
the load is considered invariant.
Similar to https://github.com/llvm/llvm-project/pull/97707, but for
struct buffer loads.
Commit: 7fad04e94b7b594389111ae7eca0883ef18dc90b
https://github.com/llvm/llvm-project/commit/7fad04e94b7b594389111ae7eca0883ef18dc90b
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
Log Message:
-----------
[LSR] Fix matching vscale immediates (#100080)
Somewhat confusingly a `SCEVMulExpr` is a `SCEVNAryExpr`, so can have
> 2 operands. Previously, the vscale immediate matching did not check
the number of operands of the `SCEVMulExpr`, so would ignore any
operands after the first two.
This led to incorrect codegen (and results) for ArmSME in IREE
(https://github.com/iree-org/iree), which sometimes addresses things
that are a `vscale * vscale` multiple away. The test added with this
change shows an example reduced from IREE. The second write should
be offset from the first `16 * vscale * vscale` (* 4 bytes), however,
previously LSR dropped the second vscale and instead offset the write by
`#4, mul vl`, which is an offset of `16 * vscale` (* 4 bytes).
Commit: 3cb5604d2c73b56f5e3ee48832591cab3d754b1d
https://github.com/llvm/llvm-project/commit/3cb5604d2c73b56f5e3ee48832591cab3d754b1d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
MachineOutliner: Use PM to query MachineModuleInfo (#99688)
Avoid getting this from the MachineFunction
Commit: cd82fee3918c4244777310cb97cd02e1ddcbfcf0
https://github.com/llvm/llvm-project/commit/cd82fee3918c4244777310cb97cd02e1ddcbfcf0
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
Log Message:
-----------
[nsan] Fix `Wstring-conversion` error (#100328)
Fix error: implicit conversion turns string literal into bool: 'const
char[46]' to 'bool' [-Werror,-Wstring-conversion]
Commit: 71a848632e2fbef3f2dc97c2dae845ddca0ec47e
https://github.com/llvm/llvm-project/commit/71a848632e2fbef3f2dc97c2dae845ddca0ec47e
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp
Log Message:
-----------
[libcxx][test] Update picolib xfails (#99631)
clang_modules_include.gen.py works now, and I added some background to
classic_table.pass.cpp.
Opened https://github.com/picolibc/picolibc/issues/778 to see if that
one is possible to fix.
Commit: f0bd705c9b6bd59496b44934a893a5b74085a376
https://github.com/llvm/llvm-project/commit/f0bd705c9b6bd59496b44934a893a5b74085a376
Author: John Brawn <john.brawn at arm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
A llvm/test/CodeGen/ARM/block-order.mir
Log Message:
-----------
[CodeGen] Restore MachineBlockPlacement block ordering (#99351)
PR #91843 changed the algorithm used to find the next unplaced block so
that it iterates through the blocks in BlockFilter instead of iterating
through the blocks in the function and checking if they are in the block
filter. Unfortunately this sometimes results in a different block
ordering being chosen, as the order of blocks in BlockFilter comes from
the order in MachineLoopInfo, and in some cases this differs from the
order they are in the function. This can also give an end result that
has worse performance.
Fix this by making collectLoopBlockSet place blocks in its output in the
order that they are in the function.
Commit: d36edf8146cfea9f0407e2fb26283297eb6a6ac4
https://github.com/llvm/llvm-project/commit/d36edf8146cfea9f0407e2fb26283297eb6a6ac4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Bail out on value dependent variable initializers
Commit: aa53f0d6fd3ec9b4cec9dd14d4c1d1a6c4d7838c
https://github.com/llvm/llvm-project/commit/aa53f0d6fd3ec9b4cec9dd14d4c1d1a6c4d7838c
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/AST/ASTContext.cpp
Log Message:
-----------
[ASTContext] Make the end of the switch case unreachable in `encodeTypeForFunctionPointerAuth` (#99763)
This prevent the warning from compiler.
Commit: cba63c0f92d14fac238c52e2b60ae81e530acd53
https://github.com/llvm/llvm-project/commit/cba63c0f92d14fac238c52e2b60ae81e530acd53
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
Log Message:
-----------
[MLIR][OpenMP] Keep -verify-openmp-ops output as dependency (#99638)
Currently, the `mlir-tblgen -verify-openmp-ops` pseudo-backend, which
only performs an OpenMP dialect-specific set of checks and produces no
output, is prevented from being added as a dependency to the
`MLIROpenMPOpsIncGen` tablegen target.
However, a consequence of this is that it is not triggered with every
modification of the OpenMPOps.td file it's intended to check, although
it should. This patch fixes the issue by letting the empty output file
to be added to the `TABLEGEN_OUTPUT` CMake variable used by the
`add_public_tablegen_target` command below to set up dependencies.
Commit: 05e95067eeaaf4bac820d10abe146db49925a195
https://github.com/llvm/llvm-project/commit/05e95067eeaaf4bac820d10abe146db49925a195
Author: Luke Lau <luke at igalia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
R llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
A llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
Log Message:
-----------
[RISCV] Update combine-vmv.ll to have more foldable cases. NFC
A lot of cases have differing AVLs which aren't foldable, update them so the peephole triggers on them and add explicit cases for non-foldable AVLs.
Also rename it to vmv.v.v-peephole.ll since it's not actually a DAG combine.
And remove a TODO, it's correct to fold if the two passthrus are the same.
Commit: 893a303962608469ec5bd01fe44e82c935152e9c
https://github.com/llvm/llvm-project/commit/893a303962608469ec5bd01fe44e82c935152e9c
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
M clang/test/Analysis/MismatchedDeallocator-checker-test.mm
M clang/test/Analysis/NewDelete-intersections.mm
M clang/test/Analysis/free.c
M clang/test/Analysis/free.cpp
M clang/test/Analysis/getline-alloc.c
M clang/test/Analysis/kmalloc-linux.c
M clang/test/Analysis/malloc-fnptr-plist.c
M clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/plist-macros.cpp
M clang/test/Analysis/weak-functions.c
M clang/test/Sema/attr-ownership.c
Log Message:
-----------
[clang][analyzer] Support `ownership_{returns,takes}` attributes (#98941)
Add support for checking mismatched ownership_returns/ownership_takes attributes.
Closes #76861
Commit: 1031335f2ee1879737576fde3a3425ce0046e773
https://github.com/llvm/llvm-project/commit/1031335f2ee1879737576fde3a3425ce0046e773
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libcxx/include/__math/hypot.h
M libcxx/include/cmath
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/support/fp_compare.h
Log Message:
-----------
Revert "[libc++][math] Fix undue overflowing of `std::hypot(x,y,z)` (#93350)"
This reverts commit 9628777479a970db5d0c2d0b456dac6633864760.
More details in https://github.com/llvm/llvm-project/pull/93350, but
this broke the PowerPC sanitizer bots.
Commit: 2ce865d4905970c07477a9c4e37159664a785c81
https://github.com/llvm/llvm-project/commit/2ce865d4905970c07477a9c4e37159664a785c81
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Log Message:
-----------
ARM: Avoid using MachineFunction::getMMI
Commit: 68a0d0c76223736351fd7c452bca3ba9d80ca342
https://github.com/llvm/llvm-project/commit/68a0d0c76223736351fd7c452bca3ba9d80ca342
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
Log Message:
-----------
[flang][OpenMP] Handle common blocks in delayed privatization (#100317)
Adds proper mapping of common block elements to block arguments in
parallel regions when delayed privatization is enabled.
Commit: a5bc549c5058cb75d5dab44422a055ab06580766
https://github.com/llvm/llvm-project/commit/a5bc549c5058cb75d5dab44422a055ab06580766
Author: Nico Weber <thakis at chromium.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] port 73ac9536268f
Commit: 559be8e2b55afbf6736fed646542fb25793f0f7e
https://github.com/llvm/llvm-project/commit/559be8e2b55afbf6736fed646542fb25793f0f7e
Author: DianQK <dianqk at dianqk.net>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
Log Message:
-----------
Reapply "[FunctionAttrs] Determine underlying object by `getUnderlyingObjectAggressive` (#100102)"
Added handling for `AllocaInst`.
This reverts commit 1ee686a55aa6365eff39bbd1dc2059b16be6c2f1.
Commit: 59eae919c938f890e9b9b4be8a3fa3cb1b11ed89
https://github.com/llvm/llvm-project/commit/59eae919c938f890e9b9b4be8a3fa3cb1b11ed89
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/InstCombine/pr100298.ll
Log Message:
-----------
[ValueTracking] Don't use CondContext in dataflow analysis of phi nodes (#100316)
See the following case:
```
define i16 @pr100298() {
entry:
br label %for.inc
for.inc:
%indvar = phi i32 [ -15, %entry ], [ %mask, %for.inc ]
%add = add nsw i32 %indvar, 9
%mask = and i32 %add, 65535
%cmp1 = icmp ugt i32 %mask, 5
br i1 %cmp1, label %for.inc, label %for.end
for.end:
%conv = trunc i32 %add to i16
%cmp2 = icmp ugt i32 %mask, 3
%shl = shl nuw i16 %conv, 14
%res = select i1 %cmp2, i16 %conv, i16 %shl
ret i16 %res
}
```
When computing knownbits of `%shl` with `%cmp2=false`, we cannot use
this condition in the analysis of `%mask (%for.inc -> %for.inc)`.
Fixes https://github.com/llvm/llvm-project/issues/100298.
Commit: c1c6ed83e9ac13c511961e5f5791034a63168e7e
https://github.com/llvm/llvm-project/commit/c1c6ed83e9ac13c511961e5f5791034a63168e7e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/docs/gpu/building.rst
M libc/docs/gpu/using.rst
M libc/lib/CMakeLists.txt
Log Message:
-----------
[libc] Remove 'packaged' GPU build support (#100208)
Summary:
Previously, the GPU built the `libc` in a fat binary version that was
used to pass this to the link job in offloading languages like CUDA or
OpenMP. This was mostly required because NVIDIA couldn't consume the
standard static library version. Recent patches have now created the
`clang-nvlink-wrapper` which lets us do that. Now, the C library is just
included implicitly by the toolchain (or passed with -Xoffload-linker
-lc).
This code can be fully removed, which will heavily simplify the build
(and removed some bugs and garbage files I've encoutnered).
Commit: 99c5140bb2b025cb91029792941e819bb30b39a0
https://github.com/llvm/llvm-project/commit/99c5140bb2b025cb91029792941e819bb30b39a0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[gn build] Port 2ca300f914b1
Commit: 48e1eb4e6b0721488b0d07efab82bf12720186cb
https://github.com/llvm/llvm-project/commit/48e1eb4e6b0721488b0d07efab82bf12720186cb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port ddb75ca6062c
Commit: e6c20e11e7bcd8d6916317888f95d98c13fdc21d
https://github.com/llvm/llvm-project/commit/e6c20e11e7bcd8d6916317888f95d98c13fdc21d
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
R llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.cpp
R llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.h
M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Move AMDGPUAsanInstrumentation outside of utils (#100323)
#98863 merged AMDGPUAsanInstrumentation module which missed
TransformUtils to be linked to AMDGPUUtils.
This PR moves AMDGPUAsanInstrumentation files outside utils folder and
adds them to AMDGPUCodegen lib.
Commit: e1052faaf81b4cb3d1fe2f32aa09d2dbcfabee23
https://github.com/llvm/llvm-project/commit/e1052faaf81b4cb3d1fe2f32aa09d2dbcfabee23
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx10_err_pos.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopk.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
Log Message:
-----------
[AMDGPU][MC][NFC] Drop remaining -wavesize32/64 attributes in tests. (#100339)
Those are not needed now that
<https://github.com/llvm/llvm-project/pull/98400> is submitted.
Commit: 445bb35f954ecd5c60ced71523f6b32fc306d557
https://github.com/llvm/llvm-project/commit/445bb35f954ecd5c60ced71523f6b32fc306d557
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/docs/gpu/support.rst
Log Message:
-----------
[libc] Enable 'sscanf' on the GPU (#100211)
Summary:
We can enable the `sscanf` function on the GPU now.
Commit: 404071b059818ba51b6a832e5e09a93a4a8b579e
https://github.com/llvm/llvm-project/commit/404071b059818ba51b6a832e5e09a93a4a8b579e
Author: Matt Davis <mattd at nvidia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/bitcast-vector-extract.ll
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
M llvm/test/CodeGen/AMDGPU/mem-builtins.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
Log Message:
-----------
[SelectionDAG] Preserve volatile undef stores. (#99918)
This patch preserves `undef` SDNodes that are `volatile` qualified.
Previously, these nodes would be discarded. The motivation behind this
change is to adhere to the
[LangRef](https://llvm.org/docs/LangRef.html#volatile-memory-accesses),
even though that doc is mostly in terms of LLVM-IR, it seems reasonable
to imply that the volatile constraints also imply to SDNodes.
> Certain memory accesses, such as
[load](https://llvm.org/docs/LangRef.html#i-load)’s,
[store](https://llvm.org/docs/LangRef.html#i-store)’s, and
[llvm.memcpy](https://llvm.org/docs/LangRef.html#int-memcpy)’s may be
marked volatile. The optimizers must not change the number of volatile
operations or change their order of execution relative to other volatile
operations. The optimizers may change the order of volatile operations
relative to non-volatile operations. This is not Java’s “volatile” and
has no cross-thread synchronization behavior.
Source: https://llvm.org/docs/LangRef.html#volatile-memory-accesses
Commit: 929b474991ce643cff01eeeec830b29735460db4
https://github.com/llvm/llvm-project/commit/929b474991ce643cff01eeeec830b29735460db4
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
Log Message:
-----------
[libcxx][test] Explain picolib unsupported in sort.pass.cpp
This is not a hidden bug, it's just a very slow test under emulation.
Commit: 991460946886891de939203cc6a228b693efe406
https://github.com/llvm/llvm-project/commit/991460946886891de939203cc6a228b693efe406
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/docs/gpu/support.rst
Log Message:
-----------
Revert "[libc] Enable 'sscanf' on the GPU (#100211)"
Summary:
This fails tests in some situations, revert until it can be fixed.
This reverts commit 445bb35f954ecd5c60ced71523f6b32fc306d557.
Commit: 550b83d658755664a7f0f93b36242e885743a91b
https://github.com/llvm/llvm-project/commit/550b83d658755664a7f0f93b36242e885743a91b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/docs/gpu/building.rst
M libc/docs/gpu/using.rst
M libc/lib/CMakeLists.txt
Log Message:
-----------
Revert "[libc] Remove 'packaged' GPU build support (#100208)"
Summary:
I forgot that the OpenMP tests still look for this, reverting for now
until I can make a fix.
This reverts commit c1c6ed83e9ac13c511961e5f5791034a63168e7e.
Commit: 4bb3a1e16f3a854d05bc0b8c5b6f8f78effb1d93
https://github.com/llvm/llvm-project/commit/4bb3a1e16f3a854d05bc0b8c5b6f8f78effb1d93
Author: Chris Copeland <chris at chrisnc.net>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Headers/stdatomic.h
M clang/test/Headers/stdatomic.c
Log Message:
-----------
[clang] Define `ATOMIC_FLAG_INIT` correctly for C++. (#97534)
Commit: 20957d20913be92f9d88ea5ce862d898a386dad2
https://github.com/llvm/llvm-project/commit/20957d20913be92f9d88ea5ce862d898a386dad2
Author: Qiu Chaofan <qiucofan at cn.ibm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
A clang/test/CodeGen/PowerPC/save-reg-params.c
A clang/test/Driver/aix-save-reg-params.c
M clang/test/Driver/ppc-unsupported.c
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/save-reg-params.ll
Log Message:
-----------
[AIX] Add -msave-reg-params to save arguments to stack (#97524)
In PowerPC ABI, a few initial arguments are passed through registers,
but their places in parameter save area are reserved, arguments passed
by memory goes after the reserved location.
For debugging purpose, we may want to save copy of the pass-by-reg
arguments into correct places on stack. The new option achieves by
adding new function level attribute and make argument lowering part
aware of it.
Commit: 558a8953680fd03bdd49a6708f3ea82d82328769
https://github.com/llvm/llvm-project/commit/558a8953680fd03bdd49a6708f3ea82d82328769
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[compiler-rt] Move `endif` to correct place (#100342)
A couple of previous commits leaded to wrong endif placement inside the
source that caused build problem in
https://lab.llvm.org/buildbot/#/builders/13/builds/1020
See #99613 #99049
Commit: 2bb18e27b62c5b92fb704d4af373eca99c95e11b
https://github.com/llvm/llvm-project/commit/2bb18e27b62c5b92fb704d4af373eca99c95e11b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port e6c20e11e7bc
Commit: b9995a14f5dee5620163e83468d3be4fcd3e67d0
https://github.com/llvm/llvm-project/commit/b9995a14f5dee5620163e83468d3be4fcd3e67d0
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
A llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir
Log Message:
-----------
[MachineLoopInfo] Fix assertion failure on undef use operands (#100137)
Fixes #100115
Commit: 6da6772bf0a33131aa8540c9d4f60d5db75c32b5
https://github.com/llvm/llvm-project/commit/6da6772bf0a33131aa8540c9d4f60d5db75c32b5
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[AArch64][SME] Rewrite __arm_get_current_vg to preserve required registers (#100143)
The documentation for the __arm_get_current_vg support routine specifies
that the following registers are call-preserved:
- X1-X15, X19-X29 and SP
- Z0-Z31
- P0-P15
This patch rewrites the implementation of this routine in compiler-rt,
as the current version does not guarantee that these registers will be
preserved.
Commit: 07688d13414d08a1bea3cecf6607f93e4334222e
https://github.com/llvm/llvm-project/commit/07688d13414d08a1bea3cecf6607f93e4334222e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
Revert "[LV] Add option to still enable the legacy cost model. (#99536)"
This reverts commit 9ba524427321b931bad156860755adf420aeec6a.
Remove the recently added temporary option vectorize-use-legacy-cost-model
as discussed on the PR adding it, now that we branched for 19.x.
Commit: 0b36144aba8d8d439bdc297008eb3bd43a199fca
https://github.com/llvm/llvm-project/commit/0b36144aba8d8d439bdc297008eb3bd43a199fca
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/var-permute-256.ll
Log Message:
-----------
[X86] Add 'clamp out of range index' variable shuffles test coverage from #96754
Commit: de8c4bef3329ce0045b8167cdb96d53b2a1509df
https://github.com/llvm/llvm-project/commit/de8c4bef3329ce0045b8167cdb96d53b2a1509df
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/test/tsan/debug_alloc_stack.cpp
Log Message:
-----------
[tsan] Include unistd.h to declare gettid()
Try to fix https://lab.llvm.org/buildbot/#/builders/176/builds/14400.
Commit: 1f5807eb359fb172575e18bb063fd85e4dc836e9
https://github.com/llvm/llvm-project/commit/1f5807eb359fb172575e18bb063fd85e4dc836e9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[mlir][vector][nfc] Simplify `in_bounds` attr update (#100334)
Since the `in_bounds` attribute is mandatory, there's no need for logic
like this (`readOp.getInBounds()` is guaranteed to return a non-empty
ArrayRef):
```cpp
ArrayAttr inBoundsAttr = readOp.getInBounds()
? rewriter.getArrayAttr( readOp.getInBoundsAttr().getValue().drop_back(dimsToDrop))
: ArrayAttr();
```
Instead, we can do this:
```cpp
ArrayAttr inBoundsAttr = rewriter.getArrayAttr(
readOp.getInBoundsAttr().getValue().drop_back(dimsToDrop));
```
This is a small follow-up for #97049 - this change should've been
included there.
Commit: 5b15d9c441810121c23f9f421bbb007fd4c448e8
https://github.com/llvm/llvm-project/commit/5b15d9c441810121c23f9f421bbb007fd4c448e8
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[clang][OpenMP] Propoagate debug location to OMPIRBuilder reduction codegen (#100358)
This patch propagates the debug location from Clang to the
OpenMPIRBuilder.
Fixes https://github.com/llvm/llvm-project/issues/97458
Commit: 557a7b8ae319527110ddaac93c896b2c0e6c824c
https://github.com/llvm/llvm-project/commit/557a7b8ae319527110ddaac93c896b2c0e6c824c
Author: OverMighty <its.overmighty at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/test/src/math/smoke/TotalOrderMagTest.h
M libc/test/src/math/smoke/TotalOrderTest.h
Log Message:
-----------
[libc][math][c23] Fix totalorder and totalordermag smoke tests (#100354)
FPBits::signaling_nan() defaults to setting the MSB of the payload to 1.
The tests also used signaling NaNs with a payload of 0x123. With
float16, the 1 in 0x123 aligns to the MSB of the payload, therefore
0x123 is greater than the default payload. However, that is not the case
with more precise floating-point types.
Commit: 1feef92a775daf8818faf766e0b1332421b48c5f
https://github.com/llvm/llvm-project/commit/1feef92a775daf8818faf766e0b1332421b48c5f
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
Fix lifetimebound for field access (#100197)
Fixes: https://github.com/llvm/llvm-project/issues/81589
There is no way to switch this off without `-Wno-dangling`.
Commit: 83ea7ce3a132001dfd7665c7eb50ef44cfd79802
https://github.com/llvm/llvm-project/commit/83ea7ce3a132001dfd7665c7eb50ef44cfd79802
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/Exceptions.cpp
Log Message:
-----------
[BOLT][NFC] Track fragment relationships using EquivalenceClasses
Three-way splitting can create references between split fragments (warm
to cold or vice versa) that are not handled by
`isChildOf/isParentOf/isChildOrParentOf`. Generalize fragment
relationships to allow checking if two functions belong to one group,
potentially in presence of ICF which can join multiple groups.
Test Plan: NFC for existing tests
Reviewers: maksfb, ayermolo, rafaelauler, dcci
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/99979
Commit: 9d2dd009b60793f562ba1b00e3d02773f060e4b6
https://github.com/llvm/llvm-project/commit/9d2dd009b60793f562ba1b00e3d02773f060e4b6
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
A bolt/test/X86/three-way-split-jt.s
Log Message:
-----------
[BOLT] Support more than two jump table parents
Multi-way splitting can cause multiple fragments to access the same jump
table. Relax the assumption that a jump table can only have up to two
parents.
Test Plan: added bolt/test/X86/three-way-split-jt.s
Reviewers: ayermolo, dcci, rafaelauler, maksfb
Reviewed By: rafaelauler, dcci
Pull Request: https://github.com/llvm/llvm-project/pull/99988
Commit: c4b66bf4d065d3bbc2e2fac8512a6df8e013c704
https://github.com/llvm/llvm-project/commit/c4b66bf4d065d3bbc2e2fac8512a6df8e013c704
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/builtins/README.txt
M compiler-rt/lib/builtins/trampoline_setup.c
M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/trampoline.ll
Log Message:
-----------
[AArch64] Implement INIT/ADJUST_TRAMPOLINE (#70267)
Add support for llvm.init.trampoline and llvm.adjust.trampoline
intrinsics for AArch64.
Fixes https://github.com/llvm/llvm-project/issues/65573
Fixes https://github.com/llvm/llvm-project/issues/76927
Fixes https://github.com/llvm/llvm-project/issues/83555
Updates https://github.com/llvm/llvm-project/pull/66157
Commit: 6c23f974d6fe43d8e5c0adbc4a4f89fbabc9d9ea
https://github.com/llvm/llvm-project/commit/6c23f974d6fe43d8e5c0adbc4a4f89fbabc9d9ea
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc] Enable bind test for riscv (#100132)
The bind test was failing in the rv32 build bot because of how the build bot was set to run the tests: we were using shared directories between the host and qemu and the bind function was trying to create a file in this directory, thus creating it in the host machine.
The OS was returning "-1 ENXIO (No such device or address)", so we changed the rv32 buildbot to copy the binaries to qemu and dropped the shared directories feature.
Commit: 4d19676de417fa4dbfac07fc4fe0c30c232b3e68
https://github.com/llvm/llvm-project/commit/4d19676de417fa4dbfac07fc4fe0c30c232b3e68
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/test/X86/pseudoprobe-decoding-inline.test
Log Message:
-----------
[BOLT] Add profile-use-pseudo-probes option
Move pseudo probe profile generation under --profile-use-pseudo-probes
option. Note that updating pseudo probes is independent from this flag.
Test Plan: updated pseudoprobe-decoding-inline.test
Reviewers: maksfb, rafaelauler, ayermolo, dcci, WenleiHe
Reviewed By: WenleiHe
Pull Request: https://github.com/llvm/llvm-project/pull/100299
Commit: f2b6f0b5868d052ef03431405b1053be18a36d75
https://github.com/llvm/llvm-project/commit/f2b6f0b5868d052ef03431405b1053be18a36d75
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/test/tsan/debug_alloc_stack.cpp
Log Message:
-----------
Revert "[tsan] Enable test on linux (#99659)"
This reverts commit 52ebd8d0577e07be9c25b56656d1974a84c40bf7.
Missing declaration for gettid() on the buildbot
(https://lab.llvm.org/buildbot/#/builders/72/builds/1592) and unfortunately
a fix-forward attempt for unistd.h didn't work
(de8c4bef3329ce0045b8167cdb96d53b2a1509df). Reverting for now.
Commit: 374bbc93bcb34268f175405a71806c4580495c6d
https://github.com/llvm/llvm-project/commit/374bbc93bcb34268f175405a71806c4580495c6d
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/test/tsan/debug_alloc_stack.cpp
Log Message:
-----------
Revert "[tsan] Include unistd.h to declare gettid()"
This reverts commit de8c4bef3329ce0045b8167cdb96d53b2a1509df.
Unfortunately the fix-forward didn't work. Reverting both and will have
Vitaly re-submit.
Commit: f83950ab8dfda1da882a6ef7b508639df251621a
https://github.com/llvm/llvm-project/commit/f83950ab8dfda1da882a6ef7b508639df251621a
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
M mlir/test/Conversion/ConvertToSPIRV/index.mlir
M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
A mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
M mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVFuncSignatureConversion.cpp
A mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVVectorUnrolling.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][spirv] Implement vector unrolling for `convert-to-spirv` pass (#100138)
### Description
This PR builds on #99872. It implements a minimal version of function
body vector unrolling to convert vector types into 1D and with a size
supported by SPIR-V (2, 3 or 4 depending on the original dimension). The
ops that are currently supported include those with elementwise traits
(e.g. `arith.addi`), `vector.reduction` and `vector.transpose`. This PR
also includes new LIT tests that only check for vector unrolling.
### Future Plans
- Support more ops
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: e7a3aeb1f86b8d45815b834e4e20b1fc7e71705d
https://github.com/llvm/llvm-project/commit/e7a3aeb1f86b8d45815b834e4e20b1fc7e71705d
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
Revert "[compiler-rt] Move `endif` to correct place (#100342)"
This reverts commit 558a8953680fd03bdd49a6708f3ea82d82328769.
This was a fix-forward for
https://github.com/llvm/llvm-project/pull/99613 that unfortunately
didn't work for the Android sanitizer buildbot. More information in that
pull request.
Commit: 59e1c6cd63eb9287df6516f9a5ae564075e9c218
https://github.com/llvm/llvm-project/commit/59e1c6cd63eb9287df6516f9a5ae564075e9c218
Author: Mitch Phillips <mitchp at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
R compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
R compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp
Log Message:
-----------
Revert "[compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#99613)"
This reverts commit ef1c70d26b7e84a6f47c0c6a868b769935b2b008.
Unfortunately broke the sanitizer buildbot(s), and the fix-forward
didn't work. More details in
https://github.com/llvm/llvm-project/pull/99613
Commit: 9f08ae8d2dd1ff9ec3b033d099282dee05528413
https://github.com/llvm/llvm-project/commit/9f08ae8d2dd1ff9ec3b033d099282dee05528413
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix getting the record decl from a pointer type
Commit: fbd303ba5dd98d4513d62058bc1ad463507464ce
https://github.com/llvm/llvm-project/commit/fbd303ba5dd98d4513d62058bc1ad463507464ce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/var-permute-128.ll
Log Message:
-----------
[DAG] combineAndnp - fold ANDNP(x,PSHUFB(y,z)) -> PSHUFB(y,OR(z,x))
Based off #96754 - if we are zeroing out whole elements, then fold into the PSHUFB mask instead (if MSB is set the element is zero).
Allows us to replace the non-commutative ANDNP with a much simpler OR node.
Move this after ANDNP shuffle combining as that can do a better job of this for constant ANDNP + PSHUFB masks.
Commit: 1195df25f4df987d258e6b46c090ca3e72eccecb
https://github.com/llvm/llvm-project/commit/1195df25f4df987d258e6b46c090ca3e72eccecb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] Make the libc files always available to clang for the GPU (#100396)
Summary:
The GPU build always wants these to be exported to `clang`. These will
be neccesary for setting up tests or using the `libc` from the clang
binary. This will cover the standard 'runtimes' build. If the user is
doing a direct compilation, we will just leave it as-is and assume they
know what they're doing.
Commit: 338c35aabfbede9ba10a4f48a13e63f37d6f8c7c
https://github.com/llvm/llvm-project/commit/338c35aabfbede9ba10a4f48a13e63f37d6f8c7c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/cxx20.cpp
Log Message:
-----------
[clang][Interp] Fix calling variadic call operators
Commit: 8d8fa01a66d5051356b698ef0264a01f6aade185
https://github.com/llvm/llvm-project/commit/8d8fa01a66d5051356b698ef0264a01f6aade185
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/docs/gpu/building.rst
M libc/docs/gpu/using.rst
M libc/lib/CMakeLists.txt
M offload/test/libc/assert.c
M offload/test/lit.cfg
Log Message:
-----------
Reapply "[libc] Remove 'packaged' GPU build support (#100208)"
This reverts commit 550b83d658755664a7f0f93b36242e885743a91b.
Commit: 7d787df5b932b73aae6532d1e981152f103f9244
https://github.com/llvm/llvm-project/commit/7d787df5b932b73aae6532d1e981152f103f9244
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Clang][NFC] Simplify initialization of `OverloadCandidate` objects. (#100318)
Initialize some fields of OverloadCandidate in its constructor. The goal
here is try to fix read of uninitialized variable (which I was not able
to reproduce)
https://github.com/llvm/llvm-project/pull/93430#issuecomment-2187544278
We should certainly try to improve the construction of
`OverloadCandidate` further as it can be quite britle.
Commit: 8a77961280536b680c404a49002a00b988ca45fc
https://github.com/llvm/llvm-project/commit/8a77961280536b680c404a49002a00b988ca45fc
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/Inputs/config-1.cfg
A flang/test/Driver/Inputs/config-2.cfg
A flang/test/Driver/Inputs/config-2a.cfg
A flang/test/Driver/Inputs/config-6.cfg
A flang/test/Driver/Inputs/config/config-4.cfg
A flang/test/Driver/Inputs/config2/config-4.cfg
A flang/test/Driver/config-file.f90
Log Message:
-----------
[Flang][Driver] Enable config file options (#100343)
Config files provide a facility to invoke the compiler with a predefined
set of options. The patch only enables these options in the flang
driver. Functionality was always there.
Commit: dd82a84e0eeafb017c7220c4a9fbd0a8a407f8a9
https://github.com/llvm/llvm-project/commit/dd82a84e0eeafb017c7220c4a9fbd0a8a407f8a9
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] Fix an assertion failure introduced by #93430 (#100313)
The PR #93430 introduced an assertion that did not make any sense. and
caused a regression. The fix is to simply remove the assertion.
No changelog. the intent is to backport this fix to clang 19.
Commit: e1a3aa8c0fb0103427c45a5c861fc98aa44a4821
https://github.com/llvm/llvm-project/commit/e1a3aa8c0fb0103427c45a5c861fc98aa44a4821
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
LV/Legality: fix style after cursory reading (NFC) (#100363)
Commit: 4e28d30e335e6e075f4624ae8d5782fef6d3f1ed
https://github.com/llvm/llvm-project/commit/4e28d30e335e6e075f4624ae8d5782fef6d3f1ed
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
Log Message:
-----------
LV/Legality: update outdated comment for isInvariant (NFC) (#100366)
Commit: 0c03b4ce1081383b7649ac0f5ba3cbaffaf5bf28
https://github.com/llvm/llvm-project/commit/0c03b4ce1081383b7649ac0f5ba3cbaffaf5bf28
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] Infer sub nuw from dominating conditions (#100164)
Alive2: https://alive2.llvm.org/ce/z/g3xxnM
Commit: 5bae81ba9e6db16fac3cc0ee96b134f3f588c8f4
https://github.com/llvm/llvm-project/commit/5bae81ba9e6db16fac3cc0ee96b134f3f588c8f4
Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll
Log Message:
-----------
[CodeGen] Add an option to skip extTSP BB placement for huge functions. (#99310)
The extTSP-based basic block layout algorithm improves the performance
of the generated code, but unfortunately it has a super-linear time
complexity. This leads to extremely long compilation times for certain
relatively rare kinds of autogenerated code.
This patch adds an `-mllvm` flag to optionally restrict extTSP only to
functions smaller than a specified threshold. While commit
bcdc0477319a26fd8dcdde5ace3bdd6743599f44 added a knob to to limit the
maximum chain size, it's still possible that for certain huge functions
the number of chains is very large, leading to a quadratic behaviour in
ExtTSPImpl::mergeChainPairs.
Commit: c5abcb0521dd81bfd8b736c5d03177cc3a2d0fe3
https://github.com/llvm/llvm-project/commit/c5abcb0521dd81bfd8b736c5d03177cc3a2d0fe3
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
R llvm/test/CodeGen/X86/GlobalISel/phi.ll
A llvm/test/CodeGen/X86/isel-phi.ll
Log Message:
-----------
[X86][GlobalISel] Reorganize tests for G_PHI and support fp80 (#100047)
* Verified scalar support of G_PHI
* Added cases with i1, ptr and x86_fp80 types
* Added phi inputs variability
We don't enable tests for i686 due to lack of float/integer types in
legalizer. We don't distinguish between illegal 64 bit integer G_LOAD
and legal double load using X87. It leads to artificial G_MERGE_VALUES
of floats into a single double.
Commit: 2754c083cba1798b335947ad5e4f0d654b013904
https://github.com/llvm/llvm-project/commit/2754c083cba1798b335947ad5e4f0d654b013904
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
LAA: mark LoopInfo pointer const (NFC) (#100373)
Commit: 8c20d715c0989eb3a9e253a53ce9d25ad6e5ee10
https://github.com/llvm/llvm-project/commit/8c20d715c0989eb3a9e253a53ce9d25ad6e5ee10
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[Bazel][mlir] Fix Bazel for f83950ab8dfda1da882a6ef7b508639df251621a
Commit: af611a0a98fec65ab86af4208ca74e01541baba1
https://github.com/llvm/llvm-project/commit/af611a0a98fec65ab86af4208ca74e01541baba1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Fix `-Xoffload-linker a=b` in offloading (#100270)
Summary:
We have the `-Xoffload-linker=triple=arg` syntax that split the argument
meant only for a single toolchain. However this borke if it was an `a=b`
type argument. Make it only treat it like a triple if it's a valid
triple.
Commit: d85da4af4983fb8997865014ca5f87ad2db5e272
https://github.com/llvm/llvm-project/commit/d85da4af4983fb8997865014ca5f87ad2db5e272
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-pmadd.ll
Log Message:
-----------
[X86] canCreateUndefOrPoisonForTargetNode - PMADDWD/PMADDUBSW intrinsics don't create poison
Fix regression introduced by #84924
Commit: 073c199ae79f4bf9a89fcbf103cbdd6333c8512b
https://github.com/llvm/llvm-project/commit/073c199ae79f4bf9a89fcbf103cbdd6333c8512b
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/test/SemaCXX/decltype.cpp
A clang/test/SemaCXX/typeof.cpp
R clang/test/SemaCXX/typeof_unqual.cpp
Log Message:
-----------
[Clang][AST] Don't use canonical type when checking dependence in Type::isOverloadable (#98563)
Fixes #97646.
Commit: 046a17717d9c5b5385ecd914621b48bdd91524d0
https://github.com/llvm/llvm-project/commit/046a17717d9c5b5385ecd914621b48bdd91524d0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/docs/BuildingLibcxx.rst
Log Message:
-----------
[libc++] Improve behavior when using relative path for LIBCXX_ASSERTION_HANDLER_FILE (#100157)
Fixes #80696
Commit: 5898a7f4954e13cabc694a44e293d9040a09b9f4
https://github.com/llvm/llvm-project/commit/5898a7f4954e13cabc694a44e293d9040a09b9f4
Author: Angel Zhang <angel.zhang at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
M mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt
Log Message:
-----------
[mlir][spirv] Update dependencies for #100138 (#100397)
This PR updates CMake and Bazel dependencies for #100138.
Commit: 5a53add85a6d5be2d15eea32a3d06fec35e2c699
https://github.com/llvm/llvm-project/commit/5a53add85a6d5be2d15eea32a3d06fec35e2c699
Author: Finlay <finlay.marno at codeplay.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
Log Message:
-----------
[mlir] Add optimization attrs for gpu-to-llvmspv function declarations and calls (#99301)
Adds the attributes nounwind and willreturn to all function
declarations. Adds `memory(none)` equivalent to the id/dimension
function declarations. The function declaration attributes are copied to
the function calls.
`nounwind` is legal because there are no exception in SPIR-V. I also do
not see any reason why any of these functions would not return when used
correctly.
I'm confident that the get id/dim functions will have no externally
observable memory effects, but think the convergent functions will have
effects.
Commit: 7102592af740ed9f8b388c12dd2182039a58167d
https://github.com/llvm/llvm-project/commit/7102592af740ed9f8b388c12dd2182039a58167d
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M offload/cmake/OpenMPTesting.cmake
M offload/include/PluginManager.h
M offload/src/PluginManager.cpp
M offload/src/interface.cpp
M offload/test/lit.cfg
M offload/test/lit.site.cfg.in
A offload/test/tools/llvm-omp-device-info.c
M offload/tools/deviceinfo/CMakeLists.txt
A offload/tools/deviceinfo/llvm-offload-device-info.cpp
R offload/tools/deviceinfo/llvm-omp-device-info.cpp
Log Message:
-----------
[Offload] Repair and rename `llvm-omp-device-info` (to `-offload-`) (#100309)
The `llvm-omp-device-info` tool is very handy, but broke due to the lazy
evaluation of devices. This repairs the functionality and adds a test.
The tool is also renamed into `llvm-offload-device-info` as `-omp-` is
going away.
Commit: 83fb0643f7148499eb6ed19155ab69bfd8096ed7
https://github.com/llvm/llvm-project/commit/83fb0643f7148499eb6ed19155ab69bfd8096ed7
Author: memory-thrasher <39869500+memory-thrasher at users.noreply.github.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
A clang/test/CodeGen/ms_mangler_templatearg_opte.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
Log Message:
-----------
Adds a pseudonym to clang's windows mangler... (#97792)
…to handle template argument values that are pointers one-past-the-end
of a non-array symbol. Also improves error messages in other template
argument scenarios where clang bails.
https://github.com/llvm/llvm-project/issues/97756
I don't think I hooked up the unit test right. I'm not sure one is
really needed for what boils down to a tweaked if statement. Please
advise.
Commit: 0c274d527ae36db420c4273f83fcb6c859b28f1b
https://github.com/llvm/llvm-project/commit/0c274d527ae36db420c4273f83fcb6c859b28f1b
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll
Log Message:
-----------
[RISCV][TTI] Add coverage of odd sized vector loads and stores
Commit: cdc193459d90fad83d2eafaccfe03368a9a8a160
https://github.com/llvm/llvm-project/commit/cdc193459d90fad83d2eafaccfe03368a9a8a160
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
Update the backporting docs (#100401)
The documentation implies the special commands only work with issues,
but they also work directly from a pull request.
Commit: 8fd9624cf729dd722a170a9dfd8f725966515231
https://github.com/llvm/llvm-project/commit/8fd9624cf729dd722a170a9dfd8f725966515231
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll
Log Message:
-----------
[RISCV][CostModel] Test default lowering strategy for vector LD/ST
Remove two options from the test command line:
* -riscv-v-vector-bits-min=128 -- This has no effect as v implied zvl128b,
which provides the same minimum.
* -riscv-v-fixed-length-vector-lmul-max=1 -- This one forced the backend
to split as if LMUL>m1 were illegal. This diverges significantly from
default behavior (where all LMUL are legal). Note that we do still
have splitting test coverage after this change. Look at e.g. 32 x i64.
Commit: bb0300cf7ce54bfbb1607348c89cb0525e12076b
https://github.com/llvm/llvm-project/commit/bb0300cf7ce54bfbb1607348c89cb0525e12076b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix initializing array subobjects with This pointers
We need to select the right array element once we see the CXXThisExpr.
Commit: ea222be0d9266d9d5c100496f8c9606f213454ee
https://github.com/llvm/llvm-project/commit/ea222be0d9266d9d5c100496f8c9606f213454ee
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M lld/test/COFF/lto-cpu-string.ll
M lld/test/ELF/lto/cpu-string.ll
M lld/test/ELF/lto/mllvm.ll
M lld/test/MachO/lto-cpu-string.ll
M llvm/docs/ReleaseNotes.rst
M llvm/lib/MC/MCParser/AsmParser.cpp
A llvm/test/MC/AArch64/align-fill-byte-zero.s
A llvm/test/MC/ARM/align-fill-byte-zero.s
M llvm/test/MC/AsmParser/directive_align.s
M llvm/test/MC/COFF/align-nops.s
M llvm/test/MC/ELF/align-nops.s
M llvm/test/MC/MachO/x86_32-optimal_nop.s
A llvm/test/MC/RISCV/align-fill-byte-zero.s
M llvm/test/MC/X86/code16gcc-align.s
Log Message:
-----------
[MC] Honour alignment directive fill value for non-intel (#100136)
As reported in https://llvm.org/PR30955, `.balign` with a fill-value of 0 did
not actually align using zeroes, on non-x86 targets.
This is because the check of whether to use the code alignment routines
or whether to just use the fill value was checking whether the fill
value was equal to `TextAlignFillValue`, which has not been changed from
its default of 0 on most targets (it has been changed for x86). However,
most targets do not set the fill value because it doesn't entirely make
sense -- i.e. on AArch64 there's no reasonable byte value to use for
alignment, as instructions are word-sized and have to be well-aligned.
I think the check at the end `AsmParser::parseDirectiveAlign` is
suspicious even on x86 - if you use `.balign <align>, 0x90` in a code
section, you don't end up with a block of `0x90` repeated, you end up
with a block of NOPs of various widths. This functionality is never
tested.
The fix here is to modify the check to ignore the default text align
fill value when choosing to do code alignment or not.
Fixes #30303
Commit: 97839a8862bde89f07060ff0aa4993a868a501cd
https://github.com/llvm/llvm-project/commit/97839a8862bde89f07060ff0aa4993a868a501cd
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
Log Message:
-----------
[Driver] Clean up fp-contract handling in clang driver (#99723)
This change refactors the fp-contract handling in
RenderFloatingPointOptions in the clang driver code and fixes some
inconsistencies in the way warnings are reported for changes in the
fp-contract behavior.
Commit: 2e57e6366677390110f5382894c8afeba8da7419
https://github.com/llvm/llvm-project/commit/2e57e6366677390110f5382894c8afeba8da7419
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M openmp/runtime/src/kmp_tasking.cpp
A openmp/runtime/test/tasking/issue-94260-1.cpp
A openmp/runtime/test/tasking/issue-94260-2.c
Log Message:
-----------
[OpenMP][libomp] Fix tasking debug assert (#95823)
The debug assert is meant to check that the index is a valid which means
the runtime needs to check against the size of the array instead of the
number of threads. A free()-ed thread put back in the thread pool may
index into anywhere inside the task team's available array from 0 to
tt_max_threads potentially.
Fixes: #94260
Commit: c628dbd030ff084fe5e06315ddf09a47182e9716
https://github.com/llvm/llvm-project/commit/c628dbd030ff084fe5e06315ddf09a47182e9716
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaExprObjC.cpp
Log Message:
-----------
[Clang] Prevent null pointer dereference in designated initializer check (#97220)
This patch adds an assertion in clang::SemaObjC::BuildInstanceMessage()
to ensure getCurMethodDecl() returns a valid method declaration,
addressing a static analyzer finding.
Commit: 8d3252a8987818171878a26e4298b4b5dbf2a7e9
https://github.com/llvm/llvm-project/commit/8d3252a8987818171878a26e4298b4b5dbf2a7e9
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/__bit_reference
M libcxx/include/__iterator/bounded_iter.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/deque
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
A libcxx/test/std/containers/views/views.span/span.iterators/iterator.pass.cpp
A libcxx/test/std/strings/string.view/string.view.iterators/iterators.pass.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++][spaceship] Implements X::iterator container requirements. (#99343)
This implements the requirements for the container iterator requirements
for array, deque, vector, and `vector<bool>`.
Implements:
- LWG3352 strong_equality isn't a thing
Implements parts of:
- P1614R2 The Mothership has Landed
Fixes: https://github.com/llvm/llvm-project/issues/62486
Commit: fb1e077982e90e715058188fa667ea5dd8027a98
https://github.com/llvm/llvm-project/commit/fb1e077982e90e715058188fa667ea5dd8027a98
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/NVPTX.h
Log Message:
-----------
[NVPTX] Restore old va_list builtin type (#100438)
Summary:
This was changed to `void *` from `char *` unintentionally, put it back.
Commit: 3902710a447cd0dc39cc61f001fb023a502db499
https://github.com/llvm/llvm-project/commit/3902710a447cd0dc39cc61f001fb023a502db499
Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/fence.ll
Log Message:
-----------
[NVPTX] Support fence instruction (#99649)
Commit: f729c09c3a56ec41b558eff1a6475a8d8bd20d41
https://github.com/llvm/llvm-project/commit/f729c09c3a56ec41b558eff1a6475a8d8bd20d41
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
MC: Inline createMachObjectWriter into MCAsmBackend
We could do the same to COFF once WinCOFFObjectWriter is cleaned up
(#100303).
Commit: f719a339a89bd64900217dd06075e618ed587be9
https://github.com/llvm/llvm-project/commit/f719a339a89bd64900217dd06075e618ed587be9
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
Log Message:
-----------
Mark assert-used-only variable as [[maybe_unused]]
Seemed nicer than inlining, given the complexities of flag checking and
the multiple uses.
Commit: 0891ccc0c68c35e17562c752955788f08054bcdb
https://github.com/llvm/llvm-project/commit/0891ccc0c68c35e17562c752955788f08054bcdb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
Log Message:
-----------
[Frontend][OpenMP] Apply ompx_attribute to all allowing leaf constructs (#100370)
By default, in a compound directive, a clause will apply to the unique
leaf construct that allows it. Clauses that could apply to multiple leaf
constructs follow different rules.
For ompx_attribute, apply it to all leaf constructs that allow it.
Commit: 0760aec54ca6f680f4786c4fc3bbae8f500deeab
https://github.com/llvm/llvm-project/commit/0760aec54ca6f680f4786c4fc3bbae8f500deeab
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
Log Message:
-----------
MTM: fix issues after cursory reading (#100404)
Commit: 3db78fa1dd639ba5db761023e04f97418cfcd00e
https://github.com/llvm/llvm-project/commit/3db78fa1dd639ba5db761023e04f97418cfcd00e
Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
A llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
M llvm/test/CodeGen/NVPTX/load-store.ll
Log Message:
-----------
[NVPTX] Add Volta Load/Store Atomics (.relaxed, .acquire, .release) and Volatile (.mmio/.volatile) support (#99709)
Followup to https://github.com/llvm/llvm-project/pull/98022 which broke
support for LLVM `unordered` atomic ordering.
This PR lowers `atomic unordered` to PTX volatile operations to preserve
atomicity, and adds a bunch of tests for this ordering to the NVPTX
backend (we had none).
Commit: 0dbd72d6abfd390fc62eab43e195c21feb5e9bd0
https://github.com/llvm/llvm-project/commit/0dbd72d6abfd390fc62eab43e195c21feb5e9bd0
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement f16x8.replace_lane instruction. (#99388)
Use a builtin and intrinsic until half types are better supported for
instruction selection.
Commit: b00fddec2db19a372bb4cec5558163214e6f0043
https://github.com/llvm/llvm-project/commit/b00fddec2db19a372bb4cec5558163214e6f0043
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
Log Message:
-----------
[RISCV] Add test cases for failures to form widening FMA instructions. NFC
If the fp_extend is in the scalar domain before the shuffle, we
won't recognize the widening opportunity.
Commit: 59e07f34bdbd463254b0b2744bd0a587d2cd6438
https://github.com/llvm/llvm-project/commit/59e07f34bdbd463254b0b2744bd0a587d2cd6438
Author: Gang Chen <gangc at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Log Message:
-----------
[AMDGPU][GlobaISel] wrap the load-splitting code in RegBank selection with condition (#98966)
The load-splitting code in RegBank selection is only relevant to those
listed address-spaces because there are cases in those address-spaces in
which we are not sure how far to split during legalization
---------
Signed-off-by: gangc <gangc at amd.com>
Commit: 2e3ee31d2901bd1faeb57703992358130d5f2dcc
https://github.com/llvm/llvm-project/commit/2e3ee31d2901bd1faeb57703992358130d5f2dcc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/docs/gpu/support.rst
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sscanf_test.cpp
Log Message:
-----------
[libc] Enable 'sscanf' on the GPU #100211
Summary:
We can enable the sscanf function on the GPU now. This required adding
the configs to the scanf list so that the GPU build didn't do float
conversions.
Commit: 8c7188aa4c1468971d18e9dff8f2b85aa7e9bfd9
https://github.com/llvm/llvm-project/commit/8c7188aa4c1468971d18e9dff8f2b85aa7e9bfd9
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
A llvm/test/Transforms/DCE/nvvm-ldu-ldg-willreturn.ll
Log Message:
-----------
Update NVVM ldu/ldg intrinsics with IntrWillReturn and test for DCE (#98968)
Dead calls to these intrinsics were not being deleted at the IR level as
they were not marked `IntrWillReturn`, though they were being deleted
when building the SDAG. This fixes that and adds a test to confirm they
are deleted during `opt`
Commit: deb40a253a5448a7b1f8d9680a0ae512c2d17283
https://github.com/llvm/llvm-project/commit/deb40a253a5448a7b1f8d9680a0ae512c2d17283
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
Log Message:
-----------
[RISCV] Add missing CHECK prefix to fixed-vectors-vfw-web-simplification.ll. NFC
The FOLDING prefix was ambiguous on one of the test cases. It would be
nice if the update script reported this.
Commit: 0ee32c45730c94be1b7d5fa60a0e8dff5751d014
https://github.com/llvm/llvm-project/commit/0ee32c45730c94be1b7d5fa60a0e8dff5751d014
Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
A llvm/test/CodeGen/AMDGPU/lrint.ll
Log Message:
-----------
[AMDGPU] Implement llvm.lrint intrinsic lowering (#98931)
This patch enabled the target-independent lowering of llvm.lrint via
GlobalISel.
For SelectionDAG, the instrinsic is custom lowered for AMDGPU.
Commit: 20eff684203287828d6722fc860b9d3621429542
https://github.com/llvm/llvm-project/commit/20eff684203287828d6722fc860b9d3621429542
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CXX/basic/basic.types/p10.cpp
M clang/test/Sema/constant-builtins-2.c
M clang/test/SemaCXX/class.cpp
M clang/test/SemaCXX/enum.cpp
Log Message:
-----------
[ExprConstant] Handle shift overflow the same way as other kinds of overflow (#99579)
We have a mechanism to allow folding expressions that aren't ICEs as an
extension; use it more consistently.
This ends up causing bad effects on diagnostics in a few cases, but
that's not specific to shifts; it's a general issue with the way those
uses handle overflow diagnostics.
Commit: b1f263e4c2466a693609a3930f53b9887be67b5b
https://github.com/llvm/llvm-project/commit/b1f263e4c2466a693609a3930f53b9887be67b5b
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
Log Message:
-----------
[llvm][MachineLICM] Fix a comment typo. NFC
Commit: bfcfb0fd2dea5e06f74e49ff8b4e1dc10c9acf6a
https://github.com/llvm/llvm-project/commit/bfcfb0fd2dea5e06f74e49ff8b4e1dc10c9acf6a
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir
Log Message:
-----------
[GlobalIsel] Modernize truncate of ext. (#100338)
Credits:
https://github.com/llvm/llvm-project/pull/90964
https://reviews.llvm.org/D87050
combine-trunc.mir
Functional changes intended.
Commit: 10ff2bcb5eaf169b0d9f6f12851ccae339a54aaf
https://github.com/llvm/llvm-project/commit/10ff2bcb5eaf169b0d9f6f12851ccae339a54aaf
Author: Narayan <32898329+vortex73 at users.noreply.github.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Clang] Refactor uses of `Cand->Function` in SemaOverload.cpp (#98965)
- [ ] adds checks to called functions containing `Cand->Function` as an
argument.
- [ ] Assigned `Cand->Function` as a `FunctionDecl*` to enhance
readablity.
Solves: #98769 and #98942
Commit: 0431d6dab40b05d9f4a312a9c170c81a889bfb49
https://github.com/llvm/llvm-project/commit/0431d6dab40b05d9f4a312a9c170c81a889bfb49
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/tmmintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/mmx-inline-asm.c
M clang/test/CodeGen/X86/mmx-shift-with-immediate.c
M clang/test/CodeGen/attr-target-x86-mmx.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/CodeGen/palignr.c
R clang/test/CodeGen/pr26099.c
M clang/test/Headers/xmmintrin.c
M clang/test/Sema/x86-builtin-palignr.c
M clang/www/builtins.py
M llvm/include/llvm/IR/IntrinsicsX86.td
Log Message:
-----------
Clang: convert `__m64` intrinsics to unconditionally use SSE2 instead of MMX. (#96540)
The MMX instruction set is legacy, and the SSE2 variants are in every
way superior, when they are available -- and they have been available
since the Pentium 4 was released, 20 years ago.
Therefore, we are switching the "MMX" intrinsics to depend on SSE2,
unconditionally. This change entirely drops the ability to generate
vectorized code using compiler intrinsics for chips with MMX but without
SSE2: the Intel Pentium MMX, Pentium, II, and Pentium III (released
1997-1999), as well as AMD K6 and K7 series chips of around the same
timeframe. Targeting these older CPUs remains supported -- simply
without the ability to use MMX compiler intrinsics.
Migrating away from the use of MMX registers also fixes a rather
non-obvious requirement. The long-standing programming model for these
MMX intrinsics requires that the programmer be aware of the x87/MMX
mode-switching semantics, and manually call `_mm_empty()` between using
any MMX instruction and any x87 FPU instruction. If you neglect to, then
every future x87 operation will return a NaN result. This requirement is
not at all obvious to users of these these intrinsic functions, and
causes very difficult to detect bugs.
Worse, even if the user did write code that correctly calls
`_mm_empty()` in the right places, LLVM may sometimes reorder x87 and
mmx operations around each-other, unaware of this mode switching issue.
Eliminating the use of MMX registers eliminates this problem.
This change also deletes the now-unnecessary MMX `__builtin_ia32_*`
functions from Clang. Only 3 MMX-related builtins remain in use --
`__builtin_ia32_emms`, used by `_mm_empty`, and
`__builtin_ia32_vec_{ext,set}_v4si`, used by `_mm_insert_pi16` and
`_mm_extract_pi16`. Note particularly that the latter two lower to
generic, non-MMX, IR. Support for the LLVM intrinsics underlying these
removed builtins still remains, for the moment.
The file `clang/www/builtins.py` has been updated with mappings from the
newly-removed `__builtin_ia32` functions to the still-supported
equivalents in `mmintrin.h`.
(Originally uploaded at https://reviews.llvm.org/D86855 and
https://reviews.llvm.org/D94252)
Fixes issue #41665
Works towards #98272
Commit: c6e69b041a7e6d18463f6cf684b10fd46a62c496
https://github.com/llvm/llvm-project/commit/c6e69b041a7e6d18463f6cf684b10fd46a62c496
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M flang/docs/InternalProcedureTrampolines.md
Log Message:
-----------
[Flang][Docs] Update information about AArch64 trampolines (#100391)
Commits c4b66bf and 7647174 add support for AArch64 trampolines. Updated
documentation to reflect the changes.
Commit: 70c6e79e6d3e897418f3556a25e22e66ff018dc4
https://github.com/llvm/llvm-project/commit/70c6e79e6d3e897418f3556a25e22e66ff018dc4
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/ptrauth-function-attributes.c
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Sema/ptrauth-indirect-goto.c
Log Message:
-----------
[PAC][clang][test] Implement missing tests for some PAuth features (#100206)
Implement tests for the following PAuth-related features:
- driver, preprocessor and ELF codegen tests for type_info vtable
pointer discrimination #99726;
- driver, preprocessor, and ELF codegen (emitting function attributes) +
sema (emitting errors) tests for indirect gotos signing #97647;
- ELF codegen tests for ubsan type checks + auth #99590;
- ELF codegen tests for constant global init with polymorphic MI #99741;
- ELF codegen tests for C++ member function pointers auth #99576.
Commit: 74e14605d73e6286651d4b47ba5e04858cec7ebd
https://github.com/llvm/llvm-project/commit/74e14605d73e6286651d4b47ba5e04858cec7ebd
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
Log Message:
-----------
Fix test to write to %T instead of the current working directory (which may not be writeable)
Commit: 8b094c9df34f3190b66d11d19379be1f4c89beec
https://github.com/llvm/llvm-project/commit/8b094c9df34f3190b66d11d19379be1f4c89beec
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/docs/dev/header_generation.rst
Log Message:
-----------
[libc][newheadergen]: PyYaml Version Update (#100463)
- a lot of builds had an issue using new headergen because they do not
have PyYaml installed.
Commit: e846fb48038a34d8df3ad7412bbdcf37e9e7acc9
https://github.com/llvm/llvm-project/commit/e846fb48038a34d8df3ad7412bbdcf37e9e7acc9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
[lldb] Prevent passing a nullptr to std::string in ObjectFileMachO (#100421)
Prevent passing a nullptr to std::string::insert in
ObjectFileMachO::GetDependentModules. Calling GetCString on an empty
ConstString will return a nullptr, which is undefined behavior. Instead,
use the GetString helper which will return an empty string in that case.
rdar://132388027
Commit: 58fb51492d9669525662fa269295d85537968569
https://github.com/llvm/llvm-project/commit/58fb51492d9669525662fa269295d85537968569
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/resolve-directives.cpp
R flang/test/Semantics/OpenMP/copyprivate04.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
Log Message:
-----------
Revert "[flang][OpenMP] Fix copyprivate semantic checks" (#100478)
Reverts llvm/llvm-project#95799
This caused errors in some internal test suites.
Commit: b79568654e38a14ef921af932ed96abd8961b1ed
https://github.com/llvm/llvm-project/commit/b79568654e38a14ef921af932ed96abd8961b1ed
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Clang: adjust MMX instrinsics release note.
Commit: 3f6eb13abf643afec17a73448ede380606531226
https://github.com/llvm/llvm-project/commit/3f6eb13abf643afec17a73448ede380606531226
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/aarch64-ptrauth.c
Log Message:
-----------
[PAC][clang] Enable `-fptrauth-indirect-gotos` as part of pauthtest ABI (#100480)
Commit: 7b51777ed89969ae86a0714565d195faf394b7db
https://github.com/llvm/llvm-project/commit/7b51777ed89969ae86a0714565d195faf394b7db
Author: Job Henandez Lara <hj93 at protonmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/totalordermag.cpp
A libc/src/math/generic/totalordermagf.cpp
A libc/src/math/generic/totalordermagf128.cpp
A libc/src/math/generic/totalordermagl.cpp
A libc/src/math/totalordermag.h
A libc/src/math/totalordermagf.h
A libc/src/math/totalordermagf128.h
A libc/src/math/totalordermagl.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/totalordermag_test.cpp
A libc/test/src/math/smoke/totalordermagf128_test.cpp
A libc/test/src/math/smoke/totalordermagf_test.cpp
A libc/test/src/math/smoke/totalordermagl_test.cpp
Log Message:
-----------
[libc][math][c23] add entrypoints and tests for totalordermag{f,l,f128} (#100159)
Fixes https://github.com/llvm/llvm-project/issues/100139
Commit: 393a957d1c9303b87361dfdc3b8e504ba435ea8e
https://github.com/llvm/llvm-project/commit/393a957d1c9303b87361dfdc3b8e504ba435ea8e
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency after 74a1ca504bf60f02431140ee72dbe1c158556237
Commit: 0af754213507972a0d0301bc195d65414d8dc193
https://github.com/llvm/llvm-project/commit/0af754213507972a0d0301bc195d65414d8dc193
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
A llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
Log Message:
-----------
Reapply "[WebAssembly] Fix phi handling for Wasm SjLj (#99730)"
This reapplies #99730. #99730 contained a nondeterministic iteration
which failed the reverse-iteration bot
(https://lab.llvm.org/buildbot/#/builders/110/builds/474) and reverted
in
https://github.com/llvm/llvm-project/commit/f3f0d9928f982cfd302351f418bcc5b63cc1bb9d.
The fix is make the order of iteration of new predecessors
determintistic by using `SmallSetVector`.
```diff
--- a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
@@ -1689,7 +1689,7 @@ void WebAssemblyLowerEmscriptenEHSjLj::handleLongjmpableCallsForWasmSjLj(
}
}
- SmallDenseMap<BasicBlock *, SmallPtrSet<BasicBlock *, 4>, 4>
+ SmallDenseMap<BasicBlock *, SmallSetVector<BasicBlock *, 4>, 4>
UnwindDestToNewPreds;
for (auto *CI : LongjmpableCalls) {
// Even if the callee function has attribute 'nounwind', which is true for
```
Commit: 115c89b94cb8af10c2029001a1dd28154d948a37
https://github.com/llvm/llvm-project/commit/115c89b94cb8af10c2029001a1dd28154d948a37
Author: Thurston Dang <thurston at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll
Log Message:
-----------
[msan] Enable and update neon_vst_float test case (#100435)
This enables the neon_vst_float test case
(https://github.com/llvm/llvm-project/pull/100210). Although MSan does
not yet generate useful IR, since opt is run with -disable-verify, the
test case should still run successfully.
This patch also makes minor fixes to the test case:
- 'ptr %a' is renamed to 'ptr %p' because update_test_checks.py is
case-insensitive, and was unexpectedly aliasing the %A and %a in the
expected output ('<1 x double> [[A]], <1 x double> [[B]], ptr [[A]]').
- The sample output for st1x{2,3,4} was previously accidentally
generated using a prototype version of MSan rather than trunk; these
instructions are not yet instrumented.
- Changes the comment on how the test case was generated, because '; |
sed -r 's/^\/\/ CHECK:[ ]*//'' was being interpreted by FileCheck to be
a CHECK: command.
Commit: e894df6392beea3723627329009f3e6d51d16f47
https://github.com/llvm/llvm-project/commit/e894df6392beea3723627329009f3e6d51d16f47
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp
Log Message:
-----------
[compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#100398)
Reland with a couple of build fixes
#100337 #100342 #99613
Commit: 2ba1aeed2efd8156717886f89f6d4270b1df7a18
https://github.com/llvm/llvm-project/commit/2ba1aeed2efd8156717886f89f6d4270b1df7a18
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/source/Expression/IRMemoryMap.cpp
Log Message:
-----------
[lldb] Don't use a vm addr range starting at 0 for local memory (#100288)
When an inferior stub cannot allocate memory for lldb, and lldb needs to
store the result of expressions, it will do it in lldb's own memory
range ("host memory"). But it needs to find a virtual address range that
is not used in the inferior process. It tries to use the
qMemoryRegionInfo gdb remote serial protocol packet to find a range that
is inaccessible, starting at address 0 and moving up the size of each
region.
If the first region found at address 0 is inaccessible, lldb will use
the address range starting at 0 to mean "read lldb's host memory, not
the process memory", and programs that crash with a null dereference
will have poor behavior.
This patch skips consideration of a memory region that starts at address
0.
I also clarified the documentation of qMemoryRegionInfo to make it clear
that the stub is required to provide permissions for a memory range that
is accessable, it is not an optional key in this response. This issue
was originally found by a stub that did not list permissions in its
response, and lldb treated the first region returned as the one it would
use. (the stub also didn't support the memory-allocate packet)
Commit: ac1a1e5797388598201511d17f05aa088ef4a2e2
https://github.com/llvm/llvm-project/commit/ac1a1e5797388598201511d17f05aa088ef4a2e2
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
Log Message:
-----------
[ThinLTO][TypeProf] Import local-linkage global var for mod1:func_foo-> mod2:local-var edge (#100448)
VTable value profiling can create reference edges from `mod1:func_foo`
to `mod2:local-vtable`. Indirect call profiling can create reference
edges from `mod1:func_foo` to `mod2:local_func_bar`.
Given a ref chain `mod1:func_foo -> mod2:local-var`,`local-var` doesn't
get imported by default.
Compiler checks / requires the module of 'local-var' is the same as the
function that referenced it(`mod1:func_foo`). This is to prevent
mis-compilation when both `mod1` and `mod2` has `local-var` of the same
name, and cpp files are compiled without full path.
This patch allows the import when one of the following conditions
happen:
1) Introduce an option `import-assume-local-unique`. When the compiler
user can guarantee that all files are compiled with full paths, they can
set this option.
2) When there is one instance of value summary.
Test:
* A/B testing this option alone gives -0.16% statistically consistent
cpu cycle reduction on one search workload (no throughput increase)
* Testing it together with existing more-efficient ICP bumps the
throughput increase by a margin (0.05%~0.1%)
* No regressions observed.
Commit: 8e43acbfedf53ded43ec693ddaaf518cb7416c1c
https://github.com/llvm/llvm-project/commit/8e43acbfedf53ded43ec693ddaaf518cb7416c1c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
Log Message:
-----------
[libc] Only add '-fno-builtin-*' on the entrypoints that use them (#100481)
Summary:
The GPU build needs to be able to inline stuff in LTO. Builtin
transformations cause problems on the functions that the optimizer does
heavy libcall recognition on. Previously we moved to using
`-fno-builtin-*` to allow us to only disable the problematic ones.
However, this still didn't allow inlining because each function had the
attribute that told the inliner not to inlining a nobuiltin function
into a non-nobuiltin function
This patch fixes that by only applying these attributes to the
entrypoints that define them. That is enough to prevent recursive calls
within the definitoins themselves.
Commit: 7e7a9069d4240d2ae619cb50eba09f948c537ce3
https://github.com/llvm/llvm-project/commit/7e7a9069d4240d2ae619cb50eba09f948c537ce3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "[clang-format] Fix a bug in annotating `*` in `#define`s (#99433)"
This reverts commit ce1a87437cc143889665c41046107e84cdf6246e.
Closes #100304.
Commit: ccae7b461be339e717d02f99ac857cf0bc7d17fc
https://github.com/llvm/llvm-project/commit/ccae7b461be339e717d02f99ac857cf0bc7d17fc
Author: Gedare Bloom <gedare at rtems.org>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Improve BlockIndent at ColumnLimit (#93140)
Fixes #55731
The reported formatting problems were related to ignoring deep nesting
of "simple" functions (causing #54808) and to allowing the trailing
annotation to become separated from the closing parens, which allowed a
break to occur between the closing parens and the trailing annotation.
The fix for the nesting of "simple" functions is to detect them more
carefully. "Simple" was defined in a comment as being a single
non-expression argument. I tried to stay as close to the original intent
of the implementation while fixing the various bad formatting reports.
In the process of fixing these bugs, some latent bugs were discovered
related to how JavaScript Template Strings are handled. Those are also
fixed here.
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: ba8883c46e3cb1782f66774a116bc0364ea68ce0
https://github.com/llvm/llvm-project/commit/ba8883c46e3cb1782f66774a116bc0364ea68ce0
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
Log Message:
-----------
Fix buildbot failure by fixing the base pointer type (#100508)
This should fix buildbot failures like
https://lab.llvm.org/buildbot/#/builders/169/builds/1448
Commit: 8608cc1c89640bd3d8120f24c964af21310253b6
https://github.com/llvm/llvm-project/commit/8608cc1c89640bd3d8120f24c964af21310253b6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix array element This chains
The previous test was too minimal. If we actually do something after
initializing the nested array element, we end up causing a stack element
type mismatch.
Commit: 25482b356e51de1f259b3ac7c785ab34977781b4
https://github.com/llvm/llvm-project/commit/25482b356e51de1f259b3ac7c785ab34977781b4
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/aix-builtin-cpu-is.c
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/include/llvm/TargetParser/PPCTargetParser.def
A llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/lib/TargetParser/CMakeLists.txt
A llvm/lib/TargetParser/PPCTargetParser.cpp
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
Log Message:
-----------
[PowerPC] add TargetParser for PPC target (#97541)
For now only focus on the CPU type, will work on the CPU features part
later.
With the CPU handling in TargetParser, clang and llc/opt are able to
query common interfaces.
So we can set same default CPU and CPU features with same interfaces.
Commit: fe8d1e61ac4104f48bbefc6959a084a8e16927e9
https://github.com/llvm/llvm-project/commit/fe8d1e61ac4104f48bbefc6959a084a8e16927e9
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
Log Message:
-----------
[AMDGPU][NFC] Use GFX940 prefix in dpp64_combine test (#100459)
Commit: 1b7631a699e6af7f497548a1ceb5be0570c60ed0
https://github.com/llvm/llvm-project/commit/1b7631a699e6af7f497548a1ceb5be0570c60ed0
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
Log Message:
-----------
[clang-doc] Improve clang-doc performance through memoization (#96809)
Commit: 26b70707fc2cc0ab8883e6492a4808401a6a4bad
https://github.com/llvm/llvm-project/commit/26b70707fc2cc0ab8883e6492a4808401a6a4bad
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[Clang] Remove some dead code in getNumTeamsExprForTargetDirective (#95695)
This was reported in https://pvs-studio.com/en/blog/posts/cpp/1126/,
fragment N9.
V523 The 'then' statement is equivalent to the subsequent code fragment.
CGOpenMPRuntime.cpp:6040, 6036
---------
Co-authored-by: Shivam Gupta <shivma98.tkg at gmail.com>
Commit: 2e0c2154a8dc5d8ab2a8cf360aa0184fb58c0860
https://github.com/llvm/llvm-project/commit/2e0c2154a8dc5d8ab2a8cf360aa0184fb58c0860
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/test/MC/X86/apx/ctest-att.s
M llvm/test/MC/X86/apx/ctest-intel.s
Log Message:
-----------
[X86][MC] Support 'ctestX <reg>, <mem>' and 'ctextX <mem>, <reg>' as synonyms. (#97985)
relate gas discussion:
https://sourceware.org/pipermail/binutils/2024-July/135349.html
Commit: 74fcb6aafddd56df1bd6d6841b2e0f289f8e54b0
https://github.com/llvm/llvm-project/commit/74fcb6aafddd56df1bd6d6841b2e0f289f8e54b0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-24 (Wed, 24 Jul 2024)
Changed paths:
M llvm/lib/TargetParser/PPCTargetParser.cpp
Log Message:
-----------
[TargetParser] Fix warnings
This patch fixes:
llvm/include/llvm/TargetParser/PPCTargetParser.def:109:9: error:
suggest braces around initialization of subobject
[-Werror,-Wmissing-braces]
llvm/lib/TargetParser/PPCTargetParser.cpp:96:16: error: address of
stack memory associated with local variable 'CPU' returned
[-Werror,-Wreturn-stack-address]
Commit: 2914a4b88837177d4a91a99525c1a3117242236d
https://github.com/llvm/llvm-project/commit/2914a4b88837177d4a91a99525c1a3117242236d
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/Commands/CommandObjectScripting.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/PluginManager.cpp
M lldb/source/Interpreter/CMakeLists.txt
A lldb/source/Interpreter/Interfaces/CMakeLists.txt
A lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb/Commands] Add `scripting template list` command with auto discovery
This patch introduces a new `template` multiword sub-command to the
`scripting` top-level command. As the name suggests, this sub-command
operates on scripting templates, and currently has the ability to
automatically discover the various scripting extensions that lldb
supports.
This was previously reviewed in #97273.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 693d757b63e5020e0fa78bb71fc16acdad5f8232
https://github.com/llvm/llvm-project/commit/693d757b63e5020e0fa78bb71fc16acdad5f8232
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/Basic/Sarif.cpp
Log Message:
-----------
Internalize a clang Sarif function
Commit: 6d12b3f67df429bffff6e1953d9f55867d7e2469
https://github.com/llvm/llvm-project/commit/6d12b3f67df429bffff6e1953d9f55867d7e2469
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/VectorBuilder.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP] Refactor VectorBuilder to avoid layering violation. NFC (#99276)
This patch refactors the handling of reduction to eliminate layering
violations.
* Introduced `getReductionIntrinsicID` in LoopUtils.h for mapping
recurrence kinds to llvm.vector.reduce.* intrinsic IDs.
* Updated `VectorBuilder::createSimpleTargetReduction` to accept
llvm.vector.reduce.* intrinsic directly.
* New function `VPIntrinsic::getForIntrinsic` for mapping intrinsic ID
to the same functional VP intrinsic ID.
Commit: 73d862e478738675f5d919c6a196429acd7b5f50
https://github.com/llvm/llvm-project/commit/73d862e478738675f5d919c6a196429acd7b5f50
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
Revert "[LLVM] Silence compiler-rt warning in runtimes build (#99525)"
This patch broke LLVM Flang build on Windows. PR #100202
This reverts commit f6f88f4b99638821af803d1911ab6a7dac04880b.
Commit: dfe650cdc884af3298cb3378aa1631545a13b720
https://github.com/llvm/llvm-project/commit/dfe650cdc884af3298cb3378aa1631545a13b720
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/struct-assign-tbaa-2.ll
Log Message:
-----------
[TBAA] Introduce test for PR96483 (NFC)
Commit: 6ce7b1f86115f475ee00003ee04833781a675e3e
https://github.com/llvm/llvm-project/commit/6ce7b1f86115f475ee00003ee04833781a675e3e
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/struct-assign-tbaa-2.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
R llvm/test/Transforms/SROA/tbaa-struct.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
Log Message:
-----------
[TBAA] Do not rewrite TBAA if exists, always null out `!tbaa.struct`
Retrieve `!tbaa` metadata via `!tbaa.struct` in `adjustForAccess`
unless it already exists, as struct-path aware `MDNodes` emitted
via `new-struct-path-tbaa` may be leveraged. As `!tbaa.struct`
carries memcpy padding semantics among struct fields and `!tbaa`
is already meant to aid to alias semantics, it should be possible
to zero out `!tbaa.struct` once the memcpy has been simplified.
`SROA/tbaa-struct.ll` test has gone out of scope, as `!tbaa` has
already replaced `!tbaa.struct` in SROA.
Fixes: https://github.com/llvm/llvm-project/issues/95661.
Commit: 91450f1b57b34034376662dae5452af8c992c103
https://github.com/llvm/llvm-project/commit/91450f1b57b34034376662dae5452af8c992c103
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/assets/index.js
A clang-tools-extra/test/clang-doc/test-path-abs.cpp
Log Message:
-----------
[clang-doc] switched from using relative to absolute paths (#93281)
fixes https://github.com/llvm/llvm-project/issues/92867
This patches changes the way clang-doc index navigation works,
previously it was based a relative path approach, this approach is error
prone and lead to wrong paths for the anchor tag. The new navigation way
is based on absolute paths and should work and be less confusing
codewise.
Because the differences with serving over a http server and viewing via
file system I also added export a RootPath variable to the index_json.js
file
Commit: dc1c00f6b13f724154f9883990f8b21fb8dcccef
https://github.com/llvm/llvm-project/commit/dc1c00f6b13f724154f9883990f8b21fb8dcccef
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
M llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
Log Message:
-----------
[StackFrameLayoutAnalysis] Use target-specific hook for SP offsets (#100386)
StackFrameLayoutAnalysis currently calculates SP-relative offsets in a
target-independent way via MachineFrameInfo offsets. This is incorrect
for some Targets, e.g. AArch64, when there are scalable vector stack
slots.
This patch adds a virtual function to TargetFrameLowering to provide
offsets from SP, with a default implementation matching what is
currently used in StackFrameLayoutAnalysis, and refactors
StackFrameLayoutAnalysis to use this function. Only non-zero scalable
offsets are output by the analysis pass.
An implementation of this function is added for AArch64 targets, which
aims to provide correct SP offsets in most cases.
Commit: f48c16631de07b47e0721b88bd8004e63897f29a
https://github.com/llvm/llvm-project/commit/f48c16631de07b47e0721b88bd8004e63897f29a
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M lldb/source/Host/linux/Host.cpp
Log Message:
-----------
[lldb][Linux] Parse, but don't store "comm" from /proc/stat file (#100387)
As reported in https://github.com/llvm/llvm-project/issues/89710, the %s
code used for `comm` could and probably does, overflow the buffer.
Likely we haven't seen it cause problems because the following data is
overwritten right afterwards.
Also scanf isn't a great choice here as this `comm` can include many
characters that might trip up %s.
We don't actually use `comm`, so parse but don't store it so we're not
overflowing anything.
Commit: c3a2efceb53e1e3ab9b92e5bf6518ab51f4713a9
https://github.com/llvm/llvm-project/commit/c3a2efceb53e1e3ab9b92e5bf6518ab51f4713a9
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
Log Message:
-----------
[lldb/Plugins] Fix build failure on windows following 2914a4b88837
This patch tries to fix the following build failure on windows:
https://lab.llvm.org/buildbot/#/builders/141/builds/1083
This started happening following 2914a4b88837, and it seems to be caused
by some special `#include` ordering for the lldb-python header on Windows.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 6a5a64c56bc6c7183935367d3cf915ccdd103882
https://github.com/llvm/llvm-project/commit/6a5a64c56bc6c7183935367d3cf915ccdd103882
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-branchop-interface.mlir
M mlir/test/Dialect/Linalg/detensorize_entry_block.mlir
M mlir/test/Dialect/Linalg/detensorize_if.mlir
M mlir/test/Dialect/Linalg/detensorize_while.mlir
M mlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
M mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
M mlir/test/Transforms/canonicalize-block-merge.mlir
M mlir/test/Transforms/canonicalize-dce.mlir
M mlir/test/Transforms/make-isolated-from-above.mlir
R mlir/test/Transforms/test-canonicalize-merge-large-blocks.mlir
Log Message:
-----------
Revert "[mlir] Fix block merging" (#100510)
Reverts llvm/llvm-project#97697
This commit introduced non-trivial bugs related to type consistency.
Commit: d82df1b891fecae0af7de5e970b592ce37178a30
https://github.com/llvm/llvm-project/commit/d82df1b891fecae0af7de5e970b592ce37178a30
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/lto-jobs.c
M clang/test/Driver/ps4-linker.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/unified-lto.c
Log Message:
-----------
[PS4/PS5][Driver] Always pass LTO options to the linker (#100423)
The driver doesn't know if LTO will occur at link time. That's
determined by the presence or absence of LLVM bitcode objects among
those ingested by the linker.
For this reason, LTO options for codegen etc must be passed to the
linker unconditionally. If LTO does not occur, these options have no
effect.
Also simplify the way LTO options are supplied to the PS4 linker.
`-lto-debug-options` and `-lto-thin-debug-options` are combined and
routed to the same place. So, always use the former, regardless of
full/thin LTO mode.
SIE tracker: TOOLCHAIN-16575
Commit: c7a3346ab6a8fbd551a80bd4028ec8624daa35e4
https://github.com/llvm/llvm-project/commit/c7a3346ab6a8fbd551a80bd4028ec8624daa35e4
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
Log Message:
-----------
[mlir][linalg] Fix scalable vectorisation of tensor.extract (#100325)
This PR fixes one very specific aspect of vectorising `tensor.extract`
Ops when targeting scalable vectors. Namely, it makes sure that the
scalable flag is correctly propagated when creating
`vector::ShapeCastOp`.
BEFORE:
```mlir
vector.shape_cast %idx_vec : vector<1x1x[4]xindex> to vector<4xindex>
```
AFTER:
```mlir
vector.shape_cast %idx_vec : vector<1x1x[4]xindex> to vector<[4]xindex>
```
This particular ShapeCastOp is created when generating an index for
`vector.transfer_read` operations. Strictly speaking, casting is not
really required. However, it makes the subsequent address calculation
much simpler (*).
The following test is updated to demonstrate the use of
`vector.shape_cast` by the vectoriser:
*
@masked_static_vectorize_nd_tensor_extract_with_affine_apply_contiguous
Similar test with scalable vectors is also added.
(*) At this point in the vectoriser it is known
that all leading dims in the index vector are "1").
Commit: 98c73d5df7ff0b5d9c10bc9d44a584d631def1e6
https://github.com/llvm/llvm-project/commit/98c73d5df7ff0b5d9c10bc9d44a584d631def1e6
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Restrict vector.shape_cast (scalable vectors) (#100331)
Updates the verifier for `vector.shape_cast` so that incorrect cases
where "scalability" is dropped are immediately rejected. For example:
```mlir
vector.shape_cast %vec : vector<1x1x[4]xindex> to vector<4xindex>
```
Also, as a separate PR, I've prepared a fix for the Linalg vectorizer to
avoid generating such shape casts (*):
* https://github.com/llvm/llvm-project/pull/100325
(*) Note, that's just one specific case that I've identified so far.
Commit: 4ca1a901dc6ca1926a594f57e6c4997ea9d185a4
https://github.com/llvm/llvm-project/commit/4ca1a901dc6ca1926a594f57e6c4997ea9d185a4
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/unittests/Tooling/ToolingTest.cpp
Log Message:
-----------
[clang][CUDA] Assume unknown emission status for skipped function definitions (#100124)
Emission status seems to be only used by cuda/openmp/hip compiles, to
figure out
when to emit diagnostics. Current logic emits "uknown" when definition
is
missing, so i extended that to skipped-function-bodies as well.
Commit: f87e9d42c70476b63f4c87e52651f653f7e2f036
https://github.com/llvm/llvm-project/commit/f87e9d42c70476b63f4c87e52651f653f7e2f036
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M libcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
M libcxx/utils/ci/build-picolibc.sh
Log Message:
-----------
[libcxx][test] Update picolibc version (#100348)
This is the latest as of today, and it fixes one of the xfails.
Since
https://github.com/picolibc/picolibc/commit/5e4d0c80f49b4efe8be85e36b5e85d65bd343214,
TIME_UTC is defined.
Commit: 456c5121f8e6f37881f236bdf573ef29cad5af1e
https://github.com/llvm/llvm-project/commit/456c5121f8e6f37881f236bdf573ef29cad5af1e
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
A clang/test/Frontend/skip-function-bodies.cpp
Log Message:
-----------
[clang][Driver] Add cc1 flag for setting SkipFunctionBodies (#100135)
This is an option set by certain tools (clangd and ASTUnit). Sometimes
there are crashes in clang, unique to this configuration and it's really
hard to provide reproducers without invoking the tool.
Commit: 74e964c7c17cae6fd523bc93b3644893853989fc
https://github.com/llvm/llvm-project/commit/74e964c7c17cae6fd523bc93b3644893853989fc
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.prim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
Log Message:
-----------
[AMDGPU] Add GFX12 test coverage for export instructions (#100415)
Commit: e24dc34aa085b9e8d3ea58cc5f59f80bc4c7cdb4
https://github.com/llvm/llvm-project/commit/e24dc34aa085b9e8d3ea58cc5f59f80bc4c7cdb4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
Log Message:
-----------
AMDGPU: Fix asserting in DAG kernel argument lowering on v6i32 (#100528)
Remove this pointless assertion for the number of vector elements.
Commit: 6f37d42a33ba09add14a9a1f422cb489ba02336e
https://github.com/llvm/llvm-project/commit/6f37d42a33ba09add14a9a1f422cb489ba02336e
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-dup.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
M llvm/test/CodeGen/AArch64/arm64-dup.ll
M llvm/test/CodeGen/AArch64/neon-mov.ll
Log Message:
-----------
[AArch64][GlobalISel] Reland Make G_DUP immediate 32-bits or larger (#96780) (#99014)
Immediate operand gets extended in RegBankSelect to at least 32 bits to
allow for better pattern matching in TableGen
The previous patch was erasing a constant without checking if it has
more than one use
Changes:
- Does not erase the constant
- Added @v_dup16_const test
Commit: ba461f8c6278a7b2fd7695454c1f184c38897ecd
https://github.com/llvm/llvm-project/commit/ba461f8c6278a7b2fd7695454c1f184c38897ecd
Author: Him188 <tguan at nvidia.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
A llvm/test/CodeGen/AArch64/fcmp-fp128.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize fp128 types as libcalls for G_FCMP (#98452)
- Generate libcall for supported predicates.
- Generate unsupported predicates as combinations of supported
predicates.
- Vectors are scalarized, however some cases like `v3f128_fp128` are still failing, because we failed to legalize G_OR for these types.
GISel now generates the same code as SDAG, however, note the difference
in the `one` case.
Commit: b72689a5cbd8645c183476cd87e32948308c5b64
https://github.com/llvm/llvm-project/commit/b72689a5cbd8645c183476cd87e32948308c5b64
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[LV] Ignore live-out users in cost model if scalar epilogue is required.
Follow-up to ba8126b6fef79.
If a scalar epilogue is required, users outside the loop won't use
live-outs from the vector loop but from the scalar epilogue. Ignore them if
that is the case.
This fixes another case where the VPlan-based cost-model more accurately
computes cost.
Fixes https://github.com/llvm/llvm-project/issues/100464.
Commit: 91073380ac5a0dceebdd09f360a1dc194d7ee93f
https://github.com/llvm/llvm-project/commit/91073380ac5a0dceebdd09f360a1dc194d7ee93f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Transforms/SLPVectorizer/X86/pr98978.ll
Log Message:
-----------
[BasicAA] Fix handling of indirect assumption based results (#100130)
If a result is potentially based on a not yet proven assumption,
BasicAA will remember it inside AssumptionBasedResults and remove
the cache entry if an assumption higher up is later disproved.
However, we currently miss the case where another cache entry ends
up depending on such an AssumptionBased result.
Fix this by introducing an additional AssumptionBased state for
cache entries. If such a result is used, we'll still increment
AAQI.NumAssumptionUses, which means that the using entry will
also become AssumptionBased and be cleared if the assumption is
disproved.
At the end of the root query, convert remaining AssumptionBased
results into definitive results.
Fixes https://github.com/llvm/llvm-project/issues/98978.
Commit: ca69444cef0858ad4facecbfc2232a02422aca9f
https://github.com/llvm/llvm-project/commit/ca69444cef0858ad4facecbfc2232a02422aca9f
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/MapLattice.h
Log Message:
-----------
[Clang] Fix a variable shadowing in MapLattice (NFC) (#95697)
Reported in https://pvs-studio.com/en/blog/posts/cpp/1126/, fragment
N10.
The PVS-Studio warning:
V570 The 'C' variable is assigned to itself. MapLattice.h:52
Commit: 90a997988279ecd0e9aefcf14ee0642093b03398
https://github.com/llvm/llvm-project/commit/90a997988279ecd0e9aefcf14ee0642093b03398
Author: Kai Yan <aklkaiyan at tencent.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/WindowScheduler.cpp
A llvm/test/CodeGen/Hexagon/swp-ws-stall-cycle.mir
Log Message:
-----------
[llvm][CodeGen] Fixed a bug in stall cycle calculation for window scheduler (#99451)
Fixed a bug in stall cycle calculation.
When a register defined by an instruction in the current iteration is
used by an instruction in the next iteration, we have modified the
number of stall cycle that need to be inserted.
Commit: 72532c921989990180b11d46e38a92874008f51a
https://github.com/llvm/llvm-project/commit/72532c921989990180b11d46e38a92874008f51a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
Log Message:
-----------
[LV] Don't predicate divs with invariant divisor when folding tail (#98904)
When folding the tail, at least one of the lanes must execute
unconditionally. If the divisor is loop-invariant no predication is
needed, as predication would not prevent the divide-by-0 on the executed
lane.
Depends on https://github.com/llvm/llvm-project/pull/98892.
PR: https://github.com/llvm/llvm-project/pull/98904
Commit: f8006a5932b1ccdf3a1eed7b20b5cb608c0a020c
https://github.com/llvm/llvm-project/commit/f8006a5932b1ccdf3a1eed7b20b5cb608c0a020c
Author: Kristóf Umann <dkszelethus at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
Log Message:
-----------
[analyzer][NFC] Add some docs for LazyCompoundValue (#97407)
Yes, I basically copy-pasted some posts from discord and Artem's book,
but these make for a rather decent docs.
---------
Co-authored-by: Artem Dergachev <noqnoqneo at gmail.com>
Co-authored-by: Donát Nagy <donat.nagy at ericsson.com>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 2ba3fe7356f065757a2279f65e4ef5c8f1476293
https://github.com/llvm/llvm-project/commit/2ba3fe7356f065757a2279f65e4ef5c8f1476293
Author: Shivam Gupta <shivam98.tkg at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
Log Message:
-----------
[lldb] Fix incorrect uses of logical operator in 'if' condition check (NFC) (#94779)
The condition checking for missing class name, interpreter dictionary,
and script object incorrectly used logical AND (&&), which could never
be true to enter the 'if' block.
This commit uses separate if conditions for each class name, interpreter
dictionary, and script object.
Cought by cppcheck -
lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h:89:11:
warning: Identical inner 'if' condition is always true.
[identicalInnerCondition]
lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h:91:16:
warning: Identical inner 'if' condition is always true.
[identicalInnerCondition]
Fix #89195
---------
Co-authored-by: Shivam Gupta <shivma98.tkg at gmail.com>
Commit: 90929dd97a8f2c00148bee676bf8b44bec063d9b
https://github.com/llvm/llvm-project/commit/90929dd97a8f2c00148bee676bf8b44bec063d9b
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/test/Analysis/call-invalidation.cpp
Log Message:
-----------
[analyzer] Don't invalidate the super region when a std object ctor runs (#100405)
CPP-5269
Commit: 534e2dd29f252cc13b94312895d2f4b39b54b9d4
https://github.com/llvm/llvm-project/commit/534e2dd29f252cc13b94312895d2f4b39b54b9d4
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
Log Message:
-----------
[Clang][Interp] Visit `DecompositionDecl` and create a local variable (#100400)
The following code should be well-formed:
```C++
float decompose_complex(_Complex float cf) {
static _Complex float scf;
auto &[sre, sim] = scf;
// ok, this is references initialized by constant expressions all the way down
static_assert(&sre == &__real scf);
static_assert(&sim == &__imag scf);
auto [re, im] = cf;
return re*re + im*im;
}
```
We should visit `DecompositionDecl` and create a local variable but not
a create a dummy value directly.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: f6431f0c52689be4d6a4753d261cb6c415eff5a1
https://github.com/llvm/llvm-project/commit/f6431f0c52689be4d6a4753d261cb6c415eff5a1
Author: runseny <145632023+runseny at users.noreply.github.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][GPUToNVVM] support fastMath and other non-supported mathOp (#99890)
Support fastMath and other non-supported mathOp which only require float
operands and call libdevice function directly to nvvm.
1. lowering mathOp with fastMath attribute to correct libdevice
intrinsic.
2. some mathOp in math dialect has been lowered to libdevice now, but it
doesn't cover all mathOp. so this mr lowers all the remaining mathOp
which only require float operands.
Commit: fc9b9e809381cf9232e5c81439f693d4db47efb3
https://github.com/llvm/llvm-project/commit/fc9b9e809381cf9232e5c81439f693d4db47efb3
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
Log Message:
-----------
Revert "MTM: fix issues after cursory reading" (#100559)
Reverts llvm/llvm-project#100404
This broke the gcc7 build here:
https://lab.llvm.org/buildbot/#/builders/116/builds/1724
Commit: f916cb6184fb04b27ae7b867edcfd162c3a49694
https://github.com/llvm/llvm-project/commit/f916cb6184fb04b27ae7b867edcfd162c3a49694
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
Log Message:
-----------
[Clang] fix assertion failure in invalid delete operator declaration check (#99308)
Fixes #96191
Commit: a466db2b32cccfdbd8bbd27cfa2fb51651192075
https://github.com/llvm/llvm-project/commit/a466db2b32cccfdbd8bbd27cfa2fb51651192075
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
Log Message:
-----------
Revert "[lldb] Fix incorrect logical operator in 'if' condition check (NFC)" (#100561)
Reverts llvm/llvm-project#94779
Due to bot failures:
https://lab.llvm.org/buildbot/#/builders/18/builds/1371
Commit: af1d2b9fb1c6065d3a4611f086b8c83a0c05795c
https://github.com/llvm/llvm-project/commit/af1d2b9fb1c6065d3a4611f086b8c83a0c05795c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/MachineModuleInfo.cpp
R llvm/test/CodeGen/Generic/disable-debug-info-print.ll
R llvm/test/CodeGen/X86/disable-debug-info-print-codeview.ll
M llvm/test/CodeGen/X86/frame-order.ll
Log Message:
-----------
CodeGen: Remove -disable-debug-info-print cl::opt (#100319)
This was first introduced way back in in 2010 by
6c74a872a8d34d41b751efb68e335cbe91b5a5cc, and has little evidence
of use. Only one test attempts to make use of this, but it's
also redundant since it's also using strip to drop debug info anyway
(and that also makes the test buggy, since it's intended to test
with and without debug info).
The other tests using it were only added to test the option after
discovering it was untested and moved, in later commits.
Commit: bf76290de48512f59f62eff20d28135c3f918ea5
https://github.com/llvm/llvm-project/commit/bf76290de48512f59f62eff20d28135c3f918ea5
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Transforms/debug-96314.fir
Log Message:
-----------
[flang][debug] Set scope of internal functions correctly. (#99531)
The functions internal to subroutine should have the scope set to the
parent function. This allows a user to evaluate local variables of
parent function when control is stopped in the child.
Fixes #96314
Commit: 0fedfd83d75415837eb91f56ec24f4b392bf6c57
https://github.com/llvm/llvm-project/commit/0fedfd83d75415837eb91f56ec24f4b392bf6c57
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Protect getPtrBase{,Pop} ops from past-end ptrs
Commit: dfeb3991fb489a703f631ab0c34b58f80568038d
https://github.com/llvm/llvm-project/commit/dfeb3991fb489a703f631ab0c34b58f80568038d
Author: James Y Knight <jyknight at google.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/docs/BitCodeFormat.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/IR/Type.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Type.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
R llvm/test/Assembler/x86mmx.ll
M llvm/test/Bitcode/bcanalyzer-types.ll
M llvm/test/Bitcode/compatibility-3.6.ll
M llvm/test/Bitcode/compatibility-3.7.ll
M llvm/test/Bitcode/compatibility-3.8.ll
M llvm/test/Bitcode/compatibility-3.9.ll
M llvm/test/Bitcode/compatibility-4.0.ll
M llvm/test/Bitcode/compatibility-5.0.ll
M llvm/test/Bitcode/compatibility-6.0.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/X86/2008-09-05-sinttofp-2xi32.ll
M llvm/test/CodeGen/X86/avx-vbroadcast.ll
M llvm/test/CodeGen/X86/avx2-vbroadcast.ll
M llvm/test/CodeGen/X86/fast-isel-bc.ll
M llvm/test/CodeGen/X86/mmx-arg-passing-x86-64.ll
M llvm/test/CodeGen/X86/mmx-arg-passing.ll
M llvm/test/CodeGen/X86/mmx-arith.ll
M llvm/test/CodeGen/X86/mmx-bitcast-fold.ll
M llvm/test/CodeGen/X86/mmx-bitcast.ll
M llvm/test/CodeGen/X86/mmx-cvt.ll
M llvm/test/CodeGen/X86/mmx-fold-load.ll
M llvm/test/CodeGen/X86/mmx-intrinsics.ll
M llvm/test/CodeGen/X86/pr23246.ll
M llvm/test/CodeGen/X86/pr29222.ll
M llvm/test/CodeGen/X86/select-mmx.ll
M llvm/test/CodeGen/X86/stack-folding-mmx.ll
M llvm/test/CodeGen/X86/vec_extract-mmx.ll
M llvm/test/CodeGen/X86/vec_insert-7.ll
M llvm/test/CodeGen/X86/vec_insert-mmx.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/vector_arith.ll
M llvm/test/Instrumentation/MemorySanitizer/vector_cvt.ll
M llvm/test/Instrumentation/MemorySanitizer/vector_pack.ll
M llvm/test/Instrumentation/MemorySanitizer/vector_shift.ll
M llvm/test/Transforms/InstCombine/X86/x86-movmsk.ll
M llvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
M llvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
R llvm/test/Transforms/LoopUnroll/X86/mmx.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad_types.ll
M llvm/test/Transforms/SROA/pr57796.ll
M llvm/tools/llvm-c-test/echo.cpp
M llvm/tools/llvm-stress/llvm-stress.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Target/LLVMIR/llvmir-types.mlir
Log Message:
-----------
Remove the `x86_mmx` IR type. (#98505)
It is now translated to `<1 x i64>`, which allows the removal of a bunch
of special casing.
This _incompatibly_ changes the ABI of any LLVM IR function with
`x86_mmx` arguments or returns: instead of passing in mmx registers,
they will now be passed via integer registers. However, the real-world
incompatibility caused by this is expected to be minimal, because Clang
never uses the x86_mmx type -- it lowers `__m64` to either `<1 x i64>`
or `double`, depending on ABI.
This change does _not_ eliminate the SelectionDAG `MVT::x86mmx` type.
That type simply no longer corresponds to an IR type, and is used only
by MMX intrinsics and inline-asm operands.
Because SelectionDAGBuilder only knows how to generate the
operands/results of intrinsics based on the IR type, it thus now
generates the intrinsics with the type MVT::v1i64, instead of
MVT::x86mmx. We need to fix this before the DAG LegalizeTypes, and thus
have the X86 backend fix them up in DAGCombine. (This may be a
short-lived hack, if all the MMX intrinsics can be removed in upcoming
changes.)
Works towards issue #98272.
Commit: fd17064dfa08c252c12b71167bc588f57e6a082c
https://github.com/llvm/llvm-project/commit/fd17064dfa08c252c12b71167bc588f57e6a082c
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
Log Message:
-----------
Fix fs.op.copy_file/copy_file_large.pass.cpp on z/OS (#100382)
This PR is required to fix copy_file_large.pass.cpp which is failing on
z/OS in all ASCII variations. The problem is that a destination file is
opened in binary mode and auto-conversion does not happen when this lit
is compiled with -fzos-le-char-mode=ascii.
In addition opening a destination file will match a text mode of
`fopen()` of a source file.
Commit: ca00cec997c2a22dd6603cddb8bab789e1b01d34
https://github.com/llvm/llvm-project/commit/ca00cec997c2a22dd6603cddb8bab789e1b01d34
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/mul.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange] Infer nonnegative for mul nuw nsw (#100554)
Alive2: https://alive2.llvm.org/ce/z/byzmsV
Commit: 63a7ed45e89799adcca5c0493e184ed946c4a470
https://github.com/llvm/llvm-project/commit/63a7ed45e89799adcca5c0493e184ed946c4a470
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/SemaCXX/new-delete-0x.cpp
Log Message:
-----------
[clang][Interp] Reject non-literal values
Commit: 430cf6537b1e872faabf7b6859b1f7d556dc0da9
https://github.com/llvm/llvm-project/commit/430cf6537b1e872faabf7b6859b1f7d556dc0da9
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
[AMDGPU][NFCI] Declare offset0/1 operands to be i32. (#100560)
Being of type i8 makes them signed, which they aren't, and requires
extra work masking them on verbalisation.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: de792d6d92c3d4fde7065f2590133acf81f1a93e
https://github.com/llvm/llvm-project/commit/de792d6d92c3d4fde7065f2590133acf81f1a93e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll
Log Message:
-----------
[SLP][X86] Update add/sub sat test checks to share common SSE prefixes
Commit: b2b68c241a61bbbe0e2f89cb2182f1b1bec564b6
https://github.com/llvm/llvm-project/commit/b2b68c241a61bbbe0e2f89cb2182f1b1bec564b6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/arith-ssat-codesize.ll
M llvm/test/Analysis/CostModel/X86/arith-ssat-latency.ll
M llvm/test/Analysis/CostModel/X86/arith-ssat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-ssat.ll
M llvm/test/Analysis/CostModel/X86/arith-usat-codesize.ll
M llvm/test/Analysis/CostModel/X86/arith-usat-latency.ll
M llvm/test/Analysis/CostModel/X86/arith-usat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-usat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll
Log Message:
-----------
[CostModel][X86] Add add/sat sat intrinsic costs
Fixes regressions from #97463 due to missing costs for custom lowered ops
Commit: a79db96ec0decca4fe45579e039cf5589345b3ed
https://github.com/llvm/llvm-project/commit/a79db96ec0decca4fe45579e039cf5589345b3ed
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.h
M llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
M llvm/lib/Target/ARM/ARMRegisterBankInfo.h
M llvm/lib/Target/M68k/GISel/M68kRegisterBankInfo.cpp
M llvm/lib/Target/M68k/GISel/M68kRegisterBankInfo.h
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.h
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.h
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
A llvm/test/TableGen/RegBankFromRegClass.td
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
[GISel][TableGen] Generate getRegBankFromRegClass (#99896)
Generating the mapping from a register class to a register bank is
complex:
- there can be lots of register classes
- the mapping may be ambiguos
- a register class can span several register banks (e.g. a register
class containing all registers)
- the type information is not enough to decide which register bank to
map to (e.g. a register class containing floating point and vector
registers, and all register can represent a f64 value)
The approach taken here is to encode the register banks in an array
indexed by the ID of the register class. To save space, the entries are
packed into chunks of size 2^n.
Commit: d311edd0eff2095b1e5e73b4e612e7ddd8d93d70
https://github.com/llvm/llvm-project/commit/d311edd0eff2095b1e5e73b4e612e7ddd8d93d70
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/TargetParser/PPCTargetParser.cpp
Log Message:
-----------
[PowerPC] fix default cpu setting
for platform that returns nothing for getHostCPUName()
For example for target ARM on windows. For this case, -mcpu=native
should set CPU to the default according to triple instead of setting
CPU to "native"
Fixes https://lab.llvm.org/buildbot/#/builders/161/builds/873 caused by
https://github.com/llvm/llvm-project/pull/97541
Commit: 9ad92c476907451bdc95a6c2b6a6bbba03815b4b
https://github.com/llvm/llvm-project/commit/9ad92c476907451bdc95a6c2b6a6bbba03815b4b
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/test/Analysis/ctor-array.cpp
M clang/test/Analysis/ctor.mm
Log Message:
-----------
[analyzer][NFC] Minor cleanup in two test files. (#100570)
This commit contains two unrelated trivial changes:
(1) Three unused variables are removed from `ctor.mm`.
(2) A FIXME block is removed from `ctor-array.cpp` because it described
an issue that was resolved since then.
Commit: 12dba4d48461c571cb5bdb7c3ac6078b9a357a02
https://github.com/llvm/llvm-project/commit/12dba4d48461c571cb5bdb7c3ac6078b9a357a02
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M mlir/docs/Diagnostics.md
M mlir/include/mlir/IR/Diagnostics.h
A mlir/test/IR/diagnostic-handler-metadata.mlir
M mlir/test/lib/IR/CMakeLists.txt
A mlir/test/lib/IR/TestDiagnosticsMetadata.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] Add metadata to Diagnostic. (#99398)
Add metadata to Diagnostic.
Motivation: we have a use case where we want to do some filtering in our
customized Diagnostic Handler based on some customized info that is not
`location` or `severity` or `diagnostic arguments` that are member
variables of `Diagnostic`. Specifically, we want to add a unique ID to
the `Diagnostic` for the handler to filter in a compiler pass that emits
errors in async tasks with multithreading and the diagnostic handling is
associated to the task.
This patch adds a field of `metadata` to `mlir::Diagnostics` as a
general solution. `metadata` is of type `SmallVector<DiagnosticArgument,
0>` to save memory size and reuse existing `DiagnosticArgument` for
metadata type.
Commit: daf9d7f3881e4ffd1fd5988dc1b6223c733b6bef
https://github.com/llvm/llvm-project/commit/daf9d7f3881e4ffd1fd5988dc1b6223c733b6bef
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/test/Sema/builtin-cpu-supports.c
Log Message:
-----------
[PowerPC] add testcaseis for PPC, NFC
For builtin __builtin_cpu_is and __builtin_cpu_supports
Commit: a0c590795eae48903a013699fe84db335854fa80
https://github.com/llvm/llvm-project/commit/a0c590795eae48903a013699fe84db335854fa80
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
Log Message:
-----------
[Frontend][OpenMP] Allow implicit clauses to fail to apply (#100460)
The `linear(x)` clause implies `firstprivate(x)` on the compound
construct if `x` is not an induction variable. With more construct
combinations coming in OpenMP 6.0, the `firstprivate` clause may not be
possible to apply, e.g. in "masked simd".
An additional benefit from this change is that it allows treating leaf
constructs as combined constructs with a single constituent. Otherwise,
a `linear` clause on a lone `simd` construct could imply a
`firstprivate` clause that can't be applied.
Commit: 8758091a70393f71c5a75805f5cbde556f6dce22
https://github.com/llvm/llvm-project/commit/8758091a70393f71c5a75805f5cbde556f6dce22
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-lto-defaults.ll
A llvm/test/Transforms/PhaseOrdering/varargs.ll
Log Message:
-----------
[LLVM] Add 'ExpandVariadicsPass' to LTO default pipeline (#100479)
Summary:
This pass expands variadic functions into non-variadic function calls
according to the target ABI. Currently, this is used as the lowering for
the NVPTX and AMDGPU targets.
This pass is currently only run late in the target's backend. However,
during LTO we want to run it before the inliner pass so that the
expanded functions can be inlined using standard heuristics. This pass
is a no-op for unsupported targets, so this won't apply to any code that
isn't already using it.
Commit: 4db37a49a72bb9cff7a78e77439008c058383099
https://github.com/llvm/llvm-project/commit/4db37a49a72bb9cff7a78e77439008c058383099
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/varargs.ll
Log Message:
-----------
[LLVM] Only run vararg test with the amdgpu target
Commit: 010dcfd85fb8b8c8826f25f27324e3a958dba5f8
https://github.com/llvm/llvm-project/commit/010dcfd85fb8b8c8826f25f27324e3a958dba5f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/arith-overflow.ll
M llvm/test/Analysis/CostModel/X86/costmodel.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
Log Message:
-----------
[CostModel][X86] Improve add/sub/mul overflow intrinsic costs
Noticed due to x86 changes in #97463
Commit: 51d4980a133db12888207698e39c469cb7055cac
https://github.com/llvm/llvm-project/commit/51d4980a133db12888207698e39c469cb7055cac
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[clang][NFC] remove unneeded nullptr checks after dereference (#100489)
Fix static verifer concerns of null pointer checks after dereferencing
the pointer. Update the assert to make it super clear it is not null and
remove the checks.
Commit: abc2eae68290c453e1899a94eccc4ed5ea3b69c1
https://github.com/llvm/llvm-project/commit/abc2eae68290c453e1899a94eccc4ed5ea3b69c1
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M bolt/CMakeLists.txt
M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
M bolt/lib/CMakeLists.txt
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/CMakeLists.txt
M bolt/lib/Target/X86/CMakeLists.txt
M bolt/lib/Utils/CMakeLists.txt
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/runtime/CMakeLists.txt
M bolt/test/lit.cfg.py
M bolt/test/lit.site.cfg.py.in
Log Message:
-----------
[BOLT] Enable standalone build (#97130)
Continue from #87196 as author did not have much time, I have taken over
working on this PR. We would like to have this so it'll be easier to
package for Nix.
Can be tested by copying cmake, bolt, third-party, and llvm directories
out into their own directory with this PR applied and then build bolt.
---------
Co-authored-by: pca006132 <john.lck40 at gmail.com>
Commit: ffd624024865cf98644c4f9357ef369327ac0995
https://github.com/llvm/llvm-project/commit/ffd624024865cf98644c4f9357ef369327ac0995
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M bolt/utils/docker/Dockerfile
Log Message:
-----------
[BOLT] Update Docker to use Ubuntu 24.04 (#99421)
Updates the Dockerfile to use Ubuntu 24.04 due to CMake wanting a newer
version. Can be tested by trying to build the Docker image currently in
main and then try building the Docker image in this PR.
Commit: 0762db6533eda3453158c7b9b0631542c47093a8
https://github.com/llvm/llvm-project/commit/0762db6533eda3453158c7b9b0631542c47093a8
Author: Nathan James <n.james93 at hotmail.co.uk>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
Log Message:
-----------
[clang-tidy] Fix crash in modernize-use-ranges (#100427)
Crash seems to be caused by the check function not handling inline
namespaces correctly for some instances. Changed how the Replacer is got
from the MatchResult now which should alleviate any potential issues
Fixes #100406
Commit: a27f816fe56af9cc7f4f296ad6c577f6ea64349f
https://github.com/llvm/llvm-project/commit/a27f816fe56af9cc7f4f296ad6c577f6ea64349f
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
Log Message:
-----------
[clang-tidy] Fix crash in C language in readability-non-const-parameter (#100461)
Fix crash that happen when redeclaration got
different number of parameters than definition.
Fixes #100340
Commit: 24a18aafa337b70a5a6c30f077bddc64e8677b48
https://github.com/llvm/llvm-project/commit/24a18aafa337b70a5a6c30f077bddc64e8677b48
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
Log Message:
-----------
[AMDGPU] Simplify printing row/bank_mask modifiers. (#100575)
And fix a codegen test to use mask values that fit their encoding
fields.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 98e733eaf2af1a5c1d9392e279d21182ffdf560d
https://github.com/llvm/llvm-project/commit/98e733eaf2af1a5c1d9392e279d21182ffdf560d
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/test/Lower/OpenMP/private-derived-type.f90
Log Message:
-----------
[flang][OpenMP] Initialize privatised derived type variables (#100417)
Fixes #91928
Commit: abacc5220e228012b0b86ca2ed540ef1a715f1ee
https://github.com/llvm/llvm-project/commit/abacc5220e228012b0b86ca2ed540ef1a715f1ee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Log Message:
-----------
Fix unused variable warning. NFC.
Commit: 9398cc2ec57721a57af98f6206c816038375ac6e
https://github.com/llvm/llvm-project/commit/9398cc2ec57721a57af98f6206c816038375ac6e
Author: Acim Maravic <Acim.Maravic at Syrmia.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[LLVM][AMDGPU] Copy isConvergent from Pseudo to Real instructions (#99658)
This patch copies the flag isConvergent from pseudo instructions to the
corresponding real instructions, so that isConvergent flag is also
defined for real instructions.
Flags are not required by the compiler, but for consistency it would be
nice to have them.
Co-authored-by: Acim Maravic <Acim.Maravic at amd.com>
Commit: d8b672dac9f8945ab35cffaa4e196e3d3e61da1f
https://github.com/llvm/llvm-project/commit/d8b672dac9f8945ab35cffaa4e196e3d3e61da1f
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang][NFC] rename fircg op operand index accessors (#100584)
fircg operations have xxxOffset members to give the operand index of
operand xxx. This is a bit weird when looking at usage (e.g.
`arrayCoor.shiftOffset` reads like it is shifting some offset). Rename
them to getXxxOperandIndex.
Commit: 09f81a974495399d060dc156a55f520a90548cc3
https://github.com/llvm/llvm-project/commit/09f81a974495399d060dc156a55f520a90548cc3
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-25 (Thu, 25 Jul 2024)
Changed paths:
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/workflows/issue-write.yml
A .github/workflows/unprivileged-download-artifact/action.yml
M .github/workflows/version-check.yml
M bolt/CMakeLists.txt
M bolt/docs/CommandLineArgumentReference.md
A bolt/docs/HeatmapHeader.png
M bolt/docs/Heatmaps.md
M bolt/docs/OptimizingClang.md
M bolt/docs/generate_doc.py
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/HashUtilities.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/include/bolt/Profile/YAMLProfileReader.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/include/bolt/Utils/NameResolver.h
M bolt/lib/CMakeLists.txt
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/IndirectCallPromotion.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/CMakeLists.txt
M bolt/lib/Target/RISCV/CMakeLists.txt
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/CMakeLists.txt
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CMakeLists.txt
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/runtime/CMakeLists.txt
A bolt/test/AArch64/dummy-return.s
M bolt/test/AArch64/update-debug-reloc.test
M bolt/test/AArch64/veneer-gold.s
A bolt/test/X86/Inputs/ambiguous_fragment.s
A bolt/test/X86/Inputs/ambiguous_fragment.script
M bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
A bolt/test/X86/ambiguous_fragment.test
M bolt/test/X86/debug-fission-single-convert.s
M bolt/test/X86/dwarf4-df-dualcu.test
M bolt/test/X86/dwarf4-df-input-lowpc-ranges-cus.test
M bolt/test/X86/dwarf4-df-input-lowpc-ranges.test
M bolt/test/X86/dwarf5-addr-section-reuse.s
M bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
M bolt/test/X86/dwarf5-locexpr-referrence.test
M bolt/test/X86/dwarf5-one-loclists-two-bases.test
M bolt/test/X86/dwarf5-two-loclists.test
M bolt/test/X86/dwarf5-two-rnglists.test
M bolt/test/X86/infer_no_exits.test
M bolt/test/X86/jt-symbol-disambiguation-4.s
M bolt/test/X86/jump-table-fixed-ref-pic.test
A bolt/test/X86/match-functions-with-call-graph.test
A bolt/test/X86/match-functions-with-calls-as-anchors.test
M bolt/test/X86/pseudoprobe-decoding-inline.test
A bolt/test/X86/three-way-split-jt.s
M bolt/test/lit.cfg.py
M bolt/test/lit.site.cfg.py.in
M bolt/test/perf2bolt/lit.local.cfg
M bolt/utils/docker/Dockerfile
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.h
M clang-tools-extra/clangd/IncludeCleaner.cpp
A clang-tools-extra/clangd/ModulesBuilder.cpp
A clang-tools-extra/clangd/ModulesBuilder.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
A clang-tools-extra/clangd/ProjectModules.h
A clang-tools-extra/clangd/ScanningProjectModules.cpp
A clang-tools-extra/clangd/ScanningProjectModules.h
M clang-tools-extra/clangd/test/CMakeLists.txt
A clang-tools-extra/clangd/test/modules.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
A clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/TestFS.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/docs/modularize.rst
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
A clang-tools-extra/test/clang-doc/enum.cpp
A clang-tools-extra/test/clang-doc/namespace.cpp
A clang-tools-extra/test/clang-doc/test-path-abs.cpp
A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_boost.h
A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-constants.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
M clang/bindings/python/clang/cindex.py
R clang/bindings/python/clang/enumerations.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/bindings/python/tests/cindex/test_token_kind.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
A clang/docs/ClangNVLinkWrapper.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/ExpectedDifferences.rst
M clang/docs/HLSL/HLSLIRReference.rst
M clang/docs/HLSL/ResourceTypes.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
M clang/docs/index.rst
M clang/include/clang-c/Index.h
M clang/include/clang/APINotes/APINotesReader.h
M clang/include/clang/APINotes/APINotesWriter.h
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/MapLattice.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TokenKinds.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/include/clang/CodeGen/CodeGenABITypes.h
R clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
A clang/include/clang/CodeGen/ObjectFilePCHContainerWriter.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/PPEmbedParameters.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/HLSLExternalSemaSource.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
A clang/include/clang/Serialization/ObjectFilePCHContainerReader.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/Boolean.h
M clang/lib/AST/Interp/ByteCodeEmitter.cpp
M clang/lib/AST/Interp/ByteCodeEmitter.h
M clang/lib/AST/Interp/Compiler.cpp
M clang/lib/AST/Interp/Compiler.h
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
A clang/lib/AST/Interp/DynamicAllocator.cpp
A clang/lib/AST/Interp/DynamicAllocator.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvalEmitter.h
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/EvaluationResult.h
M clang/lib/AST/Interp/Floating.h
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Integral.h
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpFrame.h
M clang/lib/AST/Interp/InterpState.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/MemberPointer.cpp
M clang/lib/AST/Interp/MemberPointer.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Sarif.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/Address.h
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGRecordLayout.h
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/ConstantEmitter.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/CoverageMappingGen.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
R clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
A clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.h
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HLSL.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/float.h
M clang/lib/Headers/mm3dnow.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Headers/prfchwintrin.h
M clang/lib/Headers/ptrauth.h
M clang/lib/Headers/stdarg.h
M clang/lib/Headers/stdatomic.h
M clang/lib/Headers/stddef.h
M clang/lib/Headers/tmmintrin.h
M clang/lib/Headers/x86intrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.h
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseAST.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
A clang/lib/Sema/SemaBoundsSafety.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
A clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/CMakeLists.txt
A clang/lib/Serialization/ObjectFilePCHContainerReader.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/APINotes/Inputs/Headers/Methods.apinotes
A clang/test/APINotes/Inputs/Headers/Methods.h
M clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
M clang/test/APINotes/Inputs/Headers/Namespaces.h
M clang/test/APINotes/Inputs/Headers/module.modulemap
A clang/test/APINotes/methods.cpp
M clang/test/APINotes/namespaces.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
R clang/test/AST/HLSL/ResourceStruct.hlsl
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/atomic.c
M clang/test/AST/Interp/c23.c
A clang/test/AST/Interp/codegen.cpp
M clang/test/AST/Interp/cxx11.cpp
M clang/test/AST/Interp/cxx20.cpp
A clang/test/AST/Interp/cxx2a.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/lambda.cpp
M clang/test/AST/Interp/lifetimes.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/Interp/memberpointers.cpp
A clang/test/AST/Interp/new-delete.cpp
M clang/test/AST/Interp/records.cpp
M clang/test/AST/Interp/shifts.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-openmp-for-simd.c
M clang/test/AST/ast-dump-openmp-simd.c
M clang/test/AST/ast-dump-openmp-taskloop-simd.c
A clang/test/AST/ast-dump-ptrauth-json.cpp
A clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
A clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
A clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
A clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
A clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
A clang/test/AST/attr-sized-by-struct-ptrs.c
M clang/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
M clang/test/Analysis/MismatchedDeallocator-checker-test.mm
M clang/test/Analysis/NewDelete-intersections.mm
M clang/test/Analysis/builtin-functions.cpp
M clang/test/Analysis/call-invalidation.cpp
M clang/test/Analysis/ctor-array.cpp
M clang/test/Analysis/ctor.mm
M clang/test/Analysis/diagnostics/explicit-suppression.cpp
M clang/test/Analysis/free.c
M clang/test/Analysis/free.cpp
M clang/test/Analysis/getline-alloc.c
A clang/test/Analysis/issue-94193.cpp
M clang/test/Analysis/kmalloc-linux.c
M clang/test/Analysis/malloc-fnptr-plist.c
M clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/out-of-bounds-diagnostics.c
M clang/test/Analysis/plist-macros.cpp
M clang/test/Analysis/stream.c
M clang/test/Analysis/use-after-move.cpp
M clang/test/Analysis/weak-functions.c
A clang/test/C/C23/n2653.c
M clang/test/C/C23/n3017.c
A clang/test/C/C2y/n3244.c
M clang/test/C/C2y/n3254.c
A clang/test/C/C2y/n3262.c
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr2xx.c
M clang/test/CMakeLists.txt
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p2.cpp
M clang/test/CXX/basic/basic.types/p10.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
M clang/test/CXX/module/module.import/p6.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p2-20.cpp
M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
A clang/test/CodeGen/PowerPC/save-reg-params.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfwmacc_4x4x4.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvtbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmaccbf16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-intrinsic-datatypes.cpp
M clang/test/CodeGen/SystemZ/systemz-abi.c
R clang/test/CodeGen/X86/3dnow-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/mmx-inline-asm.c
M clang/test/CodeGen/X86/mmx-shift-with-immediate.c
M clang/test/CodeGen/X86/x86_64-vaarg.c
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/aarch64-byval-temp.c
A clang/test/CodeGen/aarch64-fmv-resolver-emission.c
A clang/test/CodeGen/aarch64-gcs.c
A clang/test/CodeGen/aarch64-inlineasm-ios.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/aarch64-sign-return-address.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aix-builtin-cpu-is.c
M clang/test/CodeGen/arm-branch-protection-attr-1.c
M clang/test/CodeGen/arm-branch-protection-attr-2.c
M clang/test/CodeGen/asan-destructor-kind.cpp
M clang/test/CodeGen/asm-inout.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/attr-target-x86-mmx.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/blocks.c
M clang/test/CodeGen/builtin-cpu-supports.c
M clang/test/CodeGen/builtins-bitint.c
M clang/test/CodeGen/builtins-elementwise-math.c
R clang/test/CodeGen/builtins-nvptx-native-half-type-err.c
A clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-overflow.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/builtins-x86.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/ext-int-sanitizer.cpp
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/extend-arg-64.c
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/kcfi.c
M clang/test/CodeGen/libcalls.c
A clang/test/CodeGen/math-libcalls-tbaa.cpp
M clang/test/CodeGen/math-libcalls.c
A clang/test/CodeGen/ms_mangler_templatearg_opte.cpp
M clang/test/CodeGen/palignr.c
M clang/test/CodeGen/paren-list-agg-init.cpp
R clang/test/CodeGen/pr26099.c
M clang/test/CodeGen/pragma-cx-limited-range.c
M clang/test/CodeGen/ptrauth-function-attributes.c
A clang/test/CodeGen/ptrauth-function-lvalue-cast-disc.c
A clang/test/CodeGen/ptrauth-function-type-discriminator-cast.c
A clang/test/CodeGen/ptrauth-function-type-discriminator.c
M clang/test/CodeGen/ptrauth-ubsan-vptr.cpp
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGen/ubsan-shift-bitint.c
A clang/test/CodeGen/variadic-nvptx.c
M clang/test/CodeGen/voidptr-vaarg.c
A clang/test/CodeGenCUDA/template-class-static-member.cu
M clang/test/CodeGenCXX/2011-12-19-init-list-ctor.cpp
A clang/test/CodeGenCXX/aarch64-fmv-resolver-emission.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
A clang/test/CodeGenCXX/arm64-generated-fn-attr.cpp
M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
M clang/test/CodeGenCXX/class-layout.cpp
M clang/test/CodeGenCXX/compound-literals.cpp
M clang/test/CodeGenCXX/cxx1z-constexpr-if.cpp
M clang/test/CodeGenCXX/exceptions.cpp
M clang/test/CodeGenCXX/ext-int.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/lambda-deterministic-captures.cpp
M clang/test/CodeGenCXX/mangle-fail.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/no-const-init-cxx2a.cpp
M clang/test/CodeGenCXX/nullptr.cpp
M clang/test/CodeGenCXX/partial-destruction.cpp
M clang/test/CodeGenCXX/pod-member-memcpys.cpp
M clang/test/CodeGenCXX/pr18962.cpp
R clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
A clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
A clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
M clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
A clang/test/CodeGenCXX/ptrauth-static-destructors.cpp
A clang/test/CodeGenCXX/ptrauth-throw.cpp
M clang/test/CodeGenCXX/ptrauth-thunks.cpp
A clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/references.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/ubsan-vtable-checks.cpp
A clang/test/CodeGenCXX/zero-init-empty-virtual.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
A clang/test/CodeGenHLSL/loops/unroll.hlsl
M clang/test/CodeGenObjC/arc-foreach.m
M clang/test/CodeGenObjC/blocks.m
M clang/test/CodeGenObjCXX/lambda-to-block.mm
M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-store.cl
M clang/test/CodeGenOpenCL/builtins-f16.cl
M clang/test/CoverageMapping/system_macro.cpp
A clang/test/Driver/Inputs/multilib_aarch64_linux_tree/usr/include/aarch64-linux-gnu/.keep
A clang/test/Driver/Inputs/multilib_aarch64_linux_tree/usr/include/aarch64-linux-pauthtest/.keep
M clang/test/Driver/Ofast.c
A clang/test/Driver/aarch64-multilib-pauthabi.c
A clang/test/Driver/aarch64-multilib-rcpc3.c
M clang/test/Driver/aarch64-ptrauth.c
A clang/test/Driver/aix-save-reg-params.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/darwin-print-libgcc-file-name.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/dxc_debug.hlsl
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
M clang/test/Driver/fpatchable-function-entry.c
A clang/test/Driver/fraw-string-literals-cxx.cpp
M clang/test/Driver/ftime-trace-sections.cpp
M clang/test/Driver/ftime-trace-sections.py
M clang/test/Driver/ftime-trace.cpp
M clang/test/Driver/gpu-libc-headers.c
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/linker-wrapper-libs.c
A clang/test/Driver/linker-wrapper-llvm-help.c
A clang/test/Driver/linker-wrapper-passes.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/loongarch-features.c
M clang/test/Driver/loongarch-march.c
M clang/test/Driver/loongarch-mlasx.c
A clang/test/Driver/loongarch-msimd.c
M clang/test/Driver/loongarch-msingle-float.c
M clang/test/Driver/loongarch-msoft-float.c
M clang/test/Driver/loongarch-mtune.c
M clang/test/Driver/lto-jobs.c
A clang/test/Driver/modulemap-allow-subdirectory-search.c
A clang/test/Driver/msse2avx.c
A clang/test/Driver/nvlink-wrapper.c
M clang/test/Driver/ohos.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/ppc-unsupported.c
M clang/test/Driver/print-enabled-extensions/aarch64-a64fx.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1a.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a10.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a11.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a12.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a13.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a14.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a15.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-a7.c
M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8-r.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.1-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.2-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.3-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.5-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.6-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-carmel.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a34.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a35.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a53.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a55.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a57.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a65ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a72.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a73.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a75.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a76ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a77.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a78c.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x1c.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m3.c
M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m4.c
M clang/test/Driver/print-enabled-extensions/aarch64-exynos-m5.c
M clang/test/Driver/print-enabled-extensions/aarch64-falkor.c
M clang/test/Driver/print-enabled-extensions/aarch64-generic.c
M clang/test/Driver/print-enabled-extensions/aarch64-kryo.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-512tvb.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-e1.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n1.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v1.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-oryon-1.c
M clang/test/Driver/print-enabled-extensions/aarch64-saphira.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderx.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderx2t99.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderx3t110.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt81.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt83.c
M clang/test/Driver/print-enabled-extensions/aarch64-thunderxt88.c
M clang/test/Driver/print-enabled-extensions/aarch64-tsv110.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/ps4-linker.c
R clang/test/Driver/ps4-ps5-linker.c
M clang/test/Driver/ps4-ps5-runtime-flags.c
A clang/test/Driver/ps5-linker.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/unified-lto.c
A clang/test/Driver/warn-fsyntax-only.c
M clang/test/Driver/x86-target-features.c
A clang/test/Frontend/arm-branch-protection-lto.c
M clang/test/Frontend/fixed_point_comparisons.c
A clang/test/Frontend/module-file-info-not-a-module.c
A clang/test/Frontend/skip-function-bodies.cpp
A clang/test/Headers/__cpuidex_conflict.c
M clang/test/Headers/cpuid.c
M clang/test/Headers/float.c
M clang/test/Headers/mm3dnow.c
M clang/test/Headers/stdatomic.c
M clang/test/Headers/stddefneeds.cpp
M clang/test/Headers/xmmintrin.c
A clang/test/Index/binop.cpp
M clang/test/Index/blocks.c
M clang/test/Index/c-index-api-loadTU-test.m
M clang/test/Index/index-concepts.cpp
M clang/test/Index/load-staticassert.cpp
M clang/test/Index/nested-binaryoperators.cpp
M clang/test/Index/preamble.c
M clang/test/Index/print-type.c
M clang/test/Index/print-type.cpp
M clang/test/Index/recursive-cxx-member-calls.cpp
M clang/test/Index/remap-load.c
M clang/test/Index/usrs.m
M clang/test/InstallAPI/diagnostics-dsym.test
A clang/test/InstallAPI/reexport-with-linker-symbols.test
A clang/test/Lexer/raw-string-ext.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note.c
A clang/test/Modules/export-redecl-in-language-linkage.cppm
A clang/test/Modules/modulemap-allow-subdirectory-search.m
A clang/test/Modules/pch-in-module-units.cppm
R clang/test/Modules/pr97313.cppm
A clang/test/Modules/stddef.cpp
M clang/test/Modules/subdirectory-module-maps-working-dir.m
M clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/depend_iterator_bug.c
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/generic_loop_ast_print.cpp
M clang/test/OpenMP/generic_loop_codegen.cpp
A clang/test/OpenMP/interchange_ast_print.cpp
A clang/test/OpenMP/interchange_codegen.cpp
A clang/test/OpenMP/interchange_messages.cpp
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
A clang/test/OpenMP/reverse_ast_print.cpp
A clang/test/OpenMP/reverse_codegen.cpp
A clang/test/OpenMP/reverse_messages.cpp
M clang/test/OpenMP/target_parallel_debug_codegen.cpp
M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/task_codegen.c
M clang/test/OpenMP/task_member_call_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/PCH/aarch64-sve-types.c
M clang/test/PCH/pragma-loop.cpp
M clang/test/Parser/cxx-concepts-requires-clause.cpp
M clang/test/Parser/cxx-template-argument.cpp
M clang/test/Parser/cxx-template-decl.cpp
A clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
A clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
A clang/test/Preprocessor/Inputs/big_char.txt
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/embed_codegen.cpp
M clang/test/Preprocessor/embed_constexpr.cpp
A clang/test/Preprocessor/embed_search_paths.c
M clang/test/Preprocessor/embed_weird.cpp
M clang/test/Preprocessor/has_builtin_cpuid.c
M clang/test/Preprocessor/hexagon-predefines.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init-ppc64.c
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/pragma_mc_func.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Rewriter/rewrite-modern-catch.m
A clang/test/Sema/aarch64-neon-without-target-feature.cpp
M clang/test/Sema/alignas.c
M clang/test/Sema/arm-interrupt-attr.c
M clang/test/Sema/atomic-ops.c
A clang/test/Sema/attr-counted-by-bounds-safety-vlas.c
A clang/test/Sema/attr-counted-by-or-null-last-field.c
A clang/test/Sema/attr-counted-by-or-null-late-parsed-off.c
A clang/test/Sema/attr-counted-by-or-null-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-or-null-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-or-null-struct-ptrs.c
A clang/test/Sema/attr-counted-by-or-null-vla-sizeless-types.c
M clang/test/Sema/attr-counted-by-vla.c
M clang/test/Sema/attr-ownership.c
A clang/test/Sema/attr-sized-by-last-field.c
A clang/test/Sema/attr-sized-by-late-parsed-off.c
A clang/test/Sema/attr-sized-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-last-field.c
A clang/test/Sema/attr-sized-by-or-null-late-parsed-off.c
A clang/test/Sema/attr-sized-by-or-null-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-sized-by-or-null-struct-ptrs.c
A clang/test/Sema/attr-sized-by-or-null-vla-sizeless-types.c
A clang/test/Sema/attr-sized-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-sized-by-struct-ptrs.c
A clang/test/Sema/attr-sized-by-vla-sizeless-types.c
M clang/test/Sema/attr-weak.c
M clang/test/Sema/builtin-cpu-supports.c
M clang/test/Sema/builtins.c
M clang/test/Sema/c2x-typeof.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/integer-overflow.c
M clang/test/Sema/no-warn-missing-prototype.c
M clang/test/Sema/patchable-function-entry-attr.cpp
A clang/test/Sema/ptrauth-indirect-goto.c
M clang/test/Sema/ptrauth-intrinsics-macro.c
M clang/test/Sema/riscv-types.c
A clang/test/Sema/shift-count-negative.c
A clang/test/Sema/shift-count-overflow.c
A clang/test/Sema/shift-negative-value.c
M clang/test/Sema/switch.c
A clang/test/Sema/undefined-internal-basic.c
A clang/test/Sema/undefined-internal-typeof-c23.c
M clang/test/Sema/vla-2.c
M clang/test/Sema/warn-lifetime-analysis-nocfg-disabled.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-thread-safety-analysis.c
M clang/test/Sema/x86-builtin-palignr.c
M clang/test/SemaCUDA/device-use-host-var.cu
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/attr-weak.cpp
M clang/test/SemaCXX/builtin_vectorelements.cpp
M clang/test/SemaCXX/class.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2b.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_in_class.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx23-invalid-constexpr.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/decltype.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/enum.cpp
A clang/test/SemaCXX/instantiate-template-broken-nontype-default.cpp
A clang/test/SemaCXX/invalid-template-declaration.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
M clang/test/SemaCXX/new-delete-0x.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
A clang/test/SemaCXX/pr98102.cpp
M clang/test/SemaCXX/ptrauth-incomplete-virtual-member-function-return-arg-type.cpp
A clang/test/SemaCXX/ptrauth-type-discriminator.cpp
M clang/test/SemaCXX/shift.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaCXX/typeof.cpp
R clang/test/SemaCXX/typeof_unqual.cpp
M clang/test/SemaCXX/vtable_pointer_authentication_attribute.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unused-variables.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
A clang/test/SemaHLSL/Loops/unroll.hlsl
R clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
M clang/test/SemaHLSL/ScalarOverloadResolution.hlsl
A clang/test/SemaHLSL/SplatOverloadResolution.hlsl
A clang/test/SemaHLSL/TruncationOverloadResolution.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
M clang/test/SemaHLSL/VectorElementOverloadResolution.hlsl
M clang/test/SemaHLSL/VectorOverloadResolution.hlsl
M clang/test/SemaHLSL/export.hlsl
M clang/test/SemaHLSL/standard_conversion_sequences.hlsl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-load-error.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-store-error.cl
A clang/test/SemaTemplate/alias-template-deprecated.cpp
M clang/test/SemaTemplate/class-template-decl.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/instantiate-local-class.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/nested-deduction-guides.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/tools/CMakeLists.txt
M clang/tools/c-index-test/CMakeLists.txt
M clang/tools/c-index-test/c-index-test.c
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-check/ClangCheck.cpp
M clang/tools/clang-fuzzer/dictionary/CMakeLists.txt
M clang/tools/clang-linker-wrapper/CMakeLists.txt
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
A clang/tools/clang-nvlink-wrapper/CMakeLists.txt
A clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
A clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/libclang.map
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/Interp/toAPValue.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/StaticAnalyzer/CMakeLists.txt
A clang/unittests/StaticAnalyzer/ExprEngineVisitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/www/builtins.py
M clang/www/c_status.html
M clang/www/cxx_status.html
M cmake/Modules/LLVMVersion.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/CODE_OWNERS.TXT
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/Modules/BuiltinTests.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
A compiler-rt/cmake/caches/GPU.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/sanitizer/allocator_interface.h
M compiler-rt/lib/CMakeLists.txt
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_globals_win.cpp
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/asan/asan_preinit.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_suppressions.cpp
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/README.txt
M compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
A compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
M compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
A compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/fp_extend.h
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
M compiler-rt/lib/builtins/trampoline_setup.c
M compiler-rt/lib/dfsan/dfsan_allocator.h
M compiler-rt/lib/fuzzer/FuzzerFork.cpp
M compiler-rt/lib/gwp_asan/CMakeLists.txt
M compiler-rt/lib/hwasan/hwasan_allocator.cpp
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/hwasan/hwasan_preinit.cpp
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/hwasan/hwasan_thread_list.cpp
M compiler-rt/lib/lsan/CMakeLists.txt
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/lsan/lsan_common_linux.cpp
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_preinit.cpp
M compiler-rt/lib/lsan/lsan_thread.cpp
M compiler-rt/lib/memprof/memprof_allocator.h
M compiler-rt/lib/memprof/memprof_preinit.cpp
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/memprof/memprof_thread.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/msan/msan_allocator.h
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/msan/msan_linux.cpp
M compiler-rt/lib/msan/msan_thread.cpp
M compiler-rt/lib/nsan/CMakeLists.txt
M compiler-rt/lib/nsan/nsan.cpp
M compiler-rt/lib/nsan/nsan.h
M compiler-rt/lib/nsan/nsan.syms.extra
M compiler-rt/lib/nsan/nsan_interceptors.cpp
A compiler-rt/lib/nsan/nsan_malloc_linux.cpp
A compiler-rt/lib/nsan/nsan_preinit.cpp
M compiler-rt/lib/nsan/tests/CMakeLists.txt
A compiler-rt/lib/rtsan/CMakeLists.txt
A compiler-rt/lib/rtsan/rtsan.cpp
A compiler-rt/lib/rtsan/rtsan.h
A compiler-rt/lib/rtsan/rtsan_context.cpp
A compiler-rt/lib/rtsan/rtsan_context.h
A compiler-rt/lib/rtsan/rtsan_interceptors.cpp
A compiler-rt/lib/rtsan/rtsan_interceptors.h
A compiler-rt/lib/rtsan/rtsan_preinit.cpp
A compiler-rt/lib/rtsan/rtsan_stack.cpp
A compiler-rt/lib/rtsan/rtsan_stack.h
A compiler-rt/lib/rtsan/tests/CMakeLists.txt
A compiler-rt/lib/rtsan/tests/rtsan_test_context.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
A compiler-rt/lib/rtsan/tests/rtsan_test_utilities.h
M compiler-rt/lib/safestack/CMakeLists.txt
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/lib/safestack/safestack_util.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_interface.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
M compiler-rt/lib/sanitizer_common/sanitizer_common.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/string_utils.h
M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/tests/timing_test.cpp
M compiler-rt/lib/scudo/standalone/tests/vector_test.cpp
M compiler-rt/lib/scudo/standalone/timing.h
M compiler-rt/lib/scudo/standalone/vector.h
M compiler-rt/lib/tsan/rtl/tsan_defs.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_preinit.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/lib/tsan/rtl/tsan_suppressions.cpp
M compiler-rt/lib/tsan/rtl/tsan_vector_clock.h
M compiler-rt/lib/ubsan/ubsan_diag.cpp
M compiler-rt/lib/ubsan/ubsan_init_standalone_preinit.cpp
M compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cpp
M compiler-rt/lib/ubsan_minimal/CMakeLists.txt
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Darwin/init_for_dlopen.cpp
A compiler-rt/test/asan/TestCases/Posix/ignore_free_hook.cpp
M compiler-rt/test/asan/TestCases/debug_mapping.cpp
M compiler-rt/test/asan/TestCases/debug_stacks.cpp
M compiler-rt/test/asan/Unit/lit.site.cfg.py.in
M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/ctx_profile/CMakeLists.txt
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/fuzzer/fuzzer-finalstats.test
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/gwp_asan/CMakeLists.txt
M compiler-rt/test/hwasan/TestCases/Linux/fixed-shadow.c
A compiler-rt/test/hwasan/TestCases/Posix/ignore_free_hook.cpp
M compiler-rt/test/interception/CMakeLists.txt
M compiler-rt/test/memprof/CMakeLists.txt
M compiler-rt/test/msan/CMakeLists.txt
A compiler-rt/test/msan/Linux/prctl.cpp
M compiler-rt/test/msan/Linux/sigandorset.cpp
M compiler-rt/test/nsan/CMakeLists.txt
A compiler-rt/test/nsan/alloca.cpp
A compiler-rt/test/nsan/helpers.h
M compiler-rt/test/nsan/lit.cfg.py
M compiler-rt/test/nsan/lit.site.cfg.py.in
A compiler-rt/test/nsan/sum.cpp
M compiler-rt/test/orc/CMakeLists.txt
M compiler-rt/test/profile/Linux/instrprof-vtable-value-prof.cpp
M compiler-rt/test/profile/instrprof-gc-sections.c
A compiler-rt/test/rtsan/CMakeLists.txt
A compiler-rt/test/rtsan/Unit/lit.site.cfg.py.in
A compiler-rt/test/rtsan/lit.cfg.py
A compiler-rt/test/rtsan/lit.site.cfg.py.in
M compiler-rt/test/safestack/CMakeLists.txt
M compiler-rt/test/safestack/lit.cfg.py
M compiler-rt/test/safestack/lit.site.cfg.py.in
M compiler-rt/test/sanitizer_common/CMakeLists.txt
A compiler-rt/test/sanitizer_common/TestCases/FreeBSD/dump_registers_i386.cpp
A compiler-rt/test/sanitizer_common/TestCases/FreeBSD/dump_registers_x86_64.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_i386.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_x86_64.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/prctl.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
R compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_bad_report_path_test.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
M compiler-rt/test/scudo/standalone/CMakeLists.txt
M compiler-rt/test/tsan/CMakeLists.txt
M compiler-rt/test/tsan/Linux/check_preinit.cpp
M compiler-rt/test/tsan/debug_alloc_stack.cpp
M compiler-rt/test/xray/CMakeLists.txt
M compiler-rt/www/index.html
M cross-project-tests/lit.cfg.py
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/docs/Extensions.md
M flang/docs/GettingInvolved.md
M flang/docs/InternalProcedureTrampolines.md
M flang/docs/Intrinsics.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
A flang/include/flang/Optimizer/Transforms/MemoryUtils.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/provenance.h
M flang/include/flang/Runtime/misc-intrinsic.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/type.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
A flang/lib/Optimizer/Transforms/MemoryUtils.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/provenance.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-nullify.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/definable.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/type.cpp
M flang/module/iso_fortran_env.f90
A flang/module/iso_fortran_env_impl.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/command.cpp
M flang/runtime/derived.cpp
M flang/runtime/misc-intrinsic.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/unit.cpp
A flang/test/Driver/Inputs/config-1.cfg
A flang/test/Driver/Inputs/config-2.cfg
A flang/test/Driver/Inputs/config-2a.cfg
A flang/test/Driver/Inputs/config-6.cfg
A flang/test/Driver/Inputs/config/config-4.cfg
A flang/test/Driver/Inputs/config2/config-4.cfg
A flang/test/Driver/config-file.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Driver/tune-cpu-fir.f90
M flang/test/Fir/abstract-results.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/declare-codegen.fir
A flang/test/Fir/memory-allocation-opt-2.fir
M flang/test/Integration/debug-assumed-shape-array.f90
A flang/test/Integration/debug-assumed-size-array-2.f90
A flang/test/Integration/debug-assumed-size-array.f90
M flang/test/Integration/debug-fixed-array-type-2.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/HLFIR/array-ctor-character.f90
A flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
A flang/test/Lower/Intrinsics/atan.f90
M flang/test/Lower/Intrinsics/atan_real16.f90
M flang/test/Lower/Intrinsics/get_environment_variable.f90
A flang/test/Lower/Intrinsics/rename.f90
A flang/test/Lower/Intrinsics/second.f90
A flang/test/Lower/OpenMP/Todo/atomic-character.f90
A flang/test/Lower/OpenMP/Todo/atomic-complex.f90
R flang/test/Lower/OpenMP/Todo/masked-directive.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-aligned.f90
M flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-safelen.f90
R flang/test/Lower/OpenMP/Todo/omp-do-simd-simdlen.f90
M flang/test/Lower/OpenMP/atomic-read.f90
A flang/test/Lower/OpenMP/distribute-simd.f90
A flang/test/Lower/OpenMP/firstprivate-allocatable.f90
M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
M flang/test/Lower/OpenMP/if-clause.f90
A flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/loop-compound.f90
A flang/test/Lower/OpenMP/masked.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
A flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
A flang/test/Lower/OpenMP/private-derived-type.f90
A flang/test/Lower/OpenMP/sections-array-reduction.f90
A flang/test/Lower/OpenMP/sections-reduction.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
A flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/location.f90
A flang/test/Lower/location0.inc
A flang/test/Lower/location1.inc
M flang/test/Lower/namelist.f90
A flang/test/Lower/tune-cpu-llvm.f90
A flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Preprocessing/directive-contin-with-pp.F90
A flang/test/Preprocessing/timestamp.F90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/do-collapse.f90
M flang/test/Semantics/OpenMP/do09.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/array-constr-len.f90
M flang/test/Semantics/array-constr-values.f90
M flang/test/Semantics/assign10.f90
A flang/test/Semantics/associate03.f90
M flang/test/Semantics/c_loc01.f90
M flang/test/Semantics/definable02.f90
M flang/test/Semantics/final03.f90
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/modfile65.f90
A flang/test/Semantics/parent-comp-name.f90
A flang/test/Semantics/struct03.f90
A flang/test/Transforms/debug-92391.fir
A flang/test/Transforms/debug-96314.fir
M flang/test/Transforms/debug-assumed-shape-array.fir
A flang/test/Transforms/debug-assumed-size-array.fir
A flang/test/Transforms/debug-local-global-storage-1.fir
M flang/test/Transforms/debug-ptr-type.fir
A flang/test/Transforms/stack-arrays-hlfir.f90
M flang/test/Transforms/stack-arrays.fir
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/CMakeLists.txt
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/FIRContextTest.cpp
M libc/CMakeLists.txt
M libc/benchmarks/LibcDefaultImplementations.cpp
M libc/benchmarks/LibcMemoryBenchmarkMain.cpp
M libc/benchmarks/automemcpy/lib/CodeGen.cpp
M libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
M libc/benchmarks/gpu/BenchmarkLogger.cpp
M libc/benchmarks/gpu/BenchmarkLogger.h
M libc/benchmarks/gpu/CMakeLists.txt
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/LibcGpuBenchmark.h
M libc/benchmarks/gpu/src/ctype/CMakeLists.txt
M libc/benchmarks/gpu/src/ctype/isalnum_benchmark.cpp
M libc/benchmarks/gpu/timing/CMakeLists.txt
A libc/benchmarks/gpu/timing/amdgpu/CMakeLists.txt
A libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
M libc/benchmarks/gpu/timing/timing.h
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/LibcConfig.cmake
A libc/cmake/modules/compiler_features/check_builtin_ceil_floor_rint_trunc.cpp
A libc/cmake/modules/compiler_features/check_builtin_fmax_fmin.cpp
A libc/cmake/modules/compiler_features/check_builtin_fmaxf16_fminf16.cpp
A libc/cmake/modules/compiler_features/check_builtin_round.cpp
A libc/cmake/modules/compiler_features/check_builtin_roundeven.cpp
A libc/cmake/modules/cpu_features/check_FullFP16.cpp
M libc/config/baremetal/api.td
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/api.td
M libc/config/gpu/config.json
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/app.h
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/config/windows/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/clang_tidy_checks.rst
M libc/docs/dev/header_generation.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/support.rst
M libc/docs/gpu/using.rst
M libc/docs/math/index.rst
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/hdr/CMakeLists.txt
M libc/hdr/math_macros.h
A libc/hdr/stdio_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/FILE.h
A libc/hdr/types/cookie_io_functions_t.h
A libc/hdr/types/off_t.h
M libc/include/CMakeLists.txt
M libc/include/assert.h.def
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/gpu/time-macros.h
A libc/include/llvm-libc-macros/math-function-macros.h
M libc/include/llvm-libc-macros/math-macros.h
M libc/include/llvm-libc-macros/stdio-macros.h
M libc/include/llvm-libc-types/fsblkcnt_t.h
M libc/include/llvm-libc-types/fsfilcnt_t.h
M libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/include/llvm-libc-types/struct_statvfs.h
M libc/include/math.h.def
M libc/include/time.h.def
M libc/include/uchar.h.def
M libc/include/wchar.h.def
M libc/lib/CMakeLists.txt
M libc/newhdrgen/CMakeLists.txt
M libc/newhdrgen/class_implementation/classes/function.py
R libc/newhdrgen/class_implementation/classes/include.py
A libc/newhdrgen/gpu_headers.py
M libc/newhdrgen/header.py
M libc/newhdrgen/tests/expected_output/test_header.h
M libc/newhdrgen/tests/input/test_small.h.def
M libc/newhdrgen/tests/input/test_small.yaml
R libc/newhdrgen/tests/output/test_small.h
M libc/newhdrgen/tests/test_integration.py
A libc/newhdrgen/yaml/arpa/inet.yaml
R libc/newhdrgen/yaml/arpa_inet.yaml
A libc/newhdrgen/yaml/assert.yaml
A libc/newhdrgen/yaml/dlfcn.yaml
A libc/newhdrgen/yaml/features.yaml
A libc/newhdrgen/yaml/gpu/rpc.yaml
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml/pthread.yaml
R libc/newhdrgen/yaml/rpc.yaml
M libc/newhdrgen/yaml/search.yaml
M libc/newhdrgen/yaml/stdio.yaml
A libc/newhdrgen/yaml/sys/auxv.yaml
A libc/newhdrgen/yaml/sys/epoll.yaml
A libc/newhdrgen/yaml/sys/ioctl.yaml
A libc/newhdrgen/yaml/sys/mman.yaml
A libc/newhdrgen/yaml/sys/prctl.yaml
A libc/newhdrgen/yaml/sys/random.yaml
A libc/newhdrgen/yaml/sys/resource.yaml
A libc/newhdrgen/yaml/sys/select.yaml
A libc/newhdrgen/yaml/sys/sendfile.yaml
A libc/newhdrgen/yaml/sys/socket.yaml
A libc/newhdrgen/yaml/sys/stat.yaml
A libc/newhdrgen/yaml/sys/statvfs.yaml
A libc/newhdrgen/yaml/sys/syscall.yaml
A libc/newhdrgen/yaml/sys/time.yaml
A libc/newhdrgen/yaml/sys/types.yaml
A libc/newhdrgen/yaml/sys/utsname.yaml
A libc/newhdrgen/yaml/sys/wait.yaml
R libc/newhdrgen/yaml/sys_auxv.yaml
R libc/newhdrgen/yaml/sys_epoll.yaml
R libc/newhdrgen/yaml/sys_ioctl.yaml
R libc/newhdrgen/yaml/sys_mman.yaml
R libc/newhdrgen/yaml/sys_prctl.yaml
R libc/newhdrgen/yaml/sys_random.yaml
R libc/newhdrgen/yaml/sys_resource.yaml
R libc/newhdrgen/yaml/sys_select.yaml
R libc/newhdrgen/yaml/sys_sendfile.yaml
R libc/newhdrgen/yaml/sys_socket.yaml
R libc/newhdrgen/yaml/sys_stat.yaml
R libc/newhdrgen/yaml/sys_statvfs.yaml
R libc/newhdrgen/yaml/sys_syscall.yaml
R libc/newhdrgen/yaml/sys_time.yaml
R libc/newhdrgen/yaml/sys_types.yaml
R libc/newhdrgen/yaml/sys_utsname.yaml
R libc/newhdrgen/yaml/sys_wait.yaml
M libc/newhdrgen/yaml/time.yaml
M libc/newhdrgen/yaml/unistd.yaml
M libc/newhdrgen/yaml/wchar.yaml
M libc/newhdrgen/yaml_to_classes.py
M libc/spec/bsd_ext.td
M libc/spec/llvm_libc_ext.td
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CPP/algorithm.h
M libc/src/__support/CPP/array.h
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/bitset.h
M libc/src/__support/CPP/cstddef.h
M libc/src/__support/CPP/expected.h
M libc/src/__support/CPP/functional.h
M libc/src/__support/CPP/iterator.h
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/mutex.h
M libc/src/__support/CPP/new.h
M libc/src/__support/CPP/optional.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/CPP/stringstream.h
M libc/src/__support/CPP/type_traits/add_lvalue_reference.h
M libc/src/__support/CPP/type_traits/add_pointer.h
M libc/src/__support/CPP/type_traits/add_rvalue_reference.h
M libc/src/__support/CPP/type_traits/aligned_storage.h
M libc/src/__support/CPP/type_traits/always_false.h
M libc/src/__support/CPP/type_traits/bool_constant.h
M libc/src/__support/CPP/type_traits/conditional.h
M libc/src/__support/CPP/type_traits/decay.h
M libc/src/__support/CPP/type_traits/enable_if.h
M libc/src/__support/CPP/type_traits/false_type.h
M libc/src/__support/CPP/type_traits/integral_constant.h
M libc/src/__support/CPP/type_traits/invoke.h
M libc/src/__support/CPP/type_traits/invoke_result.h
M libc/src/__support/CPP/type_traits/is_arithmetic.h
M libc/src/__support/CPP/type_traits/is_array.h
M libc/src/__support/CPP/type_traits/is_base_of.h
M libc/src/__support/CPP/type_traits/is_class.h
M libc/src/__support/CPP/type_traits/is_const.h
M libc/src/__support/CPP/type_traits/is_constant_evaluated.h
M libc/src/__support/CPP/type_traits/is_convertible.h
M libc/src/__support/CPP/type_traits/is_destructible.h
M libc/src/__support/CPP/type_traits/is_enum.h
M libc/src/__support/CPP/type_traits/is_fixed_point.h
M libc/src/__support/CPP/type_traits/is_floating_point.h
M libc/src/__support/CPP/type_traits/is_function.h
M libc/src/__support/CPP/type_traits/is_integral.h
M libc/src/__support/CPP/type_traits/is_lvalue_reference.h
M libc/src/__support/CPP/type_traits/is_member_pointer.h
M libc/src/__support/CPP/type_traits/is_null_pointer.h
M libc/src/__support/CPP/type_traits/is_object.h
M libc/src/__support/CPP/type_traits/is_pointer.h
M libc/src/__support/CPP/type_traits/is_reference.h
M libc/src/__support/CPP/type_traits/is_rvalue_reference.h
M libc/src/__support/CPP/type_traits/is_same.h
M libc/src/__support/CPP/type_traits/is_scalar.h
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_trivially_constructible.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/CPP/type_traits/is_trivially_destructible.h
M libc/src/__support/CPP/type_traits/is_union.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/CPP/type_traits/is_void.h
M libc/src/__support/CPP/type_traits/make_signed.h
M libc/src/__support/CPP/type_traits/make_unsigned.h
M libc/src/__support/CPP/type_traits/remove_all_extents.h
M libc/src/__support/CPP/type_traits/remove_cv.h
M libc/src/__support/CPP/type_traits/remove_cvref.h
M libc/src/__support/CPP/type_traits/remove_extent.h
M libc/src/__support/CPP/type_traits/remove_reference.h
M libc/src/__support/CPP/type_traits/true_type.h
M libc/src/__support/CPP/type_traits/type_identity.h
M libc/src/__support/CPP/type_traits/void_t.h
M libc/src/__support/CPP/utility/declval.h
M libc/src/__support/CPP/utility/forward.h
M libc/src/__support/CPP/utility/in_place.h
M libc/src/__support/CPP/utility/integer_sequence.h
M libc/src/__support/CPP/utility/move.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/aarch64/nearest_integer.h
M libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/fpbits_str.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/README.md
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
A libc/src/__support/FPUtil/generic/mul.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/triple_double.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/FPUtil/x86_64/nearest_integer.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/dir.h
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/file.h
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/File/linux/stderr.cpp
M libc/src/__support/File/linux/stdin.cpp
M libc/src/__support/File/linux/stdout.cpp
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/GPU/allocator.h
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/generic/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/HashTable/bitmask.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/exit.cpp
M libc/src/__support/OSUtil/baremetal/io.cpp
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/__support/OSUtil/darwin/arm/syscall.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/OSUtil/darwin/syscall.h
M libc/src/__support/OSUtil/exit.h
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/fuchsia/io.h
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/OSUtil/gpu/io.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/aarch64/syscall.h
M libc/src/__support/OSUtil/linux/arm/syscall.h
M libc/src/__support/OSUtil/linux/exit.cpp
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/OSUtil/linux/io.h
A libc/src/__support/OSUtil/linux/pid.cpp
M libc/src/__support/OSUtil/linux/riscv/syscall.h
M libc/src/__support/OSUtil/linux/syscall.h
M libc/src/__support/OSUtil/linux/x86_64/syscall.h
A libc/src/__support/OSUtil/pid.h
M libc/src/__support/RPC/rpc.h
M libc/src/__support/RPC/rpc_client.cpp
M libc/src/__support/RPC/rpc_client.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/message_mapper.h
M libc/src/__support/StringUtil/signal_to_string.cpp
M libc/src/__support/StringUtil/signal_to_string.h
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
M libc/src/__support/StringUtil/tables/linux_extension_signals.h
M libc/src/__support/StringUtil/tables/linux_platform_errors.h
M libc/src/__support/StringUtil/tables/linux_platform_signals.h
M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
M libc/src/__support/StringUtil/tables/minimal_platform_signals.h
M libc/src/__support/StringUtil/tables/posix_errors.h
M libc/src/__support/StringUtil/tables/posix_signals.h
M libc/src/__support/StringUtil/tables/signal_table.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/__support/StringUtil/tables/stdc_signals.h
M libc/src/__support/arg_list.h
M libc/src/__support/big_int.h
M libc/src/__support/block.h
M libc/src/__support/blockstore.h
M libc/src/__support/c_string.h
M libc/src/__support/char_vector.h
M libc/src/__support/common.h
M libc/src/__support/ctype_utils.h
M libc/src/__support/detailed_powers_of_ten.h
M libc/src/__support/endian.h
M libc/src/__support/error_or.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/fixed_point/fx_rep.h
M libc/src/__support/fixed_point/sqrt.h
M libc/src/__support/fixedvector.h
M libc/src/__support/float_to_string.h
M libc/src/__support/freelist.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/hash.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_operations.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/intrusive_list.h
M libc/src/__support/libc_assert.h
M libc/src/__support/macros/config.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/__support/macros/sanitizer.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/str_to_num_result.h
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/callonce.h
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/fork_callbacks.h
M libc/src/__support/threads/gpu/mutex.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/CndVar.cpp
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/__support/threads/linux/callonce.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/linux/futex_word.h
M libc/src/__support/threads/linux/mutex.h
M libc/src/__support/threads/linux/raw_mutex.h
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/__support/threads/mutex_common.h
M libc/src/__support/threads/sleep.h
A libc/src/__support/threads/spin_lock.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread.h
A libc/src/__support/threads/tid.h
M libc/src/__support/time/linux/abs_timeout.h
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.h
M libc/src/__support/time/linux/monotonicity.h
M libc/src/__support/time/units.h
M libc/src/__support/wctype_utils.h
M libc/src/assert/__assert_fail.h
M libc/src/assert/generic/__assert_fail.cpp
M libc/src/assert/gpu/__assert_fail.cpp
M libc/src/ctype/isalnum.cpp
M libc/src/ctype/isalnum.h
M libc/src/ctype/isalpha.cpp
M libc/src/ctype/isalpha.h
M libc/src/ctype/isascii.cpp
M libc/src/ctype/isascii.h
M libc/src/ctype/isblank.cpp
M libc/src/ctype/isblank.h
M libc/src/ctype/iscntrl.cpp
M libc/src/ctype/iscntrl.h
M libc/src/ctype/isdigit.cpp
M libc/src/ctype/isdigit.h
M libc/src/ctype/isgraph.cpp
M libc/src/ctype/isgraph.h
M libc/src/ctype/islower.cpp
M libc/src/ctype/islower.h
M libc/src/ctype/isprint.cpp
M libc/src/ctype/isprint.h
M libc/src/ctype/ispunct.cpp
M libc/src/ctype/ispunct.h
M libc/src/ctype/isspace.cpp
M libc/src/ctype/isspace.h
M libc/src/ctype/isupper.cpp
M libc/src/ctype/isupper.h
M libc/src/ctype/isxdigit.cpp
M libc/src/ctype/isxdigit.h
M libc/src/ctype/toascii.cpp
M libc/src/ctype/toascii.h
M libc/src/ctype/tolower.cpp
M libc/src/ctype/tolower.h
M libc/src/ctype/toupper.cpp
M libc/src/ctype/toupper.h
M libc/src/dirent/closedir.cpp
M libc/src/dirent/closedir.h
M libc/src/dirent/dirfd.cpp
M libc/src/dirent/dirfd.h
M libc/src/dirent/opendir.cpp
M libc/src/dirent/opendir.h
M libc/src/dirent/readdir.cpp
M libc/src/dirent/readdir.h
M libc/src/dlfcn/dlclose.cpp
M libc/src/dlfcn/dlclose.h
M libc/src/dlfcn/dlerror.cpp
M libc/src/dlfcn/dlerror.h
M libc/src/dlfcn/dlopen.cpp
M libc/src/dlfcn/dlopen.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/fcntl/creat.h
M libc/src/fcntl/fcntl.h
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/fenv/feclearexcept.cpp
M libc/src/fenv/feclearexcept.h
M libc/src/fenv/fedisableexcept.cpp
M libc/src/fenv/fedisableexcept.h
M libc/src/fenv/feenableexcept.cpp
M libc/src/fenv/feenableexcept.h
M libc/src/fenv/fegetenv.cpp
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexcept.cpp
M libc/src/fenv/fegetexcept.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fegetround.cpp
M libc/src/fenv/fegetround.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/feraiseexcept.cpp
M libc/src/fenv/feraiseexcept.h
M libc/src/fenv/fesetenv.cpp
M libc/src/fenv/fesetenv.h
M libc/src/fenv/fesetexcept.cpp
M libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/fesetround.cpp
M libc/src/fenv/fesetround.h
M libc/src/fenv/fetestexcept.cpp
M libc/src/fenv/fetestexcept.h
M libc/src/fenv/fetestexceptflag.cpp
M libc/src/fenv/fetestexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/src/gpu/rpc_fprintf.cpp
M libc/src/gpu/rpc_fprintf.h
M libc/src/gpu/rpc_host_call.cpp
M libc/src/gpu/rpc_host_call.h
M libc/src/inttypes/imaxabs.cpp
M libc/src/inttypes/imaxabs.h
M libc/src/inttypes/imaxdiv.cpp
M libc/src/inttypes/imaxdiv.h
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoimax.h
M libc/src/inttypes/strtoumax.cpp
M libc/src/inttypes/strtoumax.h
M libc/src/math/CMakeLists.txt
R libc/src/math/aarch64/CMakeLists.txt
R libc/src/math/aarch64/ceil.cpp
R libc/src/math/aarch64/ceilf.cpp
R libc/src/math/aarch64/round.cpp
R libc/src/math/aarch64/roundf.cpp
R libc/src/math/aarch64/trunc.cpp
R libc/src/math/aarch64/truncf.cpp
M libc/src/math/acos.h
M libc/src/math/acosf.h
M libc/src/math/acosh.h
M libc/src/math/acoshf.h
M libc/src/math/amdgpu/CMakeLists.txt
M libc/src/math/amdgpu/acos.cpp
M libc/src/math/amdgpu/acosf.cpp
M libc/src/math/amdgpu/acosh.cpp
M libc/src/math/amdgpu/acoshf.cpp
M libc/src/math/amdgpu/asin.cpp
M libc/src/math/amdgpu/asinf.cpp
M libc/src/math/amdgpu/asinh.cpp
M libc/src/math/amdgpu/asinhf.cpp
M libc/src/math/amdgpu/atan.cpp
M libc/src/math/amdgpu/atan2.cpp
M libc/src/math/amdgpu/atan2f.cpp
M libc/src/math/amdgpu/atanf.cpp
M libc/src/math/amdgpu/atanh.cpp
M libc/src/math/amdgpu/atanhf.cpp
M libc/src/math/amdgpu/ceil.cpp
M libc/src/math/amdgpu/ceilf.cpp
M libc/src/math/amdgpu/copysign.cpp
M libc/src/math/amdgpu/copysignf.cpp
M libc/src/math/amdgpu/cos.cpp
M libc/src/math/amdgpu/cosf.cpp
M libc/src/math/amdgpu/cosh.cpp
M libc/src/math/amdgpu/coshf.cpp
M libc/src/math/amdgpu/declarations.h
M libc/src/math/amdgpu/erf.cpp
M libc/src/math/amdgpu/erff.cpp
M libc/src/math/amdgpu/exp.cpp
M libc/src/math/amdgpu/exp10.cpp
M libc/src/math/amdgpu/exp10f.cpp
M libc/src/math/amdgpu/exp2.cpp
M libc/src/math/amdgpu/exp2f.cpp
M libc/src/math/amdgpu/expf.cpp
M libc/src/math/amdgpu/expm1.cpp
M libc/src/math/amdgpu/expm1f.cpp
M libc/src/math/amdgpu/fabs.cpp
M libc/src/math/amdgpu/fabsf.cpp
M libc/src/math/amdgpu/fdim.cpp
M libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/floor.cpp
M libc/src/math/amdgpu/floorf.cpp
M libc/src/math/amdgpu/fma.cpp
M libc/src/math/amdgpu/fmaf.cpp
M libc/src/math/amdgpu/fmax.cpp
M libc/src/math/amdgpu/fmaxf.cpp
M libc/src/math/amdgpu/fmin.cpp
M libc/src/math/amdgpu/fminf.cpp
M libc/src/math/amdgpu/fmod.cpp
M libc/src/math/amdgpu/fmodf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
M libc/src/math/amdgpu/hypot.cpp
M libc/src/math/amdgpu/hypotf.cpp
M libc/src/math/amdgpu/ilogb.cpp
M libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
M libc/src/math/amdgpu/log.cpp
M libc/src/math/amdgpu/log10.cpp
M libc/src/math/amdgpu/log10f.cpp
M libc/src/math/amdgpu/log1p.cpp
M libc/src/math/amdgpu/log1pf.cpp
M libc/src/math/amdgpu/log2.cpp
M libc/src/math/amdgpu/log2f.cpp
M libc/src/math/amdgpu/logb.cpp
M libc/src/math/amdgpu/logbf.cpp
M libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
M libc/src/math/amdgpu/nearbyint.cpp
M libc/src/math/amdgpu/nearbyintf.cpp
M libc/src/math/amdgpu/nextafter.cpp
M libc/src/math/amdgpu/nextafterf.cpp
M libc/src/math/amdgpu/platform.h
M libc/src/math/amdgpu/pow.cpp
M libc/src/math/amdgpu/powf.cpp
A libc/src/math/amdgpu/powi.cpp
A libc/src/math/amdgpu/powif.cpp
M libc/src/math/amdgpu/remainder.cpp
M libc/src/math/amdgpu/remainderf.cpp
M libc/src/math/amdgpu/remquo.cpp
M libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/rint.cpp
M libc/src/math/amdgpu/rintf.cpp
M libc/src/math/amdgpu/round.cpp
M libc/src/math/amdgpu/roundf.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
M libc/src/math/amdgpu/sin.cpp
M libc/src/math/amdgpu/sincos.cpp
M libc/src/math/amdgpu/sincosf.cpp
M libc/src/math/amdgpu/sinf.cpp
M libc/src/math/amdgpu/sinh.cpp
M libc/src/math/amdgpu/sinhf.cpp
M libc/src/math/amdgpu/sqrt.cpp
M libc/src/math/amdgpu/sqrtf.cpp
M libc/src/math/amdgpu/tan.cpp
M libc/src/math/amdgpu/tanf.cpp
M libc/src/math/amdgpu/tanh.cpp
M libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/amdgpu/trunc.cpp
M libc/src/math/amdgpu/truncf.cpp
M libc/src/math/asin.h
M libc/src/math/asinf.h
M libc/src/math/asinh.h
M libc/src/math/asinhf.h
M libc/src/math/atan.h
M libc/src/math/atan2.h
M libc/src/math/atan2f.h
M libc/src/math/atanf.h
M libc/src/math/atanh.h
M libc/src/math/atanhf.h
M libc/src/math/canonicalize.h
M libc/src/math/canonicalizef.h
M libc/src/math/canonicalizef128.h
M libc/src/math/canonicalizef16.h
M libc/src/math/canonicalizel.h
A libc/src/math/cbrt.h
M libc/src/math/cbrtf.h
M libc/src/math/ceil.h
M libc/src/math/ceilf.h
M libc/src/math/ceilf128.h
M libc/src/math/ceilf16.h
M libc/src/math/ceill.h
M libc/src/math/copysign.h
M libc/src/math/copysignf.h
M libc/src/math/copysignf128.h
M libc/src/math/copysignf16.h
M libc/src/math/copysignl.h
M libc/src/math/cos.h
M libc/src/math/cosf.h
M libc/src/math/cosh.h
M libc/src/math/coshf.h
M libc/src/math/cospif.h
A libc/src/math/dmulf128.h
A libc/src/math/dmull.h
M libc/src/math/docs/add_math_function.md
A libc/src/math/dsqrtf128.h
A libc/src/math/dsqrtl.h
M libc/src/math/erf.h
M libc/src/math/erff.h
M libc/src/math/exp.h
M libc/src/math/exp10.h
M libc/src/math/exp10f.h
M libc/src/math/exp2.h
M libc/src/math/exp2f.h
M libc/src/math/exp2m1f.h
M libc/src/math/expf.h
M libc/src/math/expm1.h
M libc/src/math/expm1f.h
M libc/src/math/f16add.h
M libc/src/math/f16addf.h
M libc/src/math/f16addf128.h
M libc/src/math/f16addl.h
M libc/src/math/f16div.h
M libc/src/math/f16divf.h
M libc/src/math/f16divf128.h
M libc/src/math/f16divl.h
M libc/src/math/f16fma.h
M libc/src/math/f16fmaf.h
M libc/src/math/f16fmaf128.h
M libc/src/math/f16fmal.h
A libc/src/math/f16mul.h
A libc/src/math/f16mulf.h
A libc/src/math/f16mulf128.h
A libc/src/math/f16mull.h
M libc/src/math/f16sqrt.h
M libc/src/math/f16sqrtf.h
M libc/src/math/f16sqrtf128.h
M libc/src/math/f16sqrtl.h
M libc/src/math/f16sub.h
M libc/src/math/f16subf.h
M libc/src/math/f16subf128.h
M libc/src/math/f16subl.h
M libc/src/math/fabs.h
M libc/src/math/fabsf.h
M libc/src/math/fabsf128.h
M libc/src/math/fabsf16.h
M libc/src/math/fabsl.h
A libc/src/math/fadd.h
M libc/src/math/fdim.h
M libc/src/math/fdimf.h
M libc/src/math/fdimf128.h
M libc/src/math/fdimf16.h
M libc/src/math/fdiml.h
M libc/src/math/floor.h
M libc/src/math/floorf.h
M libc/src/math/floorf128.h
M libc/src/math/floorf16.h
M libc/src/math/floorl.h
M libc/src/math/fma.h
M libc/src/math/fmaf.h
M libc/src/math/fmax.h
M libc/src/math/fmaxf.h
M libc/src/math/fmaxf128.h
M libc/src/math/fmaxf16.h
M libc/src/math/fmaximum.h
M libc/src/math/fmaximum_mag.h
M libc/src/math/fmaximum_mag_num.h
M libc/src/math/fmaximum_mag_numf.h
M libc/src/math/fmaximum_mag_numf128.h
M libc/src/math/fmaximum_mag_numf16.h
M libc/src/math/fmaximum_mag_numl.h
M libc/src/math/fmaximum_magf.h
M libc/src/math/fmaximum_magf128.h
M libc/src/math/fmaximum_magf16.h
M libc/src/math/fmaximum_magl.h
M libc/src/math/fmaximum_num.h
M libc/src/math/fmaximum_numf.h
M libc/src/math/fmaximum_numf128.h
M libc/src/math/fmaximum_numf16.h
M libc/src/math/fmaximum_numl.h
M libc/src/math/fmaximumf.h
M libc/src/math/fmaximumf128.h
M libc/src/math/fmaximumf16.h
M libc/src/math/fmaximuml.h
M libc/src/math/fmaxl.h
M libc/src/math/fmin.h
M libc/src/math/fminf.h
M libc/src/math/fminf128.h
M libc/src/math/fminf16.h
M libc/src/math/fminimum.h
M libc/src/math/fminimum_mag.h
M libc/src/math/fminimum_mag_num.h
M libc/src/math/fminimum_mag_numf.h
M libc/src/math/fminimum_mag_numf128.h
M libc/src/math/fminimum_mag_numf16.h
M libc/src/math/fminimum_mag_numl.h
M libc/src/math/fminimum_magf.h
M libc/src/math/fminimum_magf128.h
M libc/src/math/fminimum_magf16.h
M libc/src/math/fminimum_magl.h
M libc/src/math/fminimum_num.h
M libc/src/math/fminimum_numf.h
M libc/src/math/fminimum_numf128.h
M libc/src/math/fminimum_numf16.h
M libc/src/math/fminimum_numl.h
M libc/src/math/fminimumf.h
M libc/src/math/fminimumf128.h
M libc/src/math/fminimumf16.h
M libc/src/math/fminimuml.h
M libc/src/math/fminl.h
M libc/src/math/fmod.h
M libc/src/math/fmodf.h
M libc/src/math/fmodf128.h
M libc/src/math/fmodf16.h
M libc/src/math/fmodl.h
M libc/src/math/fmul.h
A libc/src/math/fmulf128.h
A libc/src/math/fmull.h
M libc/src/math/frexp.h
M libc/src/math/frexpf.h
M libc/src/math/frexpf128.h
M libc/src/math/frexpf16.h
M libc/src/math/frexpl.h
M libc/src/math/fromfp.h
M libc/src/math/fromfpf.h
M libc/src/math/fromfpf128.h
M libc/src/math/fromfpf16.h
M libc/src/math/fromfpl.h
M libc/src/math/fromfpx.h
M libc/src/math/fromfpxf.h
M libc/src/math/fromfpxf128.h
M libc/src/math/fromfpxf16.h
M libc/src/math/fromfpxl.h
A libc/src/math/fsqrt.h
A libc/src/math/fsqrtf128.h
A libc/src/math/fsqrtl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/canonicalize.cpp
M libc/src/math/generic/canonicalizef.cpp
M libc/src/math/generic/canonicalizef128.cpp
M libc/src/math/generic/canonicalizef16.cpp
M libc/src/math/generic/canonicalizel.cpp
A libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/ceil.cpp
M libc/src/math/generic/ceilf.cpp
M libc/src/math/generic/ceilf128.cpp
M libc/src/math/generic/ceilf16.cpp
M libc/src/math/generic/ceill.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/copysign.cpp
M libc/src/math/generic/copysignf.cpp
M libc/src/math/generic/copysignf128.cpp
M libc/src/math/generic/copysignf16.cpp
M libc/src/math/generic/copysignl.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/cospif.cpp
A libc/src/math/generic/dmulf128.cpp
A libc/src/math/generic/dmull.cpp
A libc/src/math/generic/dsqrtf128.cpp
A libc/src/math/generic/dsqrtl.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/exp_utils.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/explogxf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.cpp
M libc/src/math/generic/f16add.cpp
M libc/src/math/generic/f16addf.cpp
M libc/src/math/generic/f16addf128.cpp
M libc/src/math/generic/f16addl.cpp
M libc/src/math/generic/f16div.cpp
M libc/src/math/generic/f16divf.cpp
M libc/src/math/generic/f16divf128.cpp
M libc/src/math/generic/f16divl.cpp
M libc/src/math/generic/f16fma.cpp
M libc/src/math/generic/f16fmaf.cpp
M libc/src/math/generic/f16fmaf128.cpp
M libc/src/math/generic/f16fmal.cpp
A libc/src/math/generic/f16mul.cpp
A libc/src/math/generic/f16mulf.cpp
A libc/src/math/generic/f16mulf128.cpp
A libc/src/math/generic/f16mull.cpp
M libc/src/math/generic/f16sqrt.cpp
M libc/src/math/generic/f16sqrtf.cpp
M libc/src/math/generic/f16sqrtf128.cpp
M libc/src/math/generic/f16sqrtl.cpp
M libc/src/math/generic/f16sub.cpp
M libc/src/math/generic/f16subf.cpp
M libc/src/math/generic/f16subf128.cpp
M libc/src/math/generic/f16subl.cpp
M libc/src/math/generic/fabs.cpp
M libc/src/math/generic/fabsf.cpp
M libc/src/math/generic/fabsf128.cpp
M libc/src/math/generic/fabsf16.cpp
M libc/src/math/generic/fabsl.cpp
A libc/src/math/generic/fadd.cpp
M libc/src/math/generic/fdim.cpp
M libc/src/math/generic/fdimf.cpp
M libc/src/math/generic/fdimf128.cpp
M libc/src/math/generic/fdimf16.cpp
M libc/src/math/generic/fdiml.cpp
M libc/src/math/generic/floor.cpp
M libc/src/math/generic/floorf.cpp
M libc/src/math/generic/floorf128.cpp
M libc/src/math/generic/floorf16.cpp
M libc/src/math/generic/floorl.cpp
M libc/src/math/generic/fma.cpp
M libc/src/math/generic/fmaf.cpp
M libc/src/math/generic/fmax.cpp
M libc/src/math/generic/fmaxf.cpp
M libc/src/math/generic/fmaxf128.cpp
M libc/src/math/generic/fmaxf16.cpp
M libc/src/math/generic/fmaximum.cpp
M libc/src/math/generic/fmaximum_mag.cpp
M libc/src/math/generic/fmaximum_mag_num.cpp
M libc/src/math/generic/fmaximum_mag_numf.cpp
M libc/src/math/generic/fmaximum_mag_numf128.cpp
M libc/src/math/generic/fmaximum_mag_numf16.cpp
M libc/src/math/generic/fmaximum_mag_numl.cpp
M libc/src/math/generic/fmaximum_magf.cpp
M libc/src/math/generic/fmaximum_magf128.cpp
M libc/src/math/generic/fmaximum_magf16.cpp
M libc/src/math/generic/fmaximum_magl.cpp
M libc/src/math/generic/fmaximum_num.cpp
M libc/src/math/generic/fmaximum_numf.cpp
M libc/src/math/generic/fmaximum_numf128.cpp
M libc/src/math/generic/fmaximum_numf16.cpp
M libc/src/math/generic/fmaximum_numl.cpp
M libc/src/math/generic/fmaximumf.cpp
M libc/src/math/generic/fmaximumf128.cpp
M libc/src/math/generic/fmaximumf16.cpp
M libc/src/math/generic/fmaximuml.cpp
M libc/src/math/generic/fmaxl.cpp
M libc/src/math/generic/fmin.cpp
M libc/src/math/generic/fminf.cpp
M libc/src/math/generic/fminf128.cpp
M libc/src/math/generic/fminf16.cpp
M libc/src/math/generic/fminimum.cpp
M libc/src/math/generic/fminimum_mag.cpp
M libc/src/math/generic/fminimum_mag_num.cpp
M libc/src/math/generic/fminimum_mag_numf.cpp
M libc/src/math/generic/fminimum_mag_numf128.cpp
M libc/src/math/generic/fminimum_mag_numf16.cpp
M libc/src/math/generic/fminimum_mag_numl.cpp
M libc/src/math/generic/fminimum_magf.cpp
M libc/src/math/generic/fminimum_magf128.cpp
M libc/src/math/generic/fminimum_magf16.cpp
M libc/src/math/generic/fminimum_magl.cpp
M libc/src/math/generic/fminimum_num.cpp
M libc/src/math/generic/fminimum_numf.cpp
M libc/src/math/generic/fminimum_numf128.cpp
M libc/src/math/generic/fminimum_numf16.cpp
M libc/src/math/generic/fminimum_numl.cpp
M libc/src/math/generic/fminimumf.cpp
M libc/src/math/generic/fminimumf128.cpp
M libc/src/math/generic/fminimumf16.cpp
M libc/src/math/generic/fminimuml.cpp
M libc/src/math/generic/fminl.cpp
M libc/src/math/generic/fmod.cpp
M libc/src/math/generic/fmodf.cpp
M libc/src/math/generic/fmodf128.cpp
M libc/src/math/generic/fmodf16.cpp
M libc/src/math/generic/fmodl.cpp
M libc/src/math/generic/fmul.cpp
A libc/src/math/generic/fmulf128.cpp
A libc/src/math/generic/fmull.cpp
M libc/src/math/generic/frexp.cpp
M libc/src/math/generic/frexpf.cpp
M libc/src/math/generic/frexpf128.cpp
M libc/src/math/generic/frexpf16.cpp
M libc/src/math/generic/frexpl.cpp
M libc/src/math/generic/fromfp.cpp
M libc/src/math/generic/fromfpf.cpp
M libc/src/math/generic/fromfpf128.cpp
M libc/src/math/generic/fromfpf16.cpp
M libc/src/math/generic/fromfpl.cpp
M libc/src/math/generic/fromfpx.cpp
M libc/src/math/generic/fromfpxf.cpp
M libc/src/math/generic/fromfpxf128.cpp
M libc/src/math/generic/fromfpxf16.cpp
M libc/src/math/generic/fromfpxl.cpp
A libc/src/math/generic/fsqrt.cpp
A libc/src/math/generic/fsqrtf128.cpp
A libc/src/math/generic/fsqrtl.cpp
M libc/src/math/generic/getpayloadf16.cpp
M libc/src/math/generic/hypot.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/ilogb.cpp
M libc/src/math/generic/ilogbf.cpp
M libc/src/math/generic/ilogbf128.cpp
M libc/src/math/generic/ilogbf16.cpp
M libc/src/math/generic/ilogbl.cpp
M libc/src/math/generic/inv_trigf_utils.cpp
M libc/src/math/generic/inv_trigf_utils.h
A libc/src/math/generic/isnan.cpp
A libc/src/math/generic/isnanf.cpp
A libc/src/math/generic/isnanl.cpp
M libc/src/math/generic/ldexp.cpp
M libc/src/math/generic/ldexpf.cpp
M libc/src/math/generic/ldexpf128.cpp
M libc/src/math/generic/ldexpf16.cpp
M libc/src/math/generic/ldexpl.cpp
M libc/src/math/generic/llogb.cpp
M libc/src/math/generic/llogbf.cpp
M libc/src/math/generic/llogbf128.cpp
M libc/src/math/generic/llogbf16.cpp
M libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/llrint.cpp
M libc/src/math/generic/llrintf.cpp
M libc/src/math/generic/llrintf128.cpp
M libc/src/math/generic/llrintf16.cpp
M libc/src/math/generic/llrintl.cpp
M libc/src/math/generic/llround.cpp
M libc/src/math/generic/llroundf.cpp
M libc/src/math/generic/llroundf128.cpp
M libc/src/math/generic/llroundf16.cpp
M libc/src/math/generic/llroundl.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log_range_reduction.h
M libc/src/math/generic/logb.cpp
M libc/src/math/generic/logbf.cpp
M libc/src/math/generic/logbf128.cpp
M libc/src/math/generic/logbf16.cpp
M libc/src/math/generic/logbl.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/lrint.cpp
M libc/src/math/generic/lrintf.cpp
M libc/src/math/generic/lrintf128.cpp
M libc/src/math/generic/lrintf16.cpp
M libc/src/math/generic/lrintl.cpp
M libc/src/math/generic/lround.cpp
M libc/src/math/generic/lroundf.cpp
M libc/src/math/generic/lroundf128.cpp
M libc/src/math/generic/lroundf16.cpp
M libc/src/math/generic/lroundl.cpp
M libc/src/math/generic/modf.cpp
M libc/src/math/generic/modff.cpp
M libc/src/math/generic/modff128.cpp
M libc/src/math/generic/modff16.cpp
M libc/src/math/generic/modfl.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/math/generic/nearbyint.cpp
M libc/src/math/generic/nearbyintf.cpp
M libc/src/math/generic/nearbyintf128.cpp
M libc/src/math/generic/nearbyintf16.cpp
M libc/src/math/generic/nearbyintl.cpp
M libc/src/math/generic/nextafter.cpp
M libc/src/math/generic/nextafterf.cpp
M libc/src/math/generic/nextafterf128.cpp
M libc/src/math/generic/nextafterf16.cpp
M libc/src/math/generic/nextafterl.cpp
M libc/src/math/generic/nextdown.cpp
M libc/src/math/generic/nextdownf.cpp
M libc/src/math/generic/nextdownf128.cpp
M libc/src/math/generic/nextdownf16.cpp
M libc/src/math/generic/nextdownl.cpp
M libc/src/math/generic/nexttoward.cpp
M libc/src/math/generic/nexttowardf.cpp
M libc/src/math/generic/nexttowardf16.cpp
M libc/src/math/generic/nexttowardl.cpp
M libc/src/math/generic/nextup.cpp
M libc/src/math/generic/nextupf.cpp
M libc/src/math/generic/nextupf128.cpp
M libc/src/math/generic/nextupf16.cpp
M libc/src/math/generic/nextupl.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction.h
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/range_reduction_double_fma.h
M libc/src/math/generic/range_reduction_double_nofma.h
M libc/src/math/generic/range_reduction_fma.h
M libc/src/math/generic/remainder.cpp
M libc/src/math/generic/remainderf.cpp
M libc/src/math/generic/remainderf16.cpp
M libc/src/math/generic/remainderl.cpp
M libc/src/math/generic/remquo.cpp
M libc/src/math/generic/remquof.cpp
M libc/src/math/generic/remquof128.cpp
M libc/src/math/generic/remquof16.cpp
M libc/src/math/generic/remquol.cpp
M libc/src/math/generic/rint.cpp
M libc/src/math/generic/rintf.cpp
M libc/src/math/generic/rintf128.cpp
M libc/src/math/generic/rintf16.cpp
M libc/src/math/generic/rintl.cpp
M libc/src/math/generic/round.cpp
M libc/src/math/generic/roundeven.cpp
M libc/src/math/generic/roundevenf.cpp
M libc/src/math/generic/roundevenf128.cpp
M libc/src/math/generic/roundevenf16.cpp
M libc/src/math/generic/roundevenl.cpp
M libc/src/math/generic/roundf.cpp
M libc/src/math/generic/roundf128.cpp
M libc/src/math/generic/roundf16.cpp
M libc/src/math/generic/roundl.cpp
M libc/src/math/generic/scalblnf16.cpp
M libc/src/math/generic/scalbn.cpp
M libc/src/math/generic/scalbnf.cpp
M libc/src/math/generic/scalbnf128.cpp
M libc/src/math/generic/scalbnf16.cpp
M libc/src/math/generic/scalbnl.cpp
M libc/src/math/generic/setpayloadf16.cpp
M libc/src/math/generic/setpayloadsigf16.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sqrt.cpp
M libc/src/math/generic/sqrtf.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/sqrtl.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanhf.cpp
M libc/src/math/generic/totalorderf16.cpp
A libc/src/math/generic/totalordermag.cpp
A libc/src/math/generic/totalordermagf.cpp
A libc/src/math/generic/totalordermagf128.cpp
M libc/src/math/generic/totalordermagf16.cpp
A libc/src/math/generic/totalordermagl.cpp
M libc/src/math/generic/trunc.cpp
M libc/src/math/generic/truncf.cpp
M libc/src/math/generic/truncf128.cpp
M libc/src/math/generic/truncf16.cpp
M libc/src/math/generic/truncl.cpp
M libc/src/math/generic/ufromfp.cpp
M libc/src/math/generic/ufromfpf.cpp
M libc/src/math/generic/ufromfpf128.cpp
M libc/src/math/generic/ufromfpf16.cpp
M libc/src/math/generic/ufromfpl.cpp
M libc/src/math/generic/ufromfpx.cpp
M libc/src/math/generic/ufromfpxf.cpp
M libc/src/math/generic/ufromfpxf128.cpp
M libc/src/math/generic/ufromfpxf16.cpp
M libc/src/math/generic/ufromfpxl.cpp
M libc/src/math/getpayloadf16.h
M libc/src/math/hypot.h
M libc/src/math/hypotf.h
M libc/src/math/ilogb.h
M libc/src/math/ilogbf.h
M libc/src/math/ilogbf128.h
M libc/src/math/ilogbf16.h
M libc/src/math/ilogbl.h
A libc/src/math/isnan.h
A libc/src/math/isnanf.h
A libc/src/math/isnanl.h
M libc/src/math/ldexp.h
M libc/src/math/ldexpf.h
M libc/src/math/ldexpf128.h
M libc/src/math/ldexpf16.h
M libc/src/math/ldexpl.h
M libc/src/math/llogb.h
M libc/src/math/llogbf.h
M libc/src/math/llogbf128.h
M libc/src/math/llogbf16.h
M libc/src/math/llogbl.h
M libc/src/math/llrint.h
M libc/src/math/llrintf.h
M libc/src/math/llrintf128.h
M libc/src/math/llrintf16.h
M libc/src/math/llrintl.h
M libc/src/math/llround.h
M libc/src/math/llroundf.h
M libc/src/math/llroundf128.h
M libc/src/math/llroundf16.h
M libc/src/math/llroundl.h
M libc/src/math/log.h
M libc/src/math/log10.h
M libc/src/math/log10f.h
M libc/src/math/log1p.h
M libc/src/math/log1pf.h
M libc/src/math/log2.h
M libc/src/math/log2f.h
M libc/src/math/logb.h
M libc/src/math/logbf.h
M libc/src/math/logbf128.h
M libc/src/math/logbf16.h
M libc/src/math/logbl.h
M libc/src/math/logf.h
M libc/src/math/lrint.h
M libc/src/math/lrintf.h
M libc/src/math/lrintf128.h
M libc/src/math/lrintf16.h
M libc/src/math/lrintl.h
M libc/src/math/lround.h
M libc/src/math/lroundf.h
M libc/src/math/lroundf128.h
M libc/src/math/lroundf16.h
M libc/src/math/lroundl.h
M libc/src/math/modf.h
M libc/src/math/modff.h
M libc/src/math/modff128.h
M libc/src/math/modff16.h
M libc/src/math/modfl.h
M libc/src/math/nan.h
M libc/src/math/nanf.h
M libc/src/math/nanf128.h
M libc/src/math/nanf16.h
M libc/src/math/nanl.h
M libc/src/math/nearbyint.h
M libc/src/math/nearbyintf.h
M libc/src/math/nearbyintf128.h
M libc/src/math/nearbyintf16.h
M libc/src/math/nearbyintl.h
M libc/src/math/nextafter.h
M libc/src/math/nextafterf.h
M libc/src/math/nextafterf128.h
M libc/src/math/nextafterf16.h
M libc/src/math/nextafterl.h
M libc/src/math/nextdown.h
M libc/src/math/nextdownf.h
M libc/src/math/nextdownf128.h
M libc/src/math/nextdownf16.h
M libc/src/math/nextdownl.h
M libc/src/math/nexttoward.h
M libc/src/math/nexttowardf.h
M libc/src/math/nexttowardf16.h
M libc/src/math/nexttowardl.h
M libc/src/math/nextup.h
M libc/src/math/nextupf.h
M libc/src/math/nextupf128.h
M libc/src/math/nextupf16.h
M libc/src/math/nextupl.h
M libc/src/math/nvptx/CMakeLists.txt
M libc/src/math/nvptx/acos.cpp
M libc/src/math/nvptx/acosf.cpp
M libc/src/math/nvptx/acosh.cpp
M libc/src/math/nvptx/acoshf.cpp
M libc/src/math/nvptx/asin.cpp
M libc/src/math/nvptx/asinf.cpp
M libc/src/math/nvptx/asinh.cpp
M libc/src/math/nvptx/asinhf.cpp
M libc/src/math/nvptx/atan.cpp
M libc/src/math/nvptx/atan2.cpp
M libc/src/math/nvptx/atan2f.cpp
M libc/src/math/nvptx/atanf.cpp
M libc/src/math/nvptx/atanh.cpp
M libc/src/math/nvptx/atanhf.cpp
M libc/src/math/nvptx/ceil.cpp
M libc/src/math/nvptx/ceilf.cpp
M libc/src/math/nvptx/copysign.cpp
M libc/src/math/nvptx/copysignf.cpp
M libc/src/math/nvptx/cos.cpp
M libc/src/math/nvptx/cosf.cpp
M libc/src/math/nvptx/cosh.cpp
M libc/src/math/nvptx/coshf.cpp
M libc/src/math/nvptx/declarations.h
M libc/src/math/nvptx/erf.cpp
M libc/src/math/nvptx/erff.cpp
M libc/src/math/nvptx/exp.cpp
M libc/src/math/nvptx/exp10.cpp
M libc/src/math/nvptx/exp10f.cpp
M libc/src/math/nvptx/exp2.cpp
M libc/src/math/nvptx/exp2f.cpp
M libc/src/math/nvptx/expf.cpp
M libc/src/math/nvptx/expm1.cpp
M libc/src/math/nvptx/expm1f.cpp
M libc/src/math/nvptx/fabs.cpp
M libc/src/math/nvptx/fabsf.cpp
M libc/src/math/nvptx/fdim.cpp
M libc/src/math/nvptx/fdimf.cpp
M libc/src/math/nvptx/floor.cpp
M libc/src/math/nvptx/floorf.cpp
M libc/src/math/nvptx/fma.cpp
M libc/src/math/nvptx/fmaf.cpp
M libc/src/math/nvptx/fmax.cpp
M libc/src/math/nvptx/fmaxf.cpp
M libc/src/math/nvptx/fmin.cpp
M libc/src/math/nvptx/fminf.cpp
M libc/src/math/nvptx/fmod.cpp
M libc/src/math/nvptx/fmodf.cpp
M libc/src/math/nvptx/frexp.cpp
M libc/src/math/nvptx/frexpf.cpp
M libc/src/math/nvptx/hypot.cpp
M libc/src/math/nvptx/hypotf.cpp
M libc/src/math/nvptx/ilogb.cpp
M libc/src/math/nvptx/ilogbf.cpp
M libc/src/math/nvptx/ldexp.cpp
M libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
M libc/src/math/nvptx/log.cpp
Log Message:
-----------
add iterator_category/value_type boilerplate to support llvm::enumerate
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/7f7f5d7ec930...09f81a974495
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list