1. [XRay] Record the XRay data size as a property of the VMO (details)
  2. [ELF] Create readonly PT_LOAD in the presence of a SECTIONS command (details)
  3. [sanitizer_coverage][Fuchsia] Set ZX_PROP_VMO_CONTENT_SIZE (details)
  4. [MLIR] Fix op folding to not run pre-replace when not constant folding (details)
  5. [RISCV] Passing small data limitation value to RISCV backend (details)
  6. [Coroutines] Fix PR45130 (details)
Commit 4e6c778eca42aca1082511aa35cf2b81031ed21d by phosek
[XRay] Record the XRay data size as a property of the VMO

While the VMO size is always page aligned, we can record the content
size as a property and then use this metadata when writing the data to
a file.

Differential Revision:
The file was modifiedcompiler-rt/lib/xray/xray_utils.cpp (diff)
Commit 011b785505b1f6d315a93fd0a0409576ad8d1805 by maskray
[ELF] Create readonly PT_LOAD in the presence of a SECTIONS command

This essentially drops the change by r288021 (discussed with Georgii Rymar
and Peter Smith and noted down in the release note of lld 10).

GNU ld>=2.31 enables -z separate-code by default for Linux x86. By
default (in the absence of a PHDRS command) a readonly PT_LOAD is
created, which is different from its traditional behavior.

Not emulating GNU ld's traditional behavior is good for us because it
improves code consistency (we create a readonly PT_LOAD in the absence
of a SECTIONS command).

Users can add --no-rosegment to restore the previous behavior (combined
readonly and read-executable sections in a single RX PT_LOAD).
The file was modifiedlld/test/ELF/linkerscript/at4.s (diff)
The file was modifiedlld/test/ELF/linkerscript/overlapping-sections.s (diff)
The file was modifiedlld/test/ELF/linkerscript/repsection-symbol.s (diff)
The file was modifiedlld/test/ELF/linkerscript/at.s (diff)
The file was modifiedlld/test/ELF/linkerscript/sections-keep.s (diff)
The file was modifiedlld/test/ELF/linkerscript/align-empty.test (diff)
The file was modifiedlld/test/ELF/arm-thumb-thunk-v6m.s (diff)
The file was modifiedlld/ELF/ScriptParser.cpp (diff)
The file was modifiedlld/test/ELF/linkerscript/orphan-align.s (diff)
The file was modifiedlld/test/ELF/linkerscript/loadaddr.s (diff)
The file was modifiedlld/test/ELF/linkerscript/merge-sections-syms.s (diff)
The file was modifiedlld/test/ELF/linkerscript/extend-pt-load3.test (diff)
The file was modifiedlld/test/ELF/linkerscript/synthetic-symbols1.test (diff)
The file was modifiedlld/test/ELF/linkerscript/extend-pt-load2.test (diff)
The file was modifiedlld/test/ELF/linkerscript/sizeofheaders.s (diff)
The file was modifiedlld/test/ELF/arm-thunk-linkerscript-dotexpr.s (diff)
The file was modifiedlld/test/ELF/arm-thunk-linkerscript.s (diff)
The file was modifiedlld/test/ELF/arm-force-pi-thunk.s (diff)
The file was modifiedlld/test/ELF/linkerscript/map-file2.test (diff)
The file was modifiedlld/test/ELF/linkerscript/merge-header-load.s (diff)
The file was modifiedlld/test/ELF/linkerscript/rosegment.test (diff)
The file was modifiedlld/test/ELF/linkerscript/overlay.test (diff)
The file was modifiedlld/test/ELF/linkerscript/absolute-expr.test (diff)
The file was modifiedlld/test/ELF/linkerscript/non-alloc.s (diff)
The file was modifiedlld/test/ELF/linkerscript/merge-sections.s (diff)
The file was modifiedlld/test/ELF/linkerscript/extend-pt-load1.test (diff)
Commit 6ef1f3718f3c89d48362743c6f1a27390ce802c2 by phosek
[sanitizer_coverage][Fuchsia] Set ZX_PROP_VMO_CONTENT_SIZE

The VMO size is always page-rounded, but Zircon now provides
a way to publish the precise intended size.

Patch By: mcgrathr

Differential Revision:
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp (diff)
Commit 0ddd04391d281b1d8679ff95ddfce79a61253250 by uday
[MLIR] Fix op folding to not run pre-replace when not constant folding

OperationFolder::tryToFold was running the pre-replacement
action even when there was no constant folding, i.e., when the operation
was just being updated in place but was not going to be replaced. This
led to nested ops being unnecessarily removed from the worklist and only
being processed in the next outer iteration of the greedy pattern
rewriter, which is also why this didn't affect the final output IR but
only the convergence rate. It also led to an op's results' users to be
unnecessarily added to the worklist.

Signed-off-by: Uday Bondhugula <>

Differential Revision:
The file was modifiedmlir/lib/Transforms/Utils/FoldUtils.cpp (diff)
Commit fc3752665f4b7ae2ec3faad4204512687800c1ec by shiva
[RISCV] Passing small data limitation value to RISCV backend

Passing small data limit to RISCVELFTargetObjectFile by module flag,
So the backend can set small data section threshold by the value.
The data will be put into the small data section if the data smaller than
the threshold.

Differential Revision:
The file was addedclang/test/CodeGen/riscv-sdata-module-flag.c
The file was modifiedclang/docs/ClangCommandLineReference.rst (diff)
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was addedclang/test/Driver/riscv-sdata-warning.c
The file was modifiedclang/include/clang/Driver/ (diff)
The file was modifiedclang/lib/CodeGen/CodeGenModule.h (diff)
The file was modifiedclang/include/clang/Basic/ (diff)
The file was modifiedclang/include/clang/Driver/ (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def (diff)
Commit 032251e34d17c1cbf21e7571514bb775ed5cdf30 by JunMa
[Coroutines] Fix PR45130

For now, when final suspend can be simplified by simplifySuspendPoint,
handleFinalSuspend is executed as well to remove last case in switch
instruction. This patch fixes it.

Differential Revision:
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp (diff)
The file was modifiedllvm/test/Transforms/Coroutines/no-suspend.ll (diff)