llvm-project/llvm
Ulrich Weigand 7b24dd741c [Strict FP] Allow custom operation actions
This patch changes the DAG legalizer to respect the operation actions
set by the target for strict floating-point operations. (Currently, the
legalizer will usually fall back to mutate to the non-strict action
(which is assumed to be legal), and only skip mutation if the strict
operation is marked legal.)

With this patch, if whenever a strict operation is marked as Legal or
Custom, it is passed to the target as usual. Only if it is marked as
Expand will the legalizer attempt to mutate to the non-strict operation.
Note that this will now fail if the non-strict operation is itself
marked as Custom -- the target will have to provide a Custom definition
for the strict operation then as well.

Reviewed By: hfinkel

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

llvm-svn: 368012
2019-08-06 10:43:13 +00:00
..
benchmarks
bindings
cmake NFC. Documenting Native tablegen dependency 2019-08-05 18:00:55 +00:00
docs Revert r367941 "Add a note to the release not about a potentially breaking optimization" 2019-08-06 08:32:33 +00:00
examples Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
include [Strict FP] Allow custom operation actions 2019-08-06 10:43:13 +00:00
lib [Strict FP] Allow custom operation actions 2019-08-06 10:43:13 +00:00
projects [libc++] Take 2: Integrate the PSTL into libc++ 2019-08-05 18:29:14 +00:00
resources
runtimes
test [Strict FP] Allow custom operation actions 2019-08-06 10:43:13 +00:00
tools [llvm-readelf] Support dumping of stack sizes sections with readelf --stack-sizes 2019-08-05 22:47:07 +00:00
unittests [LLVM][Alignment] Introduce Alignment In GlobalObject 2019-08-06 09:03:21 +00:00
utils [UpdateTestChecks] Fix an incorrect %s added in r368006 2019-08-06 09:44:18 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [build] Add the ability to create a symlink for lipo 2019-07-31 16:46:57 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Update email address. 2019-07-17 07:02:02 +00:00
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.