SuccessChanges

Summary

  1. [analyzer] Improved RangeSet::Negate support of unsigned ranges (details)
  2. Re-commit "[libc++] [test] Generate static_test_env on the fly" (details)
  3. Re-commit "[cmake] Allow std::filesystem tests in CrossWinToARMLinux.cmake" (details)
  4. Make mlir::Value's bool conversion operator explicit (details)
  5. [AMDGPU][MC][GFX8+] Enabled clamp for v_add_u16, v_sub_u16 and v_subrev_u16 (details)
  6. [AIX] Add '-bcdtors:all:0:s' to linker to gather static init functions (details)
  7. [lldb/Test] Add a trace method to replace print statements. (details)
  8. Revert "[PGO] Fix computation of function Hash" (details)
  9. [gn build] Port ba92b274225 (details)
Commit ba92b274225fc78dc15e8dc0076f71e7a8b5d084 by dpetrov
[analyzer] Improved RangeSet::Negate support of unsigned ranges

Summary:
This fixes https://bugs.llvm.org/show_bug.cgi?id=41588
RangeSet Negate function shall handle unsigned ranges as well as signed ones.
RangeSet getRangeForMinusSymbol function shall use wider variety of ranges, not only concrete value ranges.
RangeSet Intersect functions shall not produce assertions.

Changes:
Improved safety of RangeSet::Intersect function. Added isEmpty() check to prevent an assertion.
Added support of handling unsigned ranges to RangeSet::Negate and RangeSet::getRangeForMinusSymbol.
Extended RangeSet::getRangeForMinusSymbol to return not only range sets with single value [n,n], but with wide ranges [n,m].
Added unit test for Negate function.
Added regression tests for unsigned values.

Differential Revision: https://reviews.llvm.org/D77802
The file was addedclang/unittests/StaticAnalyzer/RangeSetTest.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp (diff)
The file was modifiedclang/unittests/StaticAnalyzer/CMakeLists.txt (diff)
The file was modifiedclang/test/Analysis/constraint_manager_negate_difference.c (diff)
Commit b62ce9e05d9ec95532fa131a3e47ff1d4e7ed5de by jaskiewiczs
Re-commit "[libc++] [test] Generate static_test_env on the fly"

Don't use std::filesystem APIs for CWDGuard, use POSIX functions
instead. This way the tests don't rely on the correctness of
the functionality they're testing.

Differential Revision: https://reviews.llvm.org/D78200
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/symlink_to_dir3
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/non_empty_file
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/bad_symlink
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/afile3
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/dir3/file5
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/empty_file
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/symlink_to_dir
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/dir1/file1
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/dir1/file2
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/file4
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp (diff)
The file was removedlibcxx/test/std/input.output/filesystems/Inputs/static_test_env/symlink_to_empty_file
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp (diff)
The file was modifiedlibcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp (diff)
The file was modifiedlibcxx/test/support/filesystem_test_helper.h (diff)
Commit 3873d0b3d899bb84a5983450dd2d98006c4527e2 by jaskiewiczs
Re-commit "[cmake] Allow std::filesystem tests in CrossWinToARMLinux.cmake"

https://reviews.llvm.org/D78200 has been re-committed, so we can now
enable building std::filesystem and running tests for it.
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake (diff)
Commit a9b5edc5e2c4ec9d506b2c30465ee9f2dc21e5cc by benny.kra
Make mlir::Value's bool conversion operator explicit

This still allows `if (value)` while requiring an explicit cast when not
in a boolean context. This means things like `std::set<Value>` will no
longer compile.

Differential Revision: https://reviews.llvm.org/D80497
The file was modifiedmlir/lib/Parser/Parser.cpp (diff)
The file was modifiedmlir/include/mlir/EDSC/Builders.h (diff)
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp (diff)
The file was modifiedmlir/include/mlir/IR/Value.h (diff)
Commit 77aec3b4c0e63b07d98dbb1aeb693d200e769a05 by dmitry.preobrazhensky
[AMDGPU][MC][GFX8+] Enabled clamp for v_add_u16, v_sub_u16 and v_subrev_u16

See https://bugs.llvm.org/show_bug.cgi?id=45926

Reviewers: arsenm, rampitec, vpykhtin

Differential Revision: https://reviews.llvm.org/D80430
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_all.s (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.s16.mir (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td (diff)
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/vop2_vi.txt (diff)
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td (diff)
The file was modifiedllvm/test/MC/AMDGPU/vop2.s (diff)
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt (diff)
Commit 5bf2409a4e4d23018ecffe4eff39988a957e76f7 by wanyu9511
[AIX] Add '-bcdtors:all:0:s' to linker to gather static init functions

Summary: On AIX, add '-bcdtors:all:0:s' to the linker implicitly through the driver so that we can collect all static constructor and destructor functions.

Reviewers: hubert.reinterpretcast, Xiangling_L, ZarkoCA, daltenty

Reviewed By: hubert.reinterpretcast

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80415
The file was modifiedclang/test/Driver/aix-ld.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp (diff)
Commit b321b429416ec51691a3c5372cb59912bded5f08 by Jonas Devlieghere
[lldb/Test] Add a trace method to replace print statements.

Many tests use (commented out) print statement for debugging the test
itself. This patch adds a new trace method to lldbtest to reuse the
existing tracing infrastructure and replace these print statements.

Differential revision: https://reviews.llvm.org/D80448
The file was modifiedlldb/test/API/python_api/thread/TestThreadAPI.py (diff)
The file was modifiedlldb/test/API/functionalities/load_unload/TestLoadUnload.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestLldbGdbServer.py (diff)
The file was modifiedlldb/test/API/python_api/breakpoint/TestBreakpointAPI.py (diff)
The file was modifiedlldb/test/API/python_api/function_symbol/TestSymbolAPI.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py (diff)
The file was modifiedlldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py (diff)
The file was modifiedlldb/test/API/python_api/frame/inlines/TestInlinedFrame.py (diff)
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py (diff)
The file was modifiedlldb/test/API/lang/objc/foundation/TestSymbolTable.py (diff)
The file was modifiedlldb/test/API/lang/c/register_variables/TestRegisterVariables.py (diff)
The file was modifiedlldb/test/API/python_api/frame/TestFrames.py (diff)
The file was modifiedlldb/test/API/benchmarks/stepping/TestSteppingSpeed.py (diff)
The file was modifiedlldb/test/API/python_api/event/TestEvents.py (diff)
The file was modifiedlldb/test/API/python_api/target/TestTargetAPI.py (diff)
The file was modifiedlldb/test/API/lang/cpp/class_types/TestClassTypesDisassembly.py (diff)
The file was modifiedlldb/test/API/python_api/function_symbol/TestDisasmAPI.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py (diff)
The file was modifiedlldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py (diff)
The file was modifiedlldb/test/API/commands/target/basic/TestTargetCommand.py (diff)
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py (diff)
Commit 2b8d6fa0acacba4dee31ed618a5596414b2279d5 by benny.kra
Revert "[PGO] Fix computation of function Hash"

This reverts commit 7c298c104bfe725d4315926a656263e8a5ac3054.
Fails make check-clang.

Failing Tests (8):
Clang :: Profile/c-counter-overflows.c
Clang :: Profile/c-general.c
Clang :: Profile/c-unprofiled-blocks.c
Clang :: Profile/cxx-rangefor.cpp
Clang :: Profile/cxx-throws.cpp
Clang :: Profile/misexpect-switch-default.c
Clang :: Profile/misexpect-switch-nonconst.c
Clang :: Profile/misexpect-switch.c
The file was removedclang/test/Profile/c-collision.c
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp (diff)
Commit e0aefaedb617766f4667118911fccb4a14abfb94 by llvmgnsyncbot
[gn build] Port ba92b274225
The file was modifiedllvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn (diff)