llvm-project/llvm
David Green 4a8c13a6f4 [CostModel] Add basic fptoi_sat costs
This adds some basic fptosi_sat and fptoui_sat target independent cost
modelling. The fptosi_sat is modelled as a fmin/fmax to saturate the
value, followed by a fp convert. The signed values then have an
additional fcmp+select for handling Nan correctly.

The AArch64/Arm costs may be more incorrect, as the instruction exist
natively. This can be fixed with target specific cost updates.

Differential Revision: https://reviews.llvm.org/D124269
2022-04-27 09:30:00 +01:00
..
benchmarks
bindings [OCaml][DebugInfo] Add bindings for parameter and auto variable creation 2022-04-24 09:37:04 +05:30
cmake [CMake] Check for problematic MSVC + /arch:AVX configuration 2022-04-21 09:46:44 +02:00
docs [docs] Fix typos in the 'CodeGenerator' doc 2022-04-26 21:47:12 -07:00
examples [examples][ORC] Add a new example showing the ORCv2 removable code APIs. 2022-04-12 15:05:07 -07:00
include [CostModel] Add basic fptoi_sat costs 2022-04-27 09:30:00 +01:00
lib [InstCombine] Combine opaque pointer GEPs with mismatching element types 2022-04-27 09:33:47 +02:00
projects
resources
runtimes Revert "[runtimes] Create Tests.cmake if it does not exist" 2022-04-01 09:29:54 -07:00
test [CostModel] Add basic fptoi_sat costs 2022-04-27 09:30:00 +01:00
tools [NVPTX] Disable DWARF .file directory for PTX 2022-04-26 21:40:36 +03:00
unittests [OpenMPIRBuilder] Remove ContinuationBB argument from Body callback. 2022-04-26 16:35:01 -05:00
utils [gn build] Port 7b81192d46 2022-04-26 17:42:25 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [cmake] Remove LLVM_ENABLE_NEW_PASS_MANAGER cmake option 2022-04-06 09:52:21 +02:00
CODE_OWNERS.TXT [SPIR-V](1/6) Add stub for SPIRV backend 2022-04-20 01:10:25 +02:00
CREDITS.TXT
LICENSE.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.