llvm-6502/test
James Molloy a54c5b4489 "float2int": Add a new pass to demote from float to int where possible.
It is possible to have code that converts from integer to float, performs operations then converts back, and the result is provably the same as if integers were used.

This can come from different sources, but the most obvious is a helper function that uses floats but the arguments given at an inlined callsites are integers.

This pass considers all integers requiring a bitwidth less than or equal to the bitwidth of the mantissa of a floating point type (23 for floats, 52 for doubles) as exactly representable in floating point.

To reduce the risk of harming efficient code, the pass only attempts to perform complete removal of inttofp/fptoint operations, not just move them around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233062 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-24 11:15:23 +00:00
..
Analysis When simplifying a SCEV truncate by distributing, consider it a simplification to replace a cast, even if we end up with a trunc around the term. Fixes PR22960! 2015-03-20 02:25:00 +00:00
Assembler Prevent CHECK-NOTs from matching file paths 2015-03-22 15:58:21 +00:00
Bindings
Bitcode Add testing for mismatched explicit type on a gep operator when loading from bitcode 2015-03-16 22:03:50 +00:00
BugPoint Bugpoint: Fix invalid 'inlinedAt:' references in testcase 2015-03-20 19:51:34 +00:00
CodeGen [SelectionDAG] Fixed issue with uitofp vector constant folding being treated as sitofp 2015-03-23 22:44:55 +00:00
DebugInfo Refactor how passes get a symbol at the end of a section. 2015-03-23 21:22:04 +00:00
ExecutionEngine [Orc] Add missing -use-orcmcjit flag to a number of Orc regression tests. 2015-03-23 06:02:49 +00:00
Feature Rewrite test/Feature/md_on_instruction.ll 2015-03-20 18:34:53 +00:00
FileCheck
Instrumentation [sanitizer] experimental tracing for cmp instructions 2015-03-21 01:29:36 +00:00
Integer [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
JitListener
Linker [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
LTO libLTO, llvm-lto, gold: Introduce flag for controlling optimization level. 2015-03-19 22:01:00 +00:00
MC Reorganize the x86 ELF relocation selection logic. 2015-03-20 19:48:54 +00:00
Object [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
Other [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
SymbolRewriter
TableGen
tools test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Transforms "float2int": Add a new pass to demote from float to int where possible. 2015-03-24 11:15:23 +00:00
Unit
Verifier Verifier: Check that !dbg attachments have the right type 2015-03-20 19:26:58 +00:00
YAMLParser
.clang-format
CMakeLists.txt test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
lit.cfg Tell lit.cfg about more Windows triples. 2015-03-20 22:08:40 +00:00
lit.site.cfg.in test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
Makefile.tests
TestRunner.sh