Skip to content

Commit

Permalink
Merge pull request #347 from Xilinx/bump_to_62d44fbd
Browse files Browse the repository at this point in the history
[AutoBump] Merge with 62d44fb (Jun 25) (83)
  • Loading branch information
mgehre-amd authored Sep 16, 2024
2 parents b309613 + 44dd962 commit 7560488
Show file tree
Hide file tree
Showing 817 changed files with 25,490 additions and 16,772 deletions.
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,8 @@ clang/test/AST/Interp/ @tbaederr

# ExtractAPI
/clang/**/ExtractAPI @daniel-grumberg

# DWARFLinker, dwarfutil, dsymutil
/llvm/**/DWARFLinker/ @JDevlieghere
/llvm/**/dsymutil/ @JDevlieghere
/llvm/**/llvm-dwarfutil/ @JDevlieghere
84 changes: 75 additions & 9 deletions bolt/docs/CommandLineArgumentReference.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@

Allow processing of stripped binaries

- `--alt-inst-feature-size=<uint>`

Size of feature field in .altinstructions

- `--alt-inst-has-padlen`

Specify that .altinstructions has padlen field

- `--asm-dump[=<dump folder>]`

Dump function into assembly
Expand All @@ -78,6 +86,16 @@
in the input is decoded and re-encoded. If the resulting bytes do not match
the input, a warning message is printed.

- `--comp-dir-override=<string>`

Overrides DW_AT_comp_dir, and provides an alterantive base location, which is
used with DW_AT_dwo_name to construct a path to *.dwo files.

- `--create-debug-names-section`

Creates .debug_names section, if the input binary doesn't have it already, for
DWARF5 CU/TUs.

- `--cu-processing-batch-size=<uint>`

Specifies the size of batches for processing CUs. Higher number has better
Expand All @@ -93,7 +111,7 @@

- `--debug-skeleton-cu`

Prints out offsetrs for abbrev and debu_info of Skeleton CUs that get patched.
Prints out offsets for abbrev and debug_info of Skeleton CUs that get patched.

- `--deterministic-debuginfo`

Expand All @@ -104,6 +122,10 @@

Add basic block instructions as tool tips on nodes

- `--dump-alt-instructions`

Dump Linux alternative instructions info

- `--dump-cg=<string>`

Dump callgraph to the given file
Expand All @@ -117,10 +139,34 @@
Dump function CFGs to graphviz format after each stage;enable '-print-loops'
for color-coded blocks

- `--dump-linux-exceptions`

Dump Linux kernel exception table

- `--dump-orc`

Dump raw ORC unwind information (sorted)

- `--dump-para-sites`

Dump Linux kernel paravitual patch sites

- `--dump-pci-fixups`

Dump Linux kernel PCI fixup table

- `--dump-smp-locks`

Dump Linux kernel SMP locks

- `--dump-static-calls`

Dump Linux kernel static calls

- `--dump-static-keys`

Dump Linux kernel static keys jump table

- `--dwarf-output-path=<string>`

Path to where .dwo files or dwp file will be written out to.
Expand Down Expand Up @@ -205,6 +251,14 @@

Skip processing of cold functions

- `--log-file=<string>`

Redirect journaling to a file instead of stdout/stderr

- `--long-jump-labels`

Always use long jumps/nops for Linux kernel static keys

- `--max-data-relocations=<uint>`

Maximum number of data relocations to process
Expand Down Expand Up @@ -274,6 +328,10 @@

Number of tasks to be created per thread

- `--terminal-trap`

Assume that execution stops at trap instruction

- `--thread-count=<uint>`

Number of threads
Expand Down Expand Up @@ -618,10 +676,6 @@
threshold means fewer functions to process. E.g threshold of 90 means only top
10 percent of functions with profile will be processed.

- `--mcf-use-rarcs`

In MCF, consider the possibility of cancelling flow to balance edges

- `--memcpy1-spec=<func1,func2:cs1:cs2,func3:cs1,...>`

List of functions with call sites for which to specialize memcpy() for size 1
Expand Down Expand Up @@ -710,7 +764,7 @@
- `none`: do not reorder functions
- `exec-count`: order by execution count
- `hfsort`: use hfsort algorithm
- `hfsort+`: use hfsort+ algorithm
- `hfsort+`: use cache-directed sort
- `cdsort`: use cache-directed sort
- `pettis-hansen`: use Pettis-Hansen algorithm
- `random`: reorder functions randomly
Expand Down Expand Up @@ -804,8 +858,8 @@

- `--stale-matching-min-matched-block=<uint>`

Minimum percent of exact match block for a function to be considered for
profile inference.
Percentage threshold of matched basic blocks at which stale profile inference
is executed.

- `--stale-threshold=<uint>`

Expand Down Expand Up @@ -853,6 +907,10 @@

Only apply branch boundary alignment in hot code

- `--x86-strip-redundant-address-size`

Remove redundant Address-Size override prefix

### BOLT options in relocation mode:

- `--align-macro-fusion=<value>`
Expand Down Expand Up @@ -1039,6 +1097,10 @@

Print clusters

- `--print-estimate-edge-counts`

Print function after edge counts are set for no-LBR profile

- `--print-finalized`

Print function after CFG is finalized
Expand Down Expand Up @@ -1071,6 +1133,10 @@

Print functions after inlining optimization

- `--print-large-functions`

Print functions that could not be overwritten due to excessive size

- `--print-longjmp`

Print functions after longjmp pass
Expand Down Expand Up @@ -1166,4 +1232,4 @@

- `--print-options`

Print non-default options after command line parsing
Print non-default options after command line parsing
2 changes: 1 addition & 1 deletion clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ AST_MATCHER_P(DeclRefExpr, doesNotMutateObject, int, Indirections) {
return false;
}
const auto *const Method =
dyn_cast<CXXMethodDecl>(OpCall->getDirectCallee());
dyn_cast_or_null<CXXMethodDecl>(OpCall->getDirectCallee());

if (Method == nullptr) {
// This is not a member operator. Typically, a friend operator. These
Expand Down
2 changes: 1 addition & 1 deletion clang-tools-extra/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ Changes in existing checks
analyzed, so the check now handles the common patterns
`const auto e = (*vector_ptr)[i]` and `const auto e = vector_ptr->at(i);`.
Calls to mutable function where there exists a `const` overload are also
handled.
handled. Fix crash in the case of a non-member operator call.

- Improved :doc:`readability-avoid-return-with-void-value
<clang-tidy/checks/readability/avoid-return-with-void-value>` check by adding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -906,3 +906,12 @@ void negativeNonConstMemberExpr() {
}
}


bool operator==(ExpensiveToCopyType, ExpensiveToCopyType);

template<typename T> bool OperatorWithNoDirectCallee(T t) {
ExpensiveToCopyType a1;
ExpensiveToCopyType a2 = a1;
return a1 == t;
}

48 changes: 38 additions & 10 deletions clang/docs/ClangFormatStyleOptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4443,23 +4443,51 @@ the configuration (without a prefix: ``Auto``).
false:
import {VeryLongImportsAreAnnoying, VeryLongImportsAreAnnoying, VeryLongImportsAreAnnoying,} from "some/module.js"
.. _KeepEmptyLines:

**KeepEmptyLines** (``KeepEmptyLinesStyle``) :versionbadge:`clang-format 19` :ref:`<KeepEmptyLines>`
Which empty lines are kept. See ``MaxEmptyLinesToKeep`` for how many
consecutive empty lines are kept.

Nested configuration flags:

Options regarding which empty lines are kept.

For example, the config below will remove empty lines at start of the
file, end of the file, and start of blocks.


.. code-block:: c++

KeepEmptyLines:
AtEndOfFile: false
AtStartOfBlock: false
AtStartOfFile: false

* ``bool AtEndOfFile`` Keep empty lines at end of file.

* ``bool AtStartOfBlock`` Keep empty lines at start of a block.

.. code-block:: c++

true: false:
if (foo) { vs. if (foo) {
bar();
bar(); }
}

* ``bool AtStartOfFile`` Keep empty lines at start of file.


.. _KeepEmptyLinesAtEOF:

**KeepEmptyLinesAtEOF** (``Boolean``) :versionbadge:`clang-format 17` :ref:`<KeepEmptyLinesAtEOF>`
Keep empty lines (up to ``MaxEmptyLinesToKeep``) at end of file.
This option is deprecated. See ``AtEndOfFile`` of ``KeepEmptyLines``.

.. _KeepEmptyLinesAtTheStartOfBlocks:

**KeepEmptyLinesAtTheStartOfBlocks** (``Boolean``) :versionbadge:`clang-format 3.7` :ref:`<KeepEmptyLinesAtTheStartOfBlocks>`
If true, the empty line at the start of blocks is kept.

.. code-block:: c++

true: false:
if (foo) { vs. if (foo) {
bar();
bar(); }
}
This option is deprecated. See ``AtStartOfBlock`` of ``KeepEmptyLines``.

.. _LambdaBodyIndentation:

Expand Down
8 changes: 7 additions & 1 deletion clang/docs/LanguageExtensions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -657,6 +657,12 @@ Unless specified otherwise operation(±0) = ±0 and operation(±infinity) = ±in
T __builtin_elementwise_sin(T x) return the sine of x interpreted as an angle in radians floating point types
T __builtin_elementwise_cos(T x) return the cosine of x interpreted as an angle in radians floating point types
T __builtin_elementwise_tan(T x) return the tangent of x interpreted as an angle in radians floating point types
T __builtin_elementwise_asin(T x) return the arcsine of x interpreted as an angle in radians floating point types
T __builtin_elementwise_acos(T x) return the arccosine of x interpreted as an angle in radians floating point types
T __builtin_elementwise_atan(T x) return the arctangent of x interpreted as an angle in radians floating point types
T __builtin_elementwise_sinh(T x) return the hyperbolic sine of angle x in radians floating point types
T __builtin_elementwise_cosh(T x) return the hyperbolic cosine of angle x in radians floating point types
T __builtin_elementwise_tanh(T x) return the hyperbolic tangent of angle x in radians floating point types
T __builtin_elementwise_floor(T x) return the largest integral value less than or equal to x floating point types
T __builtin_elementwise_log(T x) return the natural logarithm of x floating point types
T __builtin_elementwise_log2(T x) return the base 2 logarithm of x floating point types
Expand Down Expand Up @@ -5339,7 +5345,7 @@ The ``#pragma clang section`` directive obeys the following rules:
* The pragma clang section is enabled automatically, without need of any flags.
* This feature is only defined to work sensibly for ELF targets.
* This feature is only defined to work sensibly for ELF and Mach-O targets.
* If section name is specified through _attribute_((section("myname"))), then
the attribute name gains precedence.
Expand Down
24 changes: 23 additions & 1 deletion clang/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ C++ Specific Potentially Breaking Changes
To fix this, update libstdc++ to version 14.1.1 or greater.

- Clang now emits errors when Thread Safety Analysis trylock attributes are
applied to functions or methods with incompatible return values, such as
constructors, destructors, and void-returning functions. This only affects the
``TRY_ACQUIRE`` and ``TRY_ACQUIRE_SHARED`` attributes (and any synonyms).

ABI Changes in This Version
---------------------------
- Fixed Microsoft name mangling of implicitly defined variables used for thread
Expand All @@ -95,13 +100,17 @@ ABI Changes in This Version
- Fixed Microsoft calling convention when returning classes that have a deleted
copy assignment operator. Such a class should be returned indirectly.

- Removed the global alias that was pointing to AArch64 Function Multiversioning
ifuncs. Its purpose was to preserve backwards compatibility when the ".ifunc"
suffix got removed from the name mangling. The alias interacts badly with
GlobalOpt (see the issue #96197).

- Fixed Microsoft name mangling for auto non-type template arguments of pointer
type for MSVC 1920+. This change resolves incompatibilities with code compiled
by MSVC 1920+ but will introduce incompatibilities with code compiled by
earlier versions of Clang unless such code is built with the compiler option
`-fms-compatibility-version=19.14` to imitate the MSVC 1914 mangling behavior.


AST Dumping Potentially Breaking Changes
----------------------------------------

Expand Down Expand Up @@ -511,6 +520,11 @@ Attribute Changes in Clang
};
- Introduced new function type attributes ``[[clang::nonblocking]]``, ``[[clang::nonallocating]]``,
``[[clang::blocking]]``, and ``[[clang::allocating]]``, with GNU-style variants as well.
The attributes declare constraints about a function's behavior pertaining to blocking and
heap memory allocation.

Improvements to Clang's diagnostics
-----------------------------------
- Clang now applies syntax highlighting to the code snippets it
Expand Down Expand Up @@ -720,6 +734,11 @@ Bug Fixes in This Version

- Fixed `static_cast` to array of unknown bound. Fixes (#GH62863).

- Clang's Thread Safety Analysis now evaluates trylock success arguments of enum
types rather than silently defaulting to false. This fixes a class of false
negatives where the analysis failed to detect unchecked access to guarded
data.

Bug Fixes to Compiler Builtins
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -914,6 +933,7 @@ Bug Fixes to C++ Support
- Clang now diagnoses explicit specializations with storage class specifiers in all contexts.
- Fix an assertion failure caused by parsing a lambda used as a default argument for the value of a
forward-declared class. (#GH93512).
- Fixed a bug in access checking inside return-type-requirement of compound requirements. (#GH93788).

Bug Fixes to AST Handling
^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -1090,6 +1110,8 @@ clang-format
- Adds ``AllowShortCaseExpressionOnASingleLine`` option.
- Adds ``AlignCaseArrows`` suboption to ``AlignConsecutiveShortCaseStatements``.
- Adds ``LeftWithLastLine`` suboption to ``AlignEscapedNewlines``.
- Adds ``KeepEmptyLines`` option to deprecate ``KeepEmptyLinesAtEOF``
and ``KeepEmptyLinesAtTheStartOfBlocks``.

libclang
--------
Expand Down
Loading

0 comments on commit 7560488

Please sign in to comment.