SuccessChanges

Summary

  1. BranchProbabilityInfo - fix uninitialized variable warning. NFCI. (details)
  2. LoopAccessAnalysis - fix uninitialized variable warnings. NFCI. (details)
  3. CodeGenInstruction - fix uninitialized variable warnings. NFCI. (details)
  4. [CostModel][X86] Add add/fadd reduction tests for SLM (details)
  5. [clang-format] Assert that filenames are not empty (details)
  6. [clang-format] [RELAND] Remove the dependency on frontend (details)
  7. [CostModel][X86] Improve add vXi64 + fadd vXf64 reduction tests for SLM (details)
  8. [X86] Add 'mmx' to all CPUs that have a version of 'sse' and weren't (details)
  9. [X86] Add 'fxsr' feature to -march=pentium2 to match X86.td and gcc. (details)
  10. unwind: disable RTTI during the build of libunwind (details)
  11. [X86ISelLowering] Fixed typo in assert. NFCI. (details)
  12. [X86] Fix SLM v2f64 ADD/MUL + FP BLEND/HADD instruction schedules (details)
  13. [X86] Fix SLM v2i64 ADD/Sub/CMPEQ instruction schedules (details)
  14. [X86TargetTransformInfo] Fixed warning: Expression 'ISD == ISD::UREM' is (details)
  15. [Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML (details)
  16. [GISel][ArtifactCombiner] Relax the constraint to combine unmerge with (details)
  17. [NFC] Add SUPPORT_PLUGINS to add_llvm_executable() (details)
  18. Fix a typo in my previous commit (details)
  19. Introduce llvm-install-name-tool (details)
  20. [clang-format] [NFC] update the documentation in Format.h to allow (details)
  21. [AArch64] Re-add patterns for (s/u)mull2. (details)
  22. [X86] Clamp large constant shift amounts for MMX shift intrinsics to (details)
  23. [lit] Protect full test suite from FILECHECK_OPTS (details)
  24. [LoopPred] Fix two subtle issues found by inspection (details)
  25. [lldb] Record framework build path and use it everywhere (details)
  26. [Analysis] Attribute deref/deref_or_null should not prevent tail call (details)
  27. [WC] Fix a subtle bug in our definition of widenable branch (details)
  28. [JumpThreading] Factor out code to clone instructions (NFC) (details)
  29. [Orc] Fix iterator usage after remove (details)
  30. [LLDB] Fix handling for the clang name mangling extension for block (details)
  31. Testuite: Support Asan test with remote testing (details)
  32. [JITLink] Refactor EH-frame handling to support eh-frames with existing (details)
  33. [ConstantRange] TestAddWithNo*WrapExhaustive: check that all overflow (details)
  34. [ConstantRange] Cleanup addWithNoWrap() by just piggybacking on (details)
  35. [ConstantRange] Add `subWithNoWrap()` method (details)
Commit c447e5d90e8624e69620c1876917601d905e7e35 by llvm-dev
BranchProbabilityInfo - fix uninitialized variable warning. NFCI.
The file was modifiedllvm/include/llvm/Analysis/BranchProbabilityInfo.h
Commit 216dab915285c5b9e2c56be9b6541f35ccb96303 by llvm-dev
LoopAccessAnalysis - fix uninitialized variable warnings. NFCI.
The file was modifiedllvm/include/llvm/Analysis/LoopAccessAnalysis.h
Commit cca01c0347e85f184f06676a421bb8456e7cfa36 by llvm-dev
CodeGenInstruction - fix uninitialized variable warnings. NFCI.
The file was modifiedllvm/utils/TableGen/CodeGenInstruction.h
Commit 1b986b41ac40c9df82cc98ea4238d463e217bb25 by llvm-dev
[CostModel][X86] Add add/fadd reduction tests for SLM
The file was modifiedllvm/test/Analysis/CostModel/X86/reduction.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-add.ll
Commit 7681435de148cf7a1c7db1b0daba0497630989d2 by paulhoad
[clang-format] Assert that filenames are not empty
Summary: Adds asserts to catch empty filenames, which otherwise will
cause a crash in SourceManager. The clang-format tool now outputs an
error if an empty filename is used. Fixes bug: 34667
Reviewers: krasimir, djasper, MyDeveloperDay
Reviewed By: MyDeveloperDay
Subscribers: cfe-commits
Patch by: @jr
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D56345
The file was modifiedclang/tools/clang-format/ClangFormat.cpp
Commit 3ddac7e563633632d4a3e673f3224ee66e1a717e by paulhoad
[clang-format] [RELAND] Remove the dependency on frontend
Summary: relanding {D68969} after it failed UBSAN build caused by the
passing of an invalid SMLoc() (nullptr)
Reviewers: thakis, vlad.tsyrklevich, klimek, mitchell-stellar
Reviewed By: thakis
Subscribers: merge_guards_bot, mgorny, cfe-commits
Tags: #clang-format, #clang
Differential Revision: https://reviews.llvm.org/D69854
The file was modifiedclang/tools/clang-format/ClangFormat.cpp
The file was modifiedclang/tools/clang-format/CMakeLists.txt
Commit a091f70610687202104ad75a916048a190d872c2 by llvm-dev
[CostModel][X86] Improve add vXi64 + fadd vXf64 reduction tests for SLM
As noted on D59710 we weren't handling the high costs of these
operations on SLM.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/reduce-add.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/reduction.ll
Commit ba73aad4f64f52f2acb5394210ed829355b44383 by craig.topper
[X86] Add 'mmx' to all CPUs that have a version of 'sse' and weren't
already enabling '3dnow'
All SSE capable CPUs have MMX. 3dnow implicitly enables MMX.
We have code that detects if sse is enabled and implicitly enables MMX
unless -mno-mmx is passed. So in most cases we were already enabling MMX
if march passed a CPU that supported SSE.
The exception to this is if you pass -march for a cpu supports SSE and
also pass -mno-sse. We should still enable MMX since its part of the CPU
capability.
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/test/Preprocessor/x86_target_features.c
Commit a8ccb48f697d3fbe85c593248ff1053fdf522a6e by craig.topper
[X86] Add 'fxsr' feature to -march=pentium2 to match X86.td and gcc.
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedclang/lib/Basic/Targets/X86.cpp
Commit cbc872a63f81ad9482bb288165af63d7444fa3ed by Saleem Abdulrasool
unwind: disable RTTI during the build of libunwind
Disable the type information emission for libunwind.  libunwind does not
use `dynamic_cast`.  This results in a smaller binary, and more
importantly, avoids the dependency on libc++abi.  This ensures that we
have complete symbol resolution of symbols on ELF targets without
linking to the C++ runtime support library.  This change avoids the
emission of a reference to `__si_class_type_info`.
The file was modifiedlibunwind/src/CMakeLists.txt
Commit ca7f5becf9b71c23c8980d3a7280e4408e28bad2 by Dávid Bolvanský
[X86ISelLowering] Fixed typo in assert. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit ad70d5f39ae99d9f5be582ad8979830f588e6802 by llvm-dev
[X86] Fix SLM v2f64 ADD/MUL + FP BLEND/HADD instruction schedules
Noticed while fixing the reduction costs for D59710 - the SLM model
doesn't account for the poor throughput of v2f64/v2i64 ops.
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse3.s
The file was modifiedllvm/lib/Target/X86/X86ScheduleSLM.td
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
Commit 1786047b910506e5a2189cadb8791bd2504b855e by llvm-dev
[X86] Fix SLM v2i64 ADD/Sub/CMPEQ instruction schedules
Noticed while fixing the reduction costs for D59710 - the SLM model
doesn't account for the poor throughput of v2i64 ops.
Numbers taken from Intel AOM (+ checked against Agner)
The file was modifiedllvm/lib/Target/X86/X86ScheduleSLM.td
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s
Commit dad7a185101d23598d82147a4feed486ba0abafb by Dávid Bolvanský
[X86TargetTransformInfo] Fixed warning: Expression 'ISD == ISD::UREM' is
always true. NFCI.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit 6da58e7e0fac1e421d6a5a6e48ed8836c67ac543 by Steven Wu
[Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML
Summary: Rewrite one of the invalid macho test input file with YAML
file. The original invalid macho is breaking our internal test
infrastusture because it is too broken to be copy around.
Need to relax an assertion in the YAML/MachoEmitter to allow yaml2obj to
write an invalid object like this.
rdar://problem/56879982
Reviewers: beanz, mtrent
Reviewed By: beanz
Subscribers: hiraditya, jkorous, dexonsmith, ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69856
The file was addedllvm/test/Object/Inputs/macho-invalid-fat-arch-size.yaml
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
The file was modifiedllvm/test/Object/macho-invalid.test
The file was removedllvm/test/Object/Inputs/macho-invalid-fat-arch-size
Commit 52af7aedfe5dd5cfb1a6f486040a2549bbdbcf93 by qcolombet
[GISel][ArtifactCombiner] Relax the constraint to combine unmerge with
concat_vectors
The combine G_UNMERGE_VALUES with G_CONCAT_VECTORS used to only be
performed when the result type of the G_UNMERGE_VALUES was a vector
type. In other words, we were expecting that the G_UNMERGE_VALUES was
effectively the exact opposite of the G_CONCAT_VECTORS.
Lift that constraint by allowing any G_UNMERGE_VALUES to be combined
with any G_CONCAT_VECTORS (as long as the size of the different pieces
that we merge/unmerge match).
Differential Revision: https://reviews.llvm.org/D69288
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/integration-shuffle-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-combiner.mir
Commit 6740a88dc18d0be14926a5e709bd5062e31ee81c by daltenty
[NFC] Add SUPPORT_PLUGINS to add_llvm_executable()
Summary: this allows us to move logic about when it is appropriate set
LLVM_NO_DEAD_STRIP out of each tool and into add_llvm_executable, which
will enable future platform specific handling.
This is a follow on to the reverted D69356
Reviewers: hubert.reinterpretcast, beanz, lhames
Reviewed By: beanz
Subscribers: mgorny, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D69638
The file was modifiedllvm/tools/bugpoint/CMakeLists.txt
The file was modifiedllvm/tools/opt/CMakeLists.txt
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedllvm/tools/llc/CMakeLists.txt
The file was modifiedclang/tools/driver/CMakeLists.txt
Commit 2293b3f169a27232a9f208ae157517b96ff9a4f0 by Steven Wu
Fix a typo in my previous commit
The file was modifiedllvm/lib/ObjectYAML/MachOEmitter.cpp
Commit b5913e6d2f6d13fb753df701619731ca11936316 by alexshap
Introduce llvm-install-name-tool
This diff adds a new "driver" for llvm-objcopy which is supposed to
emulate the behavior of install-name-tool.
Differential revision: https://reviews.llvm.org/D69146
Test plan: make check-all
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt
The file was addedllvm/tools/llvm-objcopy/InstallNameToolOpts.td
The file was addedllvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was addedllvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
Commit eadb65f273c076c4997b28a51f086eea505c3e78 by paulhoad
[clang-format] [NFC] update the documentation in Format.h to allow
dump_format_style.py to get a little closer to being correct. (part 2)
Summary: a change {D67541} cause LanguageStandard to now be subtly
different from all other clang-format options, in that the Enum value
(less the prefix) is not always allowed as valid as the configuration
option.
This caused the ClangFormatStyleOptions.rst and the Format.h to diverge
so that the ClangFormatStyleOptions.rst could no longer be generated
from the Format.h using dump_format_stlye.py
This fix tried to remedy that:
1) by allowing an additional comment (in Format.h) after the enum to be
used as the `in configuration ( XXXX )`  text, and changing the
dump_format_style.py to support that.
This makes the following code:
``` enum {
... LS_Cpp03, // c++03 LS_Cpp11, // c++11
...
};
```
would render as:
```* ``LS_Cpp03`` (in configuration: ``c++03``)
* ``LS_Cpp11`` (in configuration: ``c++11``)
```
And we also  move the deprecated alias into the text of the enum
(otherwise it won't be added at the end as an option)
This patch includes a couple of other whitespace changes which help
bring Format.h and ClangFormatStyleOptions.rst almost back into line and
regeneratable...  (there is still one more)
Reviewers: klimek, mitchell-stellar, sammccall
Reviewed By: mitchell-stellar, sammccall
Subscribers: mrexodia, cfe-commits
Tags: #clang, #clang-format
Differential Revision: https://reviews.llvm.org/D69433
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/docs/tools/dump_format_style.py
Commit 35cf9a1fc5d2ab7c171c968737092874676ce8ea by efriedma
[AArch64] Re-add patterns for (s/u)mull2.
These patterns were added in D46009, but removed in D54276 due to
missing test coverage.
Differential Revision: https://reviews.llvm.org/D69831
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-smull.ll
Commit 641d2e5232b423a7dd81afac94dd3db4412a4971 by craig.topper
[X86] Clamp large constant shift amounts for MMX shift intrinsics to
8-bits.
The MMX intrinsics for shift by immediate take a 32-bit shift amount but
the hardware for shifting by immediate only encodes 8-bits. For the
intrinsic we don't require the shift amount to fit in 8-bits in the
frontend because we don't check that its an immediate in the frontend.
If its is not an immediate we move it to an MMX register and use the
shift by register.
But if it is an immediate we'll use the shift by immediate instruction.
But we need to change the shift amount to 8-bits. We were previously
doing this accidentally by masking it in the encoder. But this can make
a large shift amount into a small in bounds shift amount. Instead we
should clamp larger shift amounts to 255 so that the they don't become
in bounds.
Fixes PR43922
The file was modifiedllvm/test/CodeGen/X86/mmx-arith.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6cecd3c3dbef48eca6c4cf2dcc2df3290ab91488 by jdenny.ornl
[lit] Protect full test suite from FILECHECK_OPTS
lit's test suite calls lit multiple times for various sample test
suites.  `FILECHECK_OPTS` is safe for FileCheck calls in lit's test
suite.  It's not safe for FileCheck calls in the sample test suites,
whose output affects the results of lit's test suite.
Without this patch, only one such sample test suite is protected from
`FILECHECK_OPTS`, and currently `shtest-shell.py` breaks with
`FILECHECK_OPTS=-vv`.  Moreover, it's hard to predict the future,
especially false passes.  Thus, this patch protects all existing and
future sample test suites from `FILECHECK_OPTS` (and the deprecated
`FILECHECK_DUMP_INPUT_ON_FAILURE`).
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D65156
The file was modifiedllvm/utils/lit/tests/shtest-run-at-line.py
The file was modifiedllvm/utils/lit/tests/lit.cfg
Commit 9bfa5ab3d1982a7cef60ee00b935f4ddc89fc98e by listmail
[LoopPred] Fix two subtle issues found by inspection
This patch fixes two issues noticed by inspection when going to enable
the loop predication code in IndVarSimplify.
Issue 1 - Both the LoopPredication transform, and the already on by
default optimizeLoopExits transform, modify the exit count of the exits
they modify. (either to 0 or Infinity) Looking at the code more closely,
this was not reflected into SCEV and we were instead running later
transforms with incorrect SCEVs. Fixing this requires forgetting the
loop, weakening a too strong assert, and updating SCEV to not pessimize
results when a loop is provable untaken. I haven't been able to find a
test case to demonstrate the miscompile.
Issue 2 - For modules without a data layout, we can end up with unsized
pointer typed exit counts. Just bail out of this case.
I think these are the last two issues which need addressed before we
enable this by default. The code has already survived a decent amount of
fuzzing without revealing either of the above.
Differential Revision: https://reviews.llvm.org/D69695
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 77a60f0df673074a2c9276498f95a9eaadeece56 by hhb
[lldb] Record framework build path and use it everywhere
This avoids config time dependencies on liblldb. And enables other
refactoring.
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake
The file was modifiedlldb/tools/debugserver/source/CMakeLists.txt
The file was modifiedlldb/CMakeLists.txt
The file was modifiedlldb/tools/lldb-vscode/CMakeLists.txt
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/tools/driver/CMakeLists.txt
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
The file was modifiedlldb/cmake/modules/AddLLDB.cmake
Commit 62ad2128255877ed41c714366861eee9c1da30dd by Dávid Bolvanský
[Analysis] Attribute deref/deref_or_null should not prevent tail call
optimization
The file was addedllvm/test/CodeGen/X86/tail-call-deref.ll
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
Commit 686f449e3d4ecad6413427aef35557f5adac100c by listmail
[WC] Fix a subtle bug in our definition of widenable branch
We had a subtle, but nasty bug in our definition of a widenable branch,
and thus in the transforms which used that utility. Specifically, we
returned true for any branch which included a widenable condition within
it's condition, regardless of whether that widenable condition also had
other uses.
The problem is that the result of the WC() call is defined to be one
particular value. As such, all users must agree as to what that value
is. If we widen a branch without also updating *all other users* of the
WC in the same way, we have broken the required semantics.
Most of the textual diff is updating existing transforms not to leave
dead uses hanging around. They're largely NFC as the dead instructions
would be immediately deleted by other passes. The reason to make these
changes is so that the transforms preserve the widenable branch form.
In practice, we don't get bitten by this only because it isn't
profitable to CSE WC() calls and the lowering pass from guards uses
distinct WC calls per branch.
Differential Revision: https://reviews.llvm.org/D69916
The file was modifiedllvm/lib/Analysis/GuardUtils.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/wc-widen-block.ll
The file was modifiedllvm/lib/Transforms/Scalar/GuardWidening.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
The file was modifiedllvm/test/Transforms/GuardWidening/basic_widenable_condition_guards.ll
The file was modifiedllvm/test/Transforms/GuardWidening/mixed_guards.ll
Commit f0f73ed8b004d213a3710b7b850e09c5bbd8e93d by kazu
[JumpThreading] Factor out code to clone instructions (NFC)
Summary: This patch factors out code to clone instructions -- partly for
readability and partly to facilitate an upcoming patch of my own.
Reviewers: wmi
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69861
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/JumpThreading.h
Commit 007d173e2e0c29903bc17a9d5108f531a6f2ea4d by alexandre.ganea
[Orc] Fix iterator usage after remove
Differential Revision: https://reviews.llvm.org/D69805
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
Commit 83393d27af6631d1df5c549feb214abbdd1d6054 by shafik
[LLDB] Fix handling for the clang name mangling extension for block
invocations
Add support for clangs  mangling extension for block invocations.
Differential Revision: https://reviews.llvm.org/D69738
The file was modifiedlldb/include/lldb/Core/Mangled.h
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedlldb/source/Core/Mangled.cpp
The file was modifiedlldb/unittests/Core/MangledTest.cpp
Commit 8243918f43c6eedc2b018c1edc9c6b72fe9b3c1e by Fred Riss
Testuite: Support Asan test with remote testing
To do so, we need to register the sanitizer libraries with the target so
that they get uploaded before running. This patch adds a helper to the
test class to this effect.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/asan/TestReportData.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 76aee8a389447409905c58b178b0554c9bae8a0a by Lang Hames
[JITLink] Refactor EH-frame handling to support eh-frames with existing
relocs.
Some targets (E.g. MachO/arm64) use relocations to fix some CFI record
fields in the eh-frame section. When relocations are used the initial
(pre-relocation) content of the eh-frame section can no longer be
interpreted by following the eh-frame specification. This causes errors
in the existing eh-frame parser.
This patch moves eh-frame handling into two LinkGraph passes that are
run after relocations have been parsed (but before they are applied).
The first] pass breaks up blocks in the eh-frame section into
per-CFI-record blocks, and the second parses blocks of (potentially
multiple) CFI records and adds the appropriate edges to any CFI fields
that do not have existing relocations. These passes can be run
independently of one another. By handling eh-frame splitting/fixing with
LinkGraph passes we can both re-use existing relocations for CFI record
fields and avoid applying eh-frame fixups before parsing the section
(which would complicate the linker and require extra temporary
allocations of working memory).
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
The file was addedllvm/test/ExecutionEngine/JITLink/AArch64/MachO_arm64_ehframe.test
The file was modifiedllvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
The file was addedllvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_arm64_ehframe.o
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
Commit b5ddcb9f1e41b142f89110fc9be78b3c6997f090 by lebedev.ri
[ConstantRange] TestAddWithNo*WrapExhaustive: check that all overflow
means empty set
As disscussed in https://reviews.llvm.org/D69918 /
https://reviews.llvm.org/D67339 that is an implied postcondition, but
it's not really fully tested.
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
Commit 365d729e1075a9391b7520306d8d9beee84d52b5 by lebedev.ri
[ConstantRange] Cleanup addWithNoWrap() by just piggybacking on
sadd_sat()/uadd_sat()
As discussed in https://reviews.llvm.org/D69918 that happens to work as
intended, and returns empty set if there is always an overflow because
we get lucky with intersection. Since there's now an explicit test for
that, let's prefer cleaner code.
The file was modifiedllvm/lib/IR/ConstantRange.cpp
Commit 7fbe5d4b2ab905792158669149ae4f547761ac9c by lebedev.ri
[ConstantRange] Add `subWithNoWrap()` method
Summary: Much like D67339, adds ConstantRange handling for when we know
no-wrap behavior of the `sub`.
Unlike addWithNoWrap(), we only get lucky re returning empty set for
signed wrap. For unsigned, we must perform overflow check manually.
A patch that makes use of this in LVI (CVP) to be posted later.
Reviewers: nikic, shchenz, efriedma
Reviewed By: nikic
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69918
The file was modifiedllvm/lib/IR/ConstantRange.cpp
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/include/llvm/IR/ConstantRange.h