Owen Anderson 
							
						 
					 
					
						
						
							
						
						5dbea73e35 
					 
					
						
						
							
							Get rid of an unneeded helper function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-20 00:43:33 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						4f703ec0a1 
					 
					
						
						
							
							Use a DenseMap instead of an std::map for the value numbering.  This reduces the time to optimize lencod on a PPC Debug build from ~300s to ~140s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37668  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 23:23:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						52471b102c 
					 
					
						
						
							
							Make dependsOnInvoke much more specific in what it tests, which in turn make it much faster to run.  This reduces the time to optimize lencondwith a debug build on PPC from ~450s to ~300s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 23:07:16 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						c91c56cf43 
					 
					
						
						
							
							Moved Inliner.h to include/llvm/Transforms/IPO/InlinerPass.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37666  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 22:31:52 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						6f7426ec2e 
					 
					
						
						
							
							Inliner pass header file was moved.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37665  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 22:29:50 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						5cec4db6ae 
					 
					
						
						
							
							Rename ScalarEvolution::deleteInstructionFromRecords to  
						
						... 
						
						
						
						deleteValueFromRecords and loosen the types to all it to accept
Value* instead of just Instruction*, since this is what
ScalarEvolution uses internally anyway. This allows more flexibility
for future uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37657  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 14:28:31 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d0954105f0 
					 
					
						
						
							
							Handle constants in phi nodes properly.  This fixes test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37655  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 07:35:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2384d7b179 
					 
					
						
						
							
							silence a bogus warning Duraid ran into.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37649  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 05:43:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						20cb51fda4 
					 
					
						
						
							
							Be careful to erase values from all of the appropriate sets when they're not needed anymore.  This fixes a few more memory-related issues.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37647  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 05:37:32 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6cae7409b1 
					 
					
						
						
							
							Remember to clear the maximal sets between functions.  
						
						... 
						
						
						
						Thanks to Nicholas for valgrinding this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37646  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 04:32:55 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						086f5f350b 
					 
					
						
						
							
							Refactor GVNPRE to use a much smart method of uniquing value sets, and centralize a lot of the value numbering information.  No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37645  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 03:31:41 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						bbf1197be1 
					 
					
						
						
							
							Cache the results of dependsOnInvoke()  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37622  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 04:42:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a8daa7176b 
					 
					
						
						
							
							Fix indentation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37621  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 04:31:21 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						60e174495a 
					 
					
						
						
							
							Don't perform an expensive check if it's not necessary.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37620  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 04:30:44 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						32bc789b6c 
					 
					
						
						
							
							Fix test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll by ignoring all instructions that depend on invokes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-16 00:26:54 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e19dd87598 
					 
					
						
						
							
							Use SCEVConstant::get instead of SCEVUnknown::get to create an  
						
						... 
						
						
						
						integer constant SCEV.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37596  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 18:00:55 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						383bcb2e78 
					 
					
						
						
							
							Fix test/Transforms/GVNPRE/2007-06-15-Looping.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37595  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 17:55:15 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d19534add9 
					 
					
						
						
							
							Add a SCEV class and supporting code for sign-extend expressions.  
						
						... 
						
						
						
						This created an ambiguity for expandInTy to decide when to use
sign-extension or zero-extension, but it turns out that most of its callers
don't actually need a type conversion, now that LLVM types don't have
explicit signedness. Drop expandInTy in favor of plain expand, and change
the few places that actually need a type conversion to do it themselves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37591  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 14:38:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7cbe2ebb21 
					 
					
						
						
							
							Generalize many transforms to work on ~ of vectors in addition to ~ of  
						
						... 
						
						
						
						integer ops.  This implements Transforms/InstCombine/and-or-not.ll
test3/test4, and finishes off PR1510
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37589  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 06:23:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						003b6200df 
					 
					
						
						
							
							Implement two xforms:  
						
						... 
						
						
						
						1. ~(~X | Y) === (X & ~Y)
2. (A|B) & ~(A&B) -> A^B
This allows us to transform  ~(~(a|b) | (a&b)) -> a^b.
This implements PR1510 for scalar values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37584  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 05:58:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						041a6c9048 
					 
					
						
						
							
							delete some obviously dead vector operations, which deletes a few thousand  
						
						... 
						
						
						
						operations from Duraids example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37582  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 05:26:55 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						71fcebcf8a 
					 
					
						
						
							
							Fix test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37564  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 22:43:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						239e71201e 
					 
					
						
						
							
							Refactor some code, and fix test/Transforms/GVNPRE/2007-06-12-NoExit.ll by being more careful when using  
						
						... 
						
						
						
						post-dominator information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37556  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 16:57:50 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						ce0b23721e 
					 
					
						
						
							
							Sink CmpInst's to their uses to reduce register pressure.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37554  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 16:50:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						65d2862a60 
					 
					
						
						
							
							Fix a few more bugs, including an instance of walking in reverse topological rather than topological order.  This  
						
						... 
						
						
						
						fixes a testcase extracted from llvm-test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37550  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 00:50:47 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						fe7d4e50b8 
					 
					
						
						
							
							Add and use DominatorTreeBase::findNearestCommonDominator().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37545  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-11 23:31:22 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f60e5a2cd9 
					 
					
						
						
							
							Simplify.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-11 21:45:31 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b28aaadfff 
					 
					
						
						
							
							simplify  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37541  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-11 21:25:31 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e3f653606d 
					 
					
						
						
							
							Simplify.  Dominator Tree is required so always available.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37540  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-11 21:18:00 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0e71466405 
					 
					
						
						
							
							Handle functions with multiple exit blocks properly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-11 16:25:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						139fe848a2 
					 
					
						
						
							
							Perform PRE of comparison operators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37536  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-09 18:35:31 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						b8b873cb7d 
					 
					
						
						
							
							Collect statistics from GVN-PRE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37530  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 22:02:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a7f916cf89 
					 
					
						
						
							
							Fix typo in a comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 20:57:08 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8338ff5ff1 
					 
					
						
						
							
							Fix a bug that was causing the elimination phase not to replace values when it should be.  
						
						... 
						
						
						
						With this patch, GVN-PRE now correctly optimizes the example from the thesis.
Many thanks to Daniel Berlin for helping me find errors in this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37525  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 20:44:02 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						900997ba3b 
					 
					
						
						
							
							Small bugfix, and const-ify some methods (Thanks, Bill).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 01:52:45 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						dba2413b2e 
					 
					
						
						
							
							Update LoopSimplify to require and preserve DominatorTree only.  
						
						... 
						
						
						
						Now LoopSimplify does not require nor preserve ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 01:50:32 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						397d405731 
					 
					
						
						
							
							Add partial redundancy elimination.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37510  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 01:03:01 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f86a73cbef 
					 
					
						
						
							
							Do not preserve ETForest.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37506  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 00:02:08 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						468502e41a 
					 
					
						
						
							
							Do not require ETForest. Now it is unused by LICM.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37502  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 22:21:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4b90e3a276 
					 
					
						
						
							
							Do not use ETForest as well as DomiantorTree.  DominatorTree is sufficient.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37501  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 22:17:16 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						326821ef12 
					 
					
						
						
							
							Use DominatorTree instead of ETForest.  
						
						... 
						
						
						
						This allows faster immediate domiantor walk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37500  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 21:57:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b7d9dfc7ba 
					 
					
						
						
							
							Use DominatorTree instead of ETForest.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37499  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 21:42:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						fa51f9ae12 
					 
					
						
						
							
							Use DominatorTree instead of ETForest.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37498  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 21:35:27 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a97e040e05 
					 
					
						
						
							
							Use DominatorTree instead of ETForest.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37495  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 18:45:06 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						387b8cbc2d 
					 
					
						
						
							
							Use DominatorTree instead of ETForest.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 18:40:55 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9a51157db5 
					 
					
						
						
							
							Maintain ETNode as part of DomTreeNode.  
						
						... 
						
						
						
						This adds redundancy for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37492  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 17:47:21 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						b62fa8ab6b 
					 
					
						
						
							
							Formating fixes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37491  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 17:12:16 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						682f683669 
					 
					
						
						
							
							Instruct the inliner to obey the noinline attribute. Add test case.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37481  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 21:59:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4e2288b9de 
					 
					
						
						
							
							simplify this code and fix PR1493, now that llvm-gcc3 is dead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37478  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 20:51:41 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						d0499af703 
					 
					
						
						
							
							Fix PR1499.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37472  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 17:08:48 +00:00