SuccessChanges

Summary

  1. [zorg] Use boolean flag to determine if building a unified standalone runtimes (details)
Commit 1d2328ff69a8503911e85140b0786429204a2113 by Xiangling.Liao
[zorg] Use boolean flag to determine if building a unified standalone runtimes

For AIX libcxx build, we use ../llvm/runtimes as build source and with
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" option, since we are using
the new runtimes build laided out by the "A vision for building the runtimes"
RFC and D93408.

Differential Revision: https://reviews.llvm.org/D97326
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
The file was modifiedzorg/buildbot/builders/LibcxxAndAbiBuilder.py (diff)

Summary

  1. [LegalizeTypes] Improve ExpandIntRes_XMULO codegen. (details)
  2. [clang-tidy] Remove OptionError (details)
  3. [WebAssembly] Handle empty cleanuppads when adding catch_all (details)
  4. Move EntryExitInstrumentation pass location (details)
  5. [PowerPC][AIX] Enable passing vectors in variadic functions. (details)
  6. [libclang] Remove LIBCLANG_INCLUDE_CLANG_TOOLS_EXTRA (details)
  7. BPF: fix enum value 0 issue for __builtin_preserve_enum_value() (details)
  8. Revert "Remove use of tuple for multiresult type storage" (details)
  9. [clang-tidy] Simplify diagnostics for UniqueptrResetRelease check (details)
  10. Fix the value_type of defusechain_iterator to match its operator*() (details)
  11. [test/profile] Add test coverage for __llvm_profile_write_buffer_internal (details)
  12. [clang-tidy] Tweak misc-static-assert fix in c++17 (details)
  13. [darwin] switch blocking mutex from osspinlock to os_unfair_lock (details)
  14. Make -f[no-]split-dwarf-inlining CC1 default align with driver default (no inlining) (details)
  15. [libcxx] [test] Use the native path types in path.compare (details)
  16. [mlir] Add polynomial approximation for math::ExpOp (details)
  17. [test/profile] Pass -w to suppress suggestion to use fopen_s (details)
  18. [test/profile] Disable instrprof-write-buffer-internal.c on Windows (details)
  19. [MLIR][TOSA] Lower tosa.transpose to linalg.generic (details)
  20. [lldb] Remove XPCServices symlinking (details)
  21. [lld-macho] Partial revert of D95204 (details)
  22. Revert "[lldb] Fix handling of `DW_AT_decl_file` according to D91014" (details)
  23. [WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly (details)
  24. [x86] add tests for select-of-bools; NFC (details)
  25. [AArch64] add tests for select-of-bools; NFC (details)
  26. [lld/mac] Prefix errors with "ld64.lld" instead of just "lld" (details)
  27. [lld/mac] Make -v print version and search paths in additon to linking, not instead of linking (details)
  28. [lldb/Commands] Fix short option collision for `process launch` (details)
  29. [lldb/Commands] Add command options for ScriptedProcess to ProcessLaunch (details)
  30. [lldb/Interpreter] Add ScriptInterpreter Wrapper for ScriptedProcess (details)
  31. [lldb/bindings] Add Python ScriptedProcess base class to lldb module (details)
  32. [lldb/Plugins] Add ScriptedProcess Process Plugin (details)
  33. [flang] Runtime: SCAN and VERIFY (details)
  34. [lld/mac on non-mac] fix test/MachO/search-paths.test after ab45289d2e7ce (details)
  35. [lld/mac] Use libSystem.dylib instead of libSystem.B.dylib in tests (details)
  36. [lld/mac] Add support for -flat_namespace (details)
  37. [clang-format] Respect spaces in line comment section... (details)
  38. [clang-format][PR47290] Add ShortNamespaceLines format option (details)
  39. [lld/mac] Implement the missing bits of -undefined (details)
  40. Revert "[c++20] Mark class type NTTPs as done and start defining the feature test macro." (details)
  41. [SDAG] add helper for select->logic folds; NFC (details)
  42. [HIP] Emit kernel symbol (details)
Commit e745f7c563734bcc958d528714493ee79581d23a by craig.topper
[LegalizeTypes] Improve ExpandIntRes_XMULO codegen.

The code previously used two BUILD_PAIRs to concatenate the two UMULO
results with 0s in the lower bits to match original VT. Then it created
an ADD and a UADDO with the original bit width. Each of those operations
need to be expanded since they have illegal types.

Since we put 0s in the lower bits before the ADD, the lower half of the
ADD result will be 0. So the lower half of the UADDO result is
solely determined by the other operand. Since the UADDO need to
be split in half, we don't really needd an operation for the lower
bits. Unfortunately, we don't see that in type legalization and end up
creating something more complicated and DAG combine or
lowering aren't always able to recover it.

This patch directly generates the narrower ADD and UADDO to avoid
needing to legalize them. Now only the MUL is done on the original
type.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D97440
The file was modifiedllvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/test/CodeGen/AArch64/vec_umulo.ll
The file was modifiedllvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pr45448.ll
The file was modifiedllvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 82289aa6c88ad9840369db294cc66ed829e8c435 by n.james93
[clang-tidy] Remove OptionError

The interface served a purpose, but since the ability to emit diagnostics when parsing configuration was added, its become mostly redundant. Emitting the diagnostic and removing the boilerplate is much cleaner.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97614
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
Commit dcfec279d607c41095f0f2d6469d6e4b2e618269 by aheejin
[WebAssembly] Handle empty cleanuppads when adding catch_all

In `LateEHPrepare::addCatchAlls`, the current code tries to get the
iterator's debug info even when it is `MachineBasicBlock::end()`. This
fixes the bug by adding empty debug info instead in that case.

Reviewed By: tlively

Differential Revision: https://reviews.llvm.org/D97679
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/exception.mir
Commit 040c1b49d7a7eaa23d883ca363744944f5597d92 by aeubanks
Move EntryExitInstrumentation pass location

This seems to be more of a Clang thing rather than a generic LLVM thing,
so this moves it out of LLVM pipelines and as Clang extension hooks into
LLVM pipelines.

Move the post-inline EEInstrumentation out of the backend pipeline and
into a late pass, similar to other sanitizer passes. It doesn't fit
into the codegen pipeline.

Also fix up EntryExitInstrumentation not running at -O0 under the new
PM. PR49143

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D97608
The file was modifiedclang/test/Frontend/gnu-mcount.c
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mcount-insertion.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/EntryExitInstrumenter.h
The file was modifiedllvm/test/CodeGen/X86/musttail-inalloca.ll
The file was modifiedllvm/test/CodeGen/ARM/gnu_mcount_nc.ll
The file was modifiedclang/test/CodeGen/X86/x86_64-instrument-functions.c
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/CodeGen/Mips/mcount.ll
The file was modifiedllvm/test/CodeGen/AArch64/O0-pipeline.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedclang/test/CodeGen/mcount.c
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/Other/opt-O0-pipeline.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/CodeGen/Mips/long-call-mcount.ll
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/test/Other/opt-O0-pipeline-enable-matrix.ll
Commit 3f40dbbbc71d28f6ad0bd616fe009bde861362ed by sd.fertile
[PowerPC][AIX] Enable passing vectors in variadic functions.

Differential Revision: https://reviews.llvm.org/D97474
The file was addedclang/test/CodeGen/aix-altivec-vaargs.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 52b8e10597315a96bc7cbc7cfe618e301c1e6e6c by thakis
[libclang] Remove LIBCLANG_INCLUDE_CLANG_TOOLS_EXTRA

LIBCLANG_INCLUDE_CLANG_TOOLS_EXTRA causes clang-tools-extra tools
to be included in libclang, which caused a dependency cycle. The option
has been off by default for two releases now, and (based on a web search
and mailing list feedback) nobody seems to turn it on. Remove it, like
planned on https://reviews.llvm.org/D79599

Differential Revision: https://reviews.llvm.org/D97693
The file was removedclang-tools-extra/test/clang-tidy/infrastructure/nolintnextline-plugin.cpp
The file was modifiedllvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
The file was removedclang-tools-extra/test/clang-tidy/infrastructure/nolint-plugin.cpp
The file was modifiedclang-tools-extra/test/lit.site.cfg.py.in
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn
The file was modifiedclang/tools/libclang/CMakeLists.txt
The file was modifiedclang-tools-extra/test/CMakeLists.txt
The file was removedllvm/utils/gn/secondary/clang/tools/libclang/include_clang_tools_extra.gni
Commit 283db5f0837d55f91242812003adf6e189ba743e by yhs
BPF: fix enum value 0 issue for __builtin_preserve_enum_value()

Lorenz Bauer reported that the following code will have
compilation error for bpf target:
    enum e { TWO };
    bpf_core_enum_value_exists(enum e, TWO);
The clang emitted the following error message:
    __builtin_preserve_enum_value argument 1 invalid

In SemaChecking, an expression like "*(enum NAME)1" will have
cast kind CK_IntegralToPointer, but "*(enum NAME)0" will have
cast kind CK_NullToPointer. Current implementation only permits
CK_IntegralToPointer, missing enum value 0 case.

This patch permits CK_NullToPointer cast kind and
the above test case can pass now.

Differential Revision: https://reviews.llvm.org/D97659
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/CodeGen/builtins-bpf-preserve-field-info-4.c
Commit 87e05eb03b1b58b9c1184d688868ab153d53000d by jpienaar
Revert "Remove use of tuple for multiresult type storage"

This reverts commit 08f0764ff551c5aa2486c40871453e1ff40fb679.
The file was modifiedmlir/include/mlir/IR/Operation.h
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/lib/IR/Value.cpp
Commit 8adfb38224697afca205343c0e1a49bd03ecfc09 by n.james93
[clang-tidy] Simplify diagnostics for UniqueptrResetRelease check

Tweak the diagnostics to create small replacements rather than grabbing source text from the lexer.
Also simplified the diagnostic message.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97632
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
Commit 6fb6bdff3701b00af4a573604f599093f7555bcf by nguillemot
Fix the value_type of defusechain_iterator to match its operator*()

defusechain_iterator has an operator*() and operator->() that return
references to a MachineOperand, but its "reference" and "pointer"
typedefs are set as if the iterator returns a MachineInstr reference.
This causes compilation errors when defusechain_iterator is used in
generic code that uses the "reference" and "pointer" typedefs.
This patch fixes this by updating the typedefs to use MachineOperand
instead of MachineInstr.

Reviewed By: mkitzan

Differential Revision: https://reviews.llvm.org/D97522
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
Commit 18adbb86f9983fe7ec0506466a29fbd5a2cfa0d2 by Vedant Kumar
[test/profile] Add test coverage for __llvm_profile_write_buffer_internal

Reviewed By: davidxl, MaskRay

Differential Revision: https://reviews.llvm.org/D97697
The file was addedcompiler-rt/test/profile/instrprof-write-buffer-internal.c
Commit 8f9f7d02aaac98f8539158e05975e7acbbb58fcc by n.james93
[clang-tidy] Tweak misc-static-assert fix in c++17

If C++17 mode is enabled and the assert doesn't have a string literal, we can emit a static assert with no message in favour of one with an empty message.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97313
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-static-assert.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
Commit 71ef54337d5e83c6767e4816227ef340caa337fc by code
[darwin] switch blocking mutex from osspinlock to os_unfair_lock

OSSpinLock is deprecated, so we are switching to `os_unfair_lock`. However, `os_unfair_lock` isn't available on older OSs, so we keep `OSSpinLock` as fallback.

Also change runtime assumption check to static since they only ever check constant values.

rdar://69588111

Reviewed By: delcypher, yln

Differential Revision: https://reviews.llvm.org/D97509
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit d942a82a076d35130376fa786adfc933c7db1c89 by i
Make -f[no-]split-dwarf-inlining CC1 default align with driver default (no inlining)

This makes CC1 and driver defaults consistent.
In addition, for more common cases (-g is specified without -gsplit-dwarf), users will not see -fno-split-dwarf-inlining in CC1 options.

Verified that the below is still true:

* `clang -g` => `splitDebugInlining: false` in DICompileUnit
* `clang -g -gsplit-dwarf` => `splitDebugInlining: false` in DICompileUnit
* `clang -g -gsplit-dwarf -fsplit-dwarf-inlining` => no `splitDebugInlining: false`

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D97706
The file was modifiedclang/test/Driver/split-debug.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGen/split-debug-inlining.c
Commit 74c883f7e5ba9143e51c2a68203e324511eb63a0 by martin
[libcxx] [test] Use the native path types in path.compare

This makes sure that it actually tests the right compare() overloads
in windows configurations.

This also fixes the allocation guards that enforce no allocations
while running the compare() functions.

Differential Revision: https://reviews.llvm.org/D97551
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
Commit ea7f211b2e6cbb49f178ec9ba085a4958d33cdea by ataei
[mlir] Add polynomial approximation for math::ExpOp

Similar to fast_exp in https://github.com/boulos/syrah

Differential Revision: https://reviews.llvm.org/D97599
The file was modifiedmlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
The file was modifiedmlir/test/Dialect/Math/polynomial-approximation.mlir
The file was modifiedmlir/test/mlir-cpu-runner/math_polynomial_approx.mlir
Commit 8f7dc9964752fa7ba703a6682314a79b4df849dd by Vedant Kumar
[test/profile] Pass -w to suppress suggestion to use fopen_s
The file was modifiedcompiler-rt/test/profile/instrprof-write-buffer-internal.c
Commit 2fcc3f4b18b4b82711ef0142f0881136cd419d76 by Vedant Kumar
[test/profile] Disable instrprof-write-buffer-internal.c on Windows

This is failing due to:

"instrprof-write-buffer-internal.c.tmp.buf.profraw: Invalid
instrumentation profile data (file header is corrupt)"

https://lab.llvm.org/buildbot/#/builders/127/builds/6830
The file was modifiedcompiler-rt/test/profile/instrprof-write-buffer-internal.c
Commit 087bc20fe42f2619fca76818900f73dd2c4a5b94 by rob.suderman
[MLIR][TOSA] Lower tosa.transpose to linalg.generic

Lowers the transpose operation to a generic linalg op when permutations
is a constant value.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D97508
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Commit 015d78a25e510a6ff512d562b4e062d16c4afc78 by smeenai
[lldb] Remove XPCServices symlinking

This is a downstream change that was accidentally included upstream.

Reviewed By: vsk

Differential Revision: https://reviews.llvm.org/D97701
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake
Commit 922de2574c17a755279358be928e5343dcf56c56 by jezng
[lld-macho] Partial revert of D95204

Trying to unbreak https://lab.llvm.org/buildbot/#/builders/57/builds/4753

I'm not able to repro the failures locally so... here's hoping
The file was removedclang/test/Driver/Inputs/lld/ld64.lld.darwinold
The file was modifiedclang/test/Driver/darwin-ld-demangle-lld.c
The file was modifiedclang/test/Driver/darwin-ld-platform-version-tvos.c
The file was modifiedclang/test/Driver/darwin-ld-platform-version-watchos.c
The file was addedclang/test/Driver/Inputs/lld/ld64.lld.darwinnew
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was modifiedclang/test/Driver/darwin-ld-platform-version-ios.c
The file was modifiedclang/test/Driver/darwin-ld-platform-version-macos.c
Commit 011e7bcaa3194ed4ca3fec48263f5ef69fc1813c by jan.kratochvil
Revert "[lldb] Fix handling of `DW_AT_decl_file` according to D91014"

This reverts commit 7ec7876feda412b6edad0d83565395ef2fd5a004.

Non-x86_64 non-Linux bots broke by the testcase.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/Inputs/DW_TAG_variable-DW_AT_decl_file-DW_AT_abstract_origin-crosscu2.s
The file was removedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_variable-DW_AT_decl_file-DW_AT_abstract_origin-crosscu1.s
Commit a0f4526836a76a5e2f56d25c7e35cfd89b2d0908 by aardappel
[WebAssembly] Fix split-dwarf not emitting DW_OP_WASM_location correctly

It was using the regular path for target indices that uses uleb, but TI_GLOBAL_RELOC needs to be uint32_t.
Introduced here: https://reviews.llvm.org/D85685
Fixes: https://github.com/emscripten-core/emscripten/issues/13240

Differential Revision: https://reviews.llvm.org/D97564
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/test/MC/WebAssembly/dwarfdump.ll
Commit bcd504d8a3ba9ca4a490420a96aa94326070190d by spatel
[x86] add tests for select-of-bools; NFC
The file was modifiedllvm/test/CodeGen/X86/select-with-and-or.ll
Commit fd64580f74c9c40c1dead1a7a11774199c49917d by spatel
[AArch64] add tests for select-of-bools; NFC
The file was addedllvm/test/CodeGen/AArch64/select-with-and-or.ll
Commit bacacb9d5c979b2c32ef76ac00acfa445187028f by thakis
[lld/mac] Prefix errors with "ld64.lld" instead of just "lld"

Matches the ELF and COFF ports, which use ld.lld and lld-link, respectively.

While here, also move up `cleanupCallback` to match ELF / COFF.

Differential Revision: https://reviews.llvm.org/D97715
The file was modifiedlld/MachO/Driver.cpp
Commit ab45289d2e7ce224ee938c45aa07c5d7119fdb6f by thakis
[lld/mac] Make -v print version and search paths in additon to linking, not instead of linking

This matches ld64's behavior.

Differential Revision: https://reviews.llvm.org/D97718
The file was modifiedlld/test/MachO/silent-ignore.test
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/syslibroot.test
Commit 103ad3f90708eceddd9fea484ce82354e5a9d62d by medismail.bennani
[lldb/Commands] Fix short option collision for `process launch`

This patch changes the short option used in `CommandOptionsProcessLaunch`
for the `-v|--environment` command option to `-E|--environment`.

The reason for that is, that it collides with the `-v|--structured-data-value`
command option generated by `OptionGroupPythonClassWithDict` that
I'm using in an upcoming patch for the `process launch` command.

The long option `--environment` remains the same.

Differential Review: https://reviews.llvm.org/D95100

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/docs/use/map.rst
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Commands/CommandOptionsProcessLaunch.cpp
Commit d62a53aaf1d38a55d1affbd3a30d564a4e9d3171 by medismail.bennani
[lldb/Commands] Add command options for ScriptedProcess to ProcessLaunch

This patch adds a new command options to the CommandObjectProcessLaunch
for scripted processes.

Among the options, the user need to specify the class name managing the
scripted process. The user can also use a key-value dictionary holding
arbitrary data that will be passed to the managing class.

This patch also adds getters and setters to `SBLaunchInfo` for the
class name managing the scripted process and the dictionary.

rdar://65508855

Differential Review: https://reviews.llvm.org/D95710

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/API/SBTarget.cpp
The file was modifiedlldb/source/Commands/CommandOptionsProcessLaunch.h
The file was modifiedlldb/include/lldb/API/SBLaunchInfo.h
The file was modifiedlldb/include/lldb/API/SBStructuredData.h
The file was modifiedlldb/include/lldb/Host/ProcessLaunchInfo.h
The file was modifiedlldb/source/Host/common/ProcessLaunchInfo.cpp
The file was modifiedlldb/source/API/SBLaunchInfo.cpp
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
The file was modifiedlldb/source/Commands/CommandOptionsProcessLaunch.cpp
The file was modifiedlldb/bindings/interface/SBLaunchInfo.i
The file was modifiedlldb/include/lldb/API/SBStream.h
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
Commit 182f0d1a34419445bb19d67581d6ac1afc98b7fa by medismail.bennani
[lldb/Interpreter] Add ScriptInterpreter Wrapper for ScriptedProcess

This patch adds a ScriptedProcess interface to the ScriptInterpreter and
more specifically, to the ScriptInterpreterPython.

This interface will be used in the C++ `ScriptProcess` Process Plugin to
call the script methods.

At the moment, not all methods are implemented, they will upstreamed in
upcoming patches.

This patch also adds helper methods to the ScriptInterpreter to
convert `SBAPI` Types (SBData & SBError) to `lldb_private` types
(DataExtractor & Status).

rdar://65508855

Differential Revision: https://reviews.llvm.org/D95711

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/include/lldb/API/SBData.h
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was addedlldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
The file was modifiedlldb/source/Interpreter/ScriptInterpreter.cpp
The file was addedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
The file was modifiedlldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
The file was modifiedlldb/include/lldb/API/SBThreadPlan.h
The file was addedlldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.cpp
The file was modifiedlldb/include/lldb/API/SBError.h
The file was addedlldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
The file was modifiedlldb/bindings/python/python-wrapper.swig
The file was modifiedlldb/include/lldb/Interpreter/ScriptInterpreter.h
The file was addedlldb/include/lldb/Interpreter/ScriptedProcessInterface.h
Commit 2cff3dec1171188ce04ab1a4373cc1885ab97be1 by medismail.bennani
[lldb/bindings] Add Python ScriptedProcess base class to lldb module

In order to facilitate the writting of Scripted Processes, this patch
introduces a `ScriptedProcess` python base class in the lldb module.

The base class holds the python interface with all the - abstract -
methods that need to be implemented by the inherited class but also some
methods that can be overwritten.

This patch also provides an example of a Scripted Process with the
`MyScriptedProcess` class.

rdar://65508855

Differential Revision: https://reviews.llvm.org/D95712

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was addedlldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
The file was modifiedlldb/bindings/python/CMakeLists.txt
The file was addedlldb/examples/python/scripted_process/scripted_process.py
The file was addedlldb/test/API/functionalities/scripted_process/main.c
The file was addedlldb/examples/python/scripted_process/my_scripted_process.py
The file was addedlldb/test/API/functionalities/scripted_process/Makefile
Commit 46796762afe76496ec4dd900f64d0cf4cdc30e99 by medismail.bennani
[lldb/Plugins] Add ScriptedProcess Process Plugin

This patch introduces Scripted Processes to lldb.

The goal, here, is to be able to attach in the debugger to fake processes
that are backed by script files (in Python, Lua, Swift, etc ...) and
inspect them statically.

Scripted Processes can be used in cooperative multithreading environments
like the XNU Kernel or other real-time operating systems, but it can
also help us improve the debugger testing infrastructure by writting
synthetic tests that simulates hard-to-reproduce process/thread states.

Although ScriptedProcess is not feature-complete at the moment, it has
basic execution capabilities and will improve in the following patches.

rdar://65508855

Differential Revision: https://reviews.llvm.org/D95713

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was addedlldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
The file was addedlldb/source/Plugins/Process/scripted/ScriptedProcess.h
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
The file was addedlldb/source/Plugins/Process/scripted/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Process/CMakeLists.txt
The file was modifiedlldb/bindings/python/CMakeLists.txt
Commit 5a451a428904168a02483510235c66a4c82fdaab by pklausler
[flang] Runtime: SCAN and VERIFY

Implement the related character intrinsic functions
SCAN and VERIFY.

Differential Revision: https://reviews.llvm.org/D97580
The file was modifiedflang/runtime/character.cpp
The file was modifiedflang/runtime/character.h
The file was modifiedflang/unittests/Runtime/character.cpp
Commit 2e803ec746ac3669efc47de58001dfee82cb8fe3 by thakis
[lld/mac on non-mac] fix test/MachO/search-paths.test after ab45289d2e7ce
The file was modifiedlld/test/MachO/search-paths.test
Commit 3e6b6cee00819d256f30e84aec7ae634e0725534 by thakis
[lld/mac] Use libSystem.dylib instead of libSystem.B.dylib in tests

For -flat_namespace, lld needs to load dylibs in LC_LOAD_DYLIB.
The current setup meant that libSystem.dylib would cause a LC_LOAD_DYLIB
with libSystem.B.dylib, but that didn't exist in our libsysroot for
tests. So just drop the .B.

See https://reviews.llvm.org/D97641#2595237 and
https://reviews.llvm.org/D97641#2595270
The file was modifiedlld/test/MachO/Inputs/MacOSX.sdk/usr/lib/libSystem.tbd
The file was modifiedlld/test/MachO/Inputs/iPhoneSimulator.sdk/usr/lib/libSystem.tbd
The file was modifiedlld/test/MachO/lc-linker-option.ll
The file was modifiedlld/test/MachO/link-search-order.s
The file was modifiedlld/test/MachO/stub-link.s
The file was modifiedlld/test/MachO/implicit-dylibs.s
The file was modifiedlld/test/MachO/weak-import.s
Commit 8174f33dc9bf34e1cde57931e2e028bd4d49c98e by thakis
[lld/mac] Add support for -flat_namespace

-flat_namespace makes lld emit binaries that use name lookup that's more in
line with other POSIX systems: Instead of looking up symbols as (dylib,name)
pairs by dyld, they're instead looked up just by name.

-flat_namespace has three effects:

1. MH_TWOLEVEL and MH_NNOUNDEFS are no longer set in the Mach-O header
2. All symbols use BIND_SPECIAL_DYLIB_FLAT_LOOKUP as ordinal
3. When a dylib is added to the link, its dependent dylibs are also added,
   so that lld can verify that no undefined symbols remain at the end of
   a link with -flat_namespace. These transitive dylibs are added for symbol
   resolution, but they are not emitted in LC_LOAD_COMMANDs.

-undefined with -flat_namespace still isn't implemented. Before this change,
it was impossible to hit that combination because -flat_namespace caused a
diagnostic. Now that it no longer does, emit a dedicated temporary diagnostic
when both flags are used.

Differential Revision: https://reviews.llvm.org/D97641
The file was addedlld/test/MachO/flat-namespace.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/test/MachO/header.s
Commit 418b4a7b3158b47043c4c8891eb2e27966a55fa2 by bjoern
[clang-format] Respect spaces in line comment section...

... without an active column limit.

Before line comments were not touched at all with ColumnLimit == 0.

Differential Revision: https://reviews.llvm.org/D96896
The file was modifiedclang/unittests/Format/FormatTestComments.cpp
The file was modifiedclang/lib/Format/ContinuationIndenter.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 6ca52815fb3cb32343b9a008fdf9f593da39f203 by bjoern
[clang-format][PR47290] Add ShortNamespaceLines format option

clang-format documentation states that having enabled
FixNamespaceComments one may expect below code:

c++
namespace a {
foo();
}

to be turned into:

c++
namespace a {
foo();
} // namespace a

In reality, no "// namespace a" was added. The problem was too high
value of kShortNamespaceMaxLines, which is used while deciding whether
a namespace is long enough to be formatted.

As with 9163fe2, clang-format idempotence is preserved.

Differential Revision: https://reviews.llvm.org/D87587
The file was modifiedclang/lib/Format/NamespaceEndCommentsFixer.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/include/clang/Format/Format.h
Commit 0658fc654c758d0bfab7d119ecf94caf5e5276d5 by thakis
[lld/mac] Implement the missing bits of -undefined

This adds support for `-undefined dynamic_lookup`, and for
`-undefined warning` and `-undefined suppress` with `-flat_namespace`.

We just replace undefined symbols with a DynamicLookup when we hit them.

With this, `check-llvm` passes when using ld64.lld.darwinnew as host linker.

Differential Revision: https://reviews.llvm.org/D97642
The file was modifiedlld/test/MachO/treat-undef-sym.s
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/UnwindInfoSection.cpp
Commit 564f5b0734bd5d265a0046e5ca9d08ae5bc303eb by richard
Revert "[c++20] Mark class type NTTPs as done and start defining the feature test macro."

Some of the parts of this work were reverted; stop defining the feature
test macro for now.

This reverts commit b4c63ef6dd90dba9af26a111c9a78b121c5284b1.
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/test/Lexer/cxx-features.cpp
Commit 154c47dc06b5b432f9d8a3e3773e0089099a43d8 by spatel
[SDAG] add helper for select->logic folds; NFC

This set of transforms should be extended to handle vector types.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 5cf2a37f1255700d4da9d5f45e82bdfff09aee8c by Yaxun.Liu
[HIP] Emit kernel symbol

Currently clang uses stub function to launch kernel. This is inconvenient
to interop with C++ programs since the stub function has different name
as kernel, which is required by ROCm debugger.

This patch emits a variable symbol which has the same name as the kernel
and uses it to register and launch the kernel. This allows C++ program to
launch a kernel by using the original kernel name.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D86376
The file was addedclang/test/CodeGenCUDA/cxx-call-kernel.cpp
The file was modifiedclang/lib/CodeGen/CGCUDARuntime.h
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGenCUDA/Inputs/cuda.h
The file was modifiedclang/test/CodeGenCUDA/kernel-dbg-info.cu
The file was modifiedclang/test/CodeGenCUDA/unnamed-types.cu
The file was modifiedclang/lib/CodeGen/CGCUDANV.cpp
The file was modifiedclang/test/CodeGenCUDA/kernel-stub-name.cu