llvm-project/llvm
Roman Lebedev ff21e3f055 [ConstantFolding] Fix 'undef' folding for @llvm.[us]{add,sub}.with.overflow ops (PR43188)
As we have already established/fixed in
  https://bugs.llvm.org/show_bug.cgi?id=42209
  https://reviews.llvm.org/D63065
  https://reviews.llvm.org/rL363522
the InstSimplify handling for @llvm.with.overflow ops with undefs
is correct. Therefore if ConstantFolding produces different results,
then it is wrong.

This duplication of code hints at the need for some refactoring,
but for now address the brokenness of ConstantFolding by
copying the known-good handling from rL363522.

Fixes https://bugs.llvm.org/show_bug.cgi?id=43188

llvm-svn: 370608
2019-09-01 11:56:52 +00:00
..
benchmarks
bindings
cmake [lit] Only set DYLD_LIBRARY_PATH for shared builds 2019-08-30 23:16:02 +00:00
docs [LangRef] Update saturating examples for llvm.smul.fix.sat. NFC 2019-08-31 09:01:16 +00:00
examples [ORCv2] - New Speculate Query Implementation 2019-08-27 18:23:36 +00:00
include [TargetLowering] Fix Bugzilla ID 43183 to avoid soften comparison broken with constant inputs 2019-09-01 04:52:54 +00:00
lib [ConstantFolding] Fix 'undef' folding for @llvm.[us]{add,sub}.with.overflow ops (PR43188) 2019-09-01 11:56:52 +00:00
projects
resources
runtimes
test [ConstantFolding] Fix 'undef' folding for @llvm.[us]{add,sub}.with.overflow ops (PR43188) 2019-09-01 11:56:52 +00:00
tools [llvm-objcopy] Simplify alignToAddr with llvm::alignTo 2019-08-31 10:48:09 +00:00
unittests [SampleFDO] Add profile symbol list section to discriminate function being 2019-08-31 02:27:26 +00:00
utils Revert [Clang Interpreter] Initial patch for the constexpr interpreter 2019-08-31 15:15:39 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Revert Autogenerate the shebang lines for tools/opt-viewer 2019-08-27 18:31:29 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.