Chris Lattner 10e3ff7e5f change iterator invalidation avoidance to just move the iterator backward
when something changes, instead of moving forward.  This allows us to 
simplify memset lowering, inserting the memset at the end of the range of 
stuff we're touching instead of at the start.

This, in turn, allows us to make use of the addressing instructions already
used in the function instead of inserting our own.  For example, we now
codegen:

	%tmp41 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 0		; <i8*> [#uses=2]
	call void @llvm.memset.i64( i8* %tmp41, i8 -1, i64 8, i32 1 )

instead of:

	%tmp20 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 7		; <i8*> [#uses=1]
	%ptroffset = getelementptr i8* %tmp20, i64 -7		; <i8*> [#uses=1]
	call void @llvm.memset.i64( i8* %ptroffset, i8 -1, i64 8, i32 1 )

llvm-svn: 48940
2008-03-29 05:15:47 +00:00
2008-03-10 15:49:16 +00:00
2008-03-28 06:46:51 +00:00
2008-03-29 01:04:05 +00:00
2008-01-24 05:16:36 +00:00
2008-03-26 21:37:43 +00:00
2007-08-03 05:43:35 +00:00
2008-03-10 15:49:38 +00:00
2008-03-23 08:58:32 +00:00
2008-02-09 22:50:06 +00:00
2007-07-13 09:48:29 +00:00
2008-03-21 22:17:07 +00:00
2008-03-10 15:49:16 +00:00
2007-04-20 20:49:25 +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.

Description
Fork of llvm with experimental commits and workarounds for RPCS3
Readme 634 MiB
Languages
C++ 96.9%
C 1%
Python 1%
CMake 0.6%
OCaml 0.2%
Other 0.1%