Changes

Summary

  1. Add missing closing quote to SVE 2 stage cmake options (details)
Commit 0b9e49366d6c3c39fabf7a20123cb37eac6297ca by david.spickett
Add missing closing quote to SVE 2 stage cmake options

Missing from 24c07902d058abcee3bcf908676bacaae1f3d448.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [ELF] Support quoted symbols in symbol assignments (details)
  2. [NFC][SimplifyCFG] Add more negative tests for profmd-induced speculation avoidance (details)
  3. [SimplifyCFG] Don't speculatively execute BB if it's predictably not taken (details)
  4. [SimplifyCFG] Don't speculatively execute BB[s] if they are predictably not taken (details)
  5. [SimplifyCFG] Fold branch to common dest: if branch is unpredictable, prefer to speculate (details)
  6. Remove the NotUnderValgrind caching flag (details)
  7. Build libSupport with -Werror=global-constructors (NFC) (details)
  8. Revert "Build libSupport with -Werror=global-constructors (NFC)" (details)
  9. [OPENCL] opencl-c.h: add initial CL 3.0 conditionals for atomic operations. (details)
  10. [yaml2obj] Do not write the string table if there is no string entry. (details)
  11. Build libSupport with -Werror=global-constructors (NFC) (details)
  12. Revert "Build libSupport with -Werror=global-constructors (NFC)" (details)
  13. [Debug-Info][llvm-dwarfdump] Don't use DW_FORM_data4/8 (details)
  14. [Object] make SourceMgr available to MCContext during inline asm symbols (details)
  15. [Preprocessor] Implement -fminimize-whitespace. (details)
  16. [mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>. (details)
Commit e7a7ad134fe182aad190cb3ebc441164470e92f5 by i
[ELF] Support quoted symbols in symbol assignments

glibc/elf/tst-absolute-zero-lib.lds uses `"absolute" = 0;`
The file was modifiedlld/ELF/ScriptParser.cpp (diff)
The file was modifiedlld/test/ELF/linkerscript/symbolreferenced.s (diff)
The file was modifiedlld/test/ELF/linkerscript/symbol-name.test (diff)
Commit 48379f27d044780396a36f90972da43e2d5aceda by lebedev.ri
[NFC][SimplifyCFG] Add more negative tests for profmd-induced speculation avoidance
The file was modifiedllvm/test/Transforms/SimplifyCFG/speculatively-execute-block-profmd.ll (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-two-entry-phi-node-with-one-block-profmd.ll (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-two-entry-phi-node-with-two-blocks-profmd.ll (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll (diff)
Commit e58ce35f7b672b87baf8402de286b13df6082a00 by lebedev.ri
[SimplifyCFG] Don't speculatively execute BB if it's predictably not taken

If the branch isn't `unpredictable`, and it is predicted to *not* branch
to the block we are considering speculatively executing,
then it seems counter-productive to execute the code that is predicted not to be executed.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D106650
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/speculatively-execute-block-profmd.ll (diff)
Commit 59a5964e033c92f3b4866429552f20979c998e56 by lebedev.ri
[SimplifyCFG] Don't speculatively execute BB[s] if they are predictably not taken

Same as D106650, but for `FoldTwoEntryPHINode()`

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D106717
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-two-entry-phi-node-with-one-block-profmd.ll (diff)
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff)
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-two-entry-phi-node-with-two-blocks-profmd.ll (diff)
Commit c2dacb1cd3cc35213bb278f0746ef42a05e68e70 by lebedev.ri
[SimplifyCFG] Fold branch to common dest: if branch is unpredictable, prefer to speculate

This is consistent with the two other usages of prof md in this pass.
The file was modifiedllvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll (diff)
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp (diff)
Commit 7d9a2c714c4c198b250b65b955619a169ed9400e by joker.eph
Remove the NotUnderValgrind caching flag

The motivation for this caching wasn't clear, remove it in an effort to
simplify the code and make libSupport free of global dynamic constructor.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D106206
The file was modifiedllvm/lib/Support/Valgrind.cpp (diff)
Commit 5eb2e9aa64b7be7cd8ed7f36de19c2c9bdf1977c by joker.eph
Build libSupport with -Werror=global-constructors (NFC)

Ensure that libSupport does not carry any static global initializer.
libSupport can be embedded in use cases where we don't want to load all
cl::opt unless we want to parse the command line.
ManagedStatic can be used to enable lazy-initialization of globals.
The file was modifiedllvm/lib/Support/CMakeLists.txt (diff)
Commit df7d9c8cb03c06a0346acb99f96c4c7069e105bc by joker.eph
Revert "Build libSupport with -Werror=global-constructors (NFC)"

This reverts commit 5eb2e9aa64b7be7cd8ed7f36de19c2c9bdf1977c.
This broke MacOS builds, needs to have a safer check guarding the flag
addition.
The file was modifiedllvm/lib/Support/CMakeLists.txt (diff)
Commit 9451403c5f8c70c2ef022bd721db2b1c452eac79 by airlied
[OPENCL] opencl-c.h: add initial CL 3.0 conditionals for atomic operations.

This adds the optional wrappers around things, however this isn't sufficient yet for CL 3.0 without generic address space, I've got one more additional patch to add all those APIs, but this is an easier to review precursor.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D106111
The file was modifiedclang/lib/Headers/opencl-c-base.h (diff)
The file was modifiedclang/lib/Headers/opencl-c.h (diff)
Commit 2eb7e5f0eda72b7989f17827a325035075f6bd3d by esme.yi
[yaml2obj] Do not write the string table if there is no string entry.

Summary: yaml2obj shouldn't create the string table that isn't needed
         - doing so wastes time and disk space.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D106420
The file was modifiedllvm/lib/ObjectYAML/XCOFFEmitter.cpp (diff)
Commit 579cc9ad2e2db6c3f1670b9f42c2cfe67bc5722c by joker.eph
Build libSupport with -Werror=global-constructors (NFC)

Ensure that libSupport does not carry any static global initializer.
libSupport can be embedded in use cases where we don't want to load all
cl::opt unless we want to parse the command line.
ManagedStatic can be used to enable lazy-initialization of globals.
The file was modifiedllvm/lib/Support/CMakeLists.txt (diff)
Commit 3211eadfe09acde35264b5a4f7e39579a1f650bb by joker.eph
Revert "Build libSupport with -Werror=global-constructors (NFC)"

This reverts commit 579cc9ad2e2db6c3f1670b9f42c2cfe67bc5722c.
This breaks on Windows.
The file was modifiedllvm/lib/Support/CMakeLists.txt (diff)
Commit 0d3e4d9d4d2c9e29f5bd073340588f3c4931fb7c by esme.yi
[Debug-Info][llvm-dwarfdump] Don't use DW_FORM_data4/8
to encode the constants for DW_AT_data_member_location.

Summary: In DWARF v3, DW_FORM_data4/8 in
DW_AT_data_member_location are interpreted as location
list pointers. Interpreting constants as pointers is
not expected, so we use DW_FORM_udata to encode the
constants.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D105687
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)
The file was modifiedllvm/test/DebugInfo/MSP430/dwarf-basics.ll (diff)
The file was addedllvm/test/DebugInfo/PowerPC/data_member_location_dwarf3.ll
Commit 1558bb80c01b695ce12642527cbfccf16cf54ece by Yuanfang Chen
[Object] make SourceMgr available to MCContext during inline asm symbols
collection

Fixes PR51210.
The file was modifiedllvm/lib/Object/ModuleSymbolTable.cpp (diff)
Commit ae6b40000238e5faaaa319ffcfc713a15e459be8 by llvm-project
[Preprocessor] Implement -fminimize-whitespace.

This patch adds the -fminimize-whitespace with the following effects:

* If combined with -E, remove as much non-line-breaking whitespace as
   possible.

* If combined with -E -P, removes as much whitespace as possible,
   including line-breaks.

The motivation is to reduce the amount of insignificant changes in the
preprocessed output with source files where only whitespace has been
changed (add/remove comments, clang-format, etc.) which is in particular
useful with ccache.

A patch for ccache for using this flag has been proposed to ccache as well:
https://github.com/ccache/ccache/pull/815, which will use
-fnormalize-whitespace when clang-13 has been detected, and additionally
uses -P in "unify_mode". ccache already had a unify_mode in an older
version which was removed because of problems that using the
preprocessor itself does not have (such that the custom tokenizer did
not recognize C++11 raw strings).

This patch slightly reorganizes which part is responsible for adding
newlines that are required for semantics. It is now either
startNewLineIfNeeded() or MoveToLine() but never both; this avoids the
ShouldUpdateCurrentLine workaround and avoids redundant lines being
inserted in some cases. It also fixes a mandatory newline not inserted
after a _Pragma("...") that is expanded into a #pragma.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D104601
The file was modifiedclang/lib/Frontend/PrintPreprocessedOutput.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td (diff)
The file was modifiedclang/include/clang/Driver/Types.h (diff)
The file was modifiedclang/test/Preprocessor/stringize_space.c (diff)
The file was addedclang/test/Preprocessor/minimize-whitespace-messages.c
The file was modifiedclang/lib/Driver/Types.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/test/Preprocessor/line-directive-output.c (diff)
The file was modifiedclang/test/Preprocessor/macro_space.c (diff)
The file was modifiedclang/test/Preprocessor/comment_save.c (diff)
The file was addedclang/test/Preprocessor/line-directive-output-mincol.c
The file was modifiedclang/test/Preprocessor/print_line_include.c (diff)
The file was modifiedclang/include/clang/Driver/Options.td (diff)
The file was modifiedclang/docs/ClangCommandLineReference.rst (diff)
The file was modifiedclang/include/clang/Frontend/PreprocessorOutputOptions.h (diff)
The file was modifiedclang/lib/Lex/Preprocessor.cpp (diff)
The file was modifiedclang/test/Preprocessor/hash_line.c (diff)
The file was addedclang/test/Preprocessor/minimize-whitespace.c
The file was modifiedclang/test/Preprocessor/first-line-indent.c (diff)
Commit 0425332015f479a89226c684c33659aa9cfff4b5 by marcel.koester
[mlir] Added new RegionBranchTerminatorOpInterface and adapted uses of hasTrait<ReturnLike>.

This CL adds a new RegionBranchTerminatorOpInterface to query information about operands that can be
passed to successor regions. Similar to the BranchOpInterface, it allows to freely define the
involved operands. However, in contrast to the BranchOpInterface, it expects an additional region
number to distinguish between various use cases which might require different operands passed to
different regions.

Moreover, we added new utility functions (namely getMutableRegionBranchSuccessorOperands and
getRegionBranchSuccessorOperands) to query (mutable) operand ranges for operations equiped with the
ReturnLike trait and/or implementing the newly added interface.  This simplifies reasoning about
terminators in the scope of the nested regions.

We also adjusted the SCF.ConditionOp to benefit from the newly added capabilities.

Differential Revision: https://reviews.llvm.org/D105018
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.td (diff)
The file was modifiedmlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp (diff)
The file was modifiedmlir/lib/Analysis/BufferViewFlowAnalysis.cpp (diff)
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp (diff)
The file was modifiedmlir/test/Dialect/SCF/invalid.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td (diff)
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.h (diff)
The file was modifiedmlir/lib/Analysis/DataFlowAnalysis.cpp (diff)
The file was modifiedmlir/lib/Interfaces/ControlFlowInterfaces.cpp (diff)
The file was modifiedmlir/lib/Transforms/BufferOptimizations.cpp (diff)
The file was modifiedmlir/test/Transforms/sccp-structured.mlir (diff)
The file was modifiedmlir/lib/Transforms/BufferDeallocation.cpp (diff)