llvm-project/llvm
Aditya Nandakumar 6b4d343e13 [GISel]: Add missing opcodes for overflow intrinsics
https://reviews.llvm.org/D51197

Currently, IRTranslator (and GISel) seems to be arbitrarily picking
which overflow intrinsics get mapped into opcodes which either have a
carry as an input or not.
For intrinsics such as Intrinsic::uadd_with_overflow, translate it to an
opcode (G_UADDO) which doesn't have any carry inputs (similar to LLVM
IR).

This patch adds 4 missing opcodes for completeness - G_UADDO, G_USUBO,
G_SSUBE and G_SADDE.

llvm-svn: 340865
2018-08-28 18:54:10 +00:00
..
benchmarks Pull google/benchmark library to the LLVM tree 2018-08-28 09:42:41 +00:00
bindings [AArch64] Add Tiny Code Model for AArch64 2018-08-22 11:31:39 +00:00
cmake Pull google/benchmark library to the LLVM tree 2018-08-28 09:42:41 +00:00
docs [XRay][docs] Chrome Trace Viewer Instructions 2018-08-28 17:36:30 +00:00
examples
include [GISel]: Add missing opcodes for overflow intrinsics 2018-08-28 18:54:10 +00:00
lib [GISel]: Add missing opcodes for overflow intrinsics 2018-08-28 18:54:10 +00:00
projects
resources
runtimes
test [GISel]: Add missing opcodes for overflow intrinsics 2018-08-28 18:54:10 +00:00
tools [llvm-mca] use llvm::any_of instead of std::any_of. NFC 2018-08-28 18:49:04 +00:00
unittests [ADT] ImmutableList no longer requires elements to be copy constructible 2018-08-28 14:17:51 +00:00
utils [WebAssembly][NFC] Document stackifier tablegen backend 2018-08-28 18:49:47 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [benchmark] Stop building benchmarks by default 2018-08-28 15:36:50 +00:00
CODE_OWNERS.TXT Add owner for llvm-objcopy 2018-08-09 22:05:19 +00:00
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.