Fork of llvm with experimental commits and workarounds for RPCS3
Go to file
Chris Lattner 2b67ff8632 when we know the signbit of an input to uint_to_fp is zero,
change it to sint_to_fp on targets where that is cheaper (and
visaversa of course).  This allows us to compile uint_to_fp to:

_test:
	movl	4(%esp), %eax
	shrl	$23, %eax
	cvtsi2ss	%eax, %xmm0
	movl	8(%esp), %eax
	movss	%xmm0, (%eax)
	ret

instead of:

	.align	3
LCPI1_0:					##  double
	.long	0	## double least significant word 4.5036e+15
	.long	1127219200	## double most significant word 4.5036e+15
	.text
	.align	4,0x90
	.globl	_test
_test:
	subl	$12, %esp
	movl	16(%esp), %eax
	shrl	$23, %eax
	movl	%eax, (%esp)
	movl	$1127219200, 4(%esp)
	movsd	(%esp), %xmm0
	subsd	LCPI1_0, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movl	20(%esp), %eax
	movss	%xmm0, (%eax)
	addl	$12, %esp
	ret

llvm-svn: 52747
2008-06-26 00:16:49 +00:00
autoconf Allow the test suite to be checked out into projects/test-suite. 2008-06-24 13:01:57 +00:00
bindings Remove a duplicative binding. Patch by Mahadevan R. 2008-05-19 05:47:10 +00:00
docs remove a bunch of dead options that never did anything. 2008-06-25 16:44:52 +00:00
examples API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
include Remember which MachineOperand we were processing, so we don't have to scan the list to find it again later. 2008-06-25 23:39:39 +00:00
lib when we know the signbit of an input to uint_to_fp is zero, 2008-06-26 00:16:49 +00:00
projects Allow the test suite to be checked out into projects/test-suite. 2008-06-24 13:01:57 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test when we know the signbit of an input to uint_to_fp is zero, 2008-06-26 00:16:49 +00:00
tools jump threading can introduce allocas, make sure we promote 2008-06-25 16:54:18 +00:00
utils Added MemOperands to Atomic operations since Atomics touches memory. 2008-06-25 08:15:39 +00:00
website
win32 Updated VS build system. Patch provided by Cedric Venet: 2008-06-20 22:19:12 +00:00
Xcode Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
build-for-llvm-top.sh
configure Regenerate configure. 2008-06-24 17:49:13 +00:00
CREDITS.TXT merge of use-diet branch to trunk 2008-05-10 08:32:32 +00:00
LICENSE.TXT llvmc doesn't exist anymore, and llvmc2 doesn't have a special license file. 2008-06-20 20:05:57 +00:00
llvm.spec.in
Makefile For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
Makefile.common
Makefile.config.in Reverting r48974. See PR2183 for details. 2008-03-31 16:46:23 +00:00
Makefile.rules Add support for building on solaris, working around namespace 2008-06-24 17:44:42 +00:00
ModuleInfo.txt
README.txt

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.