LLVM backend for 6502
Go to file
Dale Johannesen 8d908ebd19 Fix uint64->{float, double} conversion to do rounding correctly in 32-bit.
The implementation in LegalizeIntegerTypes to handle this as 
sint64->float + appropriate power of 2 is subject to double rounding,
considered incorrect by numerics people.  Use this implementation only
when it is safe.  This leads to using library calls in some cases
that produced inline code before, but it's correct now.
(EVTToAPFloatSemantics belongs somewhere else, any suggestions?)

Add a correctly rounding (though not particularly fast) conversion
that uses X87 80-bit computations for x86-32.

7885399, 5901940.  This shows up in gcc.c-torture/execute/ieee/rbug.c
in the gcc testsuite on some platforms.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103883 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-15 18:51:12 +00:00
autoconf Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
bindings add attributes and module level asm to the ocaml bindings, 2010-04-10 17:52:58 +00:00
cmake Tell Valgrind when we modify already-executed machine code so it knows 2010-03-15 04:57:55 +00:00
docs I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename it 2010-05-11 20:16:09 +00:00
examples Remove the -enable-sjlj-eh option, which doesn't do anything. 2010-05-02 15:36:26 +00:00
include improve portability to systems that don't have round, patch by 2010-05-15 17:11:55 +00:00
lib Fix uint64->{float, double} conversion to do rounding correctly in 32-bit. 2010-05-15 18:51:12 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime Delete a blank line. 2010-04-16 13:32:55 +00:00
test Some cheap DAG combine goodness for multiplication with a particular constant. 2010-05-15 18:16:59 +00:00
tools Use regular PassManager instead of FunctionPassManager in opt, since it 2010-05-14 15:36:54 +00:00
unittests Fix const ilist_node::get{Prev,Next}Node() to actually compile. Picky, picky. 2010-05-13 18:35:02 +00:00
utils Added a QQQQ register file to model 4-consecutive Q registers. 2010-05-14 02:13:41 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt CMake: Add options for using static runtime on MSVC++ build. 2010-03-18 13:52:05 +00:00
configure Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile Update for CIndex rename. 2010-04-30 23:36:47 +00:00
Makefile.common
Makefile.config.in Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
Makefile.rules Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: 2010-05-10 20:11:56 +00:00
ModuleInfo.txt
README.txt Give packagers some advice about how to build LLVM so it's useful to 2010-02-26 00:54:42 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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 HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.