Owen Anderson 
							
						 
					 
					
						
						
							
						
						6b098dee28 
					 
					
						
						
							
							Remember which MachineOperand we were processing, so we don't have to scan the list to find it again later.  
						
						... 
						
						
						
						This speeds up live intervals from 0.37s to 0.30s on instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52745  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-25 23:39:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c3417609ae 
					 
					
						
						
							
							Undo spill weight tweak. Need to investigate the performance regressions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-21 06:45:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						29b039976f 
					 
					
						
						
							
							Revert my last patch, which was causing regression test failures.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52485  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-19 05:29:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bdf34bc12b 
					 
					
						
						
							
							Minor spiller tweak to unfavor reload into load/store instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52477  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-19 01:16:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6c5e561668 
					 
					
						
						
							
							Insert empty slots into the instruction numbering in live intervals, so that we can more easily  
						
						... 
						
						
						
						add new instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-19 00:10:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f26e8557de 
					 
					
						
						
							
							Live-through live interval is [mbb start, mbb end+1].  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52431  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-17 20:13:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						31ec841be1 
					 
					
						
						
							
							Remove special case handling of empty MBBs now that we assign indices to them.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52345  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 19:32:40 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1fbb4545d4 
					 
					
						
						
							
							Re-enable empty block indexing by default, since it doesn't seem to have any  
						
						... 
						
						
						
						impact on code quality or compile time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52329  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 16:58:24 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3557801289 
					 
					
						
						
							
							Make indexing empty basic blocks an option for the moment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52306  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 07:10:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8892b6f307 
					 
					
						
						
							
							Assign indices to empty basic blocks.  This will be necessary for StrongPHIElimination in the near future.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52300  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 06:18:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9c3c221364 
					 
					
						
						
							
							Refine stack slot interval weight computation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-06 07:54:39 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c4dc132c8a 
					 
					
						
						
							
							Add a helper for constructing new live ranges that ended from an instruction to the end of its MBB.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52012  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-05 17:15:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3f32d65912 
					 
					
						
						
							
							Add a stack slot coloring pass. Not yet enabled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51934  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-04 09:18:41 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e3abb0a858 
					 
					
						
						
							
							Correctly handle removed instructions at the beginning of MBBs when renumbering.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51876  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-02 17:36:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7eec0c2433 
					 
					
						
						
							
							Make the renumbering correct in the face of deleted instructions that have been removed from the LiveIntervals maps.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51714  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 23:01:22 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						ec58498dc9 
					 
					
						
						
							
							Remove <iostream>.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 21:29:39 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						fcc6350ac9 
					 
					
						
						
							
							Revert part of my last patch that I didn't intend to commit yet.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51694  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 18:35:21 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						4b5b209679 
					 
					
						
						
							
							Renumbering needs to account for instruction slot offsets when performing lookups in the index maps.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51691  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 18:15:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						745825f431 
					 
					
						
						
							
							Remap VNInfo data as well when doing renumbering.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51658  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-28 22:40:08 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						80b3ce65e2 
					 
					
						
						
							
							Factor the numbering computation into a separate method, and add the slightest attempt at some renumbering logic, which is currently unused.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51652  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-28 20:54:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0a891ed7d5 
					 
					
						
						
							
							Revert 51440 as it breaks a bunch of PIC tests.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-23 23:00:04 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						abe93d95e8 
					 
					
						
						
							
							When rewriting defs and uses after spilling, don't set the weight of a  
						
						... 
						
						
						
						live interval to infinity if the instruction being rewritten is an
original remat def instruction.  We were only checking against the clone
of the remat def which doesn't actually appear in the IR at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-22 21:16:33 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b0a6f62c9b 
					 
					
						
						
							
							Don't spill dead def.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-20 08:10:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						844731a7f1 
					 
					
						
						
							
							Clean up the use of static and anonymous namespaces. This turned up  
						
						... 
						
						
						
						several things that were neither in an anonymous namespace nor static
but not intended to be global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-13 00:00:25 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4a3f6c8882 
					 
					
						
						
							
							Make several variable declarations static.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50696  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-06 01:53:16 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						76249966ee 
					 
					
						
						
							
							Empty basic block should have an empty range.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49800  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-16 18:01:08 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4cce6b4c78 
					 
					
						
						
							
							Use of implicit_def is not part of live interval. Create empty intervals for the uses when the live interval is being spilled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-11 17:53:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7e073baedb 
					 
					
						
						
							
							- More aggressively coalescing away copies whose source is defined by an implicit_def.  
						
						... 
						
						
						
						- Added insert_subreg coalescing support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49448  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-09 20:57:25 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						419852ca8a 
					 
					
						
						
							
							- Treat a live range defined by an implicit_def as a zero-sized one.  
						
						... 
						
						
						
						- Eliminate an implicit_def when it's being spilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49166  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-03 16:39:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3c75ba858b 
					 
					
						
						
							
							Re-materialization is for uses only.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49053  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-01 21:37:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						427f4c106a 
					 
					
						
						
							
							It's not safe to fold a load from GV stub or constantpool into a two-address use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49002  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-31 23:19:51 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						24d2f8a212 
					 
					
						
						
							
							The support for remat of instructions with a register operand is hackish, to say the least. Since the register operand guaranteed to be PIC base and that it is already live at all uses, we are making sure it will not be spilled after its uses are rematerialized for both performance and correctness reasons.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48976  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-31 07:53:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						20ccded7de 
					 
					
						
						
							
							Remove isImplicitDef TargetInstrDesc flag.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48381  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-15 00:19:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c1f53c7426 
					 
					
						
						
							
							Transfer physical register spill info when load / store folding happens.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48246  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-11 21:34:46 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						676dd7c80b 
					 
					
						
						
							
							When the register allocator runs out of registers, spill a physical register around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48218  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-11 07:19:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6130f66eaa 
					 
					
						
						
							
							Refactor code. Remove duplicated functions that basically do the same thing as  
						
						... 
						
						
						
						findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47927  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 00:59:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d36531249a 
					 
					
						
						
							
							Spiller now remove unused spill slots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47657  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-27 03:04:06 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e6d088acc9 
					 
					
						
						
							
							Rename PrintableName to Name.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47629  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-26 21:47:57 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						74ab84c31e 
					 
					
						
						
							
							Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool  
						
						... 
						
						
						
						would have been a Godsend here!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47625  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-26 21:11:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e83a27516c 
					 
					
						
						
							
							All remat'ed loads cannot be folded into two-address code. Not just argument loads. This change doesn't really have any impact on codegen.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47557  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-25 19:24:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						79a0c1e46c 
					 
					
						
						
							
							Correctly determine whether a argument load can be folded into its uses.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47545  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-25 08:50:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						249ded3fa8 
					 
					
						
						
							
							Rematerialization logic was overly conservative when it comes to loads from fixed stack slots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 03:38:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						298bbe82cb 
					 
					
						
						
							
							If remating a machine instr with virtual register operand, make sure the vr is avaliable at all uses regardless of whether it would be folded.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 02:14:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						dd3465eed1 
					 
					
						
						
							
							Recognize loads of arguments as re-materializable first. Therefore if isReallyTriviallyReMaterializable() returns true it doesn't confuse it as a "normal" re-materializable instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 01:44:27 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						313d4b8093 
					 
					
						
						
							
							Fix spill weight updating bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47507  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-23 00:33:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d70dbb5d62 
					 
					
						
						
							
							Enable re-materialization of instructions which have virtual register operands if  
						
						... 
						
						
						
						the definition of the operand also reaches its uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-22 09:24:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						063284c001 
					 
					
						
						
							
							Clean up some spilling code using MachineRegisterInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47416  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-21 00:34:19 +00:00 
						 
				 
			
				
					
						
							
							
								Roman Levenstein 
							
						 
					 
					
						
						
							
						
						8dd25288f9 
					 
					
						
						
							
							New helper function getMBBFromIndex() that given an index in any instruction of an MBB returns a pointer the MBB. Reviewed by Evan.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47267  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-18 09:35:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c8d044e4f7 
					 
					
						
						
							
							- Removing the infamous r2rMap_ and rep() method. Now the coalescer will update  
						
						... 
						
						
						
						register defs and uses after each successful coalescing.
- Also removed a number of hacks and fixed some subtle kill information bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47167  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-15 18:24:29 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e984e504b5 
					 
					
						
						
							
							Fix a potential serious problem where kills belonging to the val# defined by a two-address instruction is also on the val# that defines the input.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47057  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-13 09:06:18 +00:00