43ab71a9a8 
								
							 
						 
						
							
							
								
								Update the comment. This feature is available only on Darwin at the moment. Though it's not Darwin-specific.  
							
							... 
							
							
							
							llvm-svn: 135951 
							
						 
						
							2011-07-25 20:15:15 +00:00  
				
					
						
							
							
								 
						
							
								2dc0005b3c 
								
							 
						 
						
							
							
								
								Changed disabled code into a flag.  
							
							... 
							
							
							
							llvm-svn: 135924 
							
						 
						
							2011-07-25 18:04:49 +00:00  
				
					
						
							
							
								 
						
							
								1d10909cb7 
								
							 
						 
						
							
							
								
								Remove dead variable.  
							
							... 
							
							
							
							llvm-svn: 135923 
							
						 
						
							2011-07-25 18:01:27 +00:00  
				
					
						
							
							
								 
						
							
								b97270d58a 
								
							 
						 
						
							
							
								
								After we've modified the prolog to save volatile registers, generate the compact  
							
							... 
							
							
							
							unwind encoding for that function. This simply crawls through the prolog looking
for machine instrs marked as "frame setup". It can calculate from these what the
compact unwind should look like.
This is currently disabled because of needed linker support. But initial tests
look good.
llvm-svn: 135922 
							
						 
						
							2011-07-25 18:00:28 +00:00  
				
					
						
							
							
								 
						
							
								28b6e12d9d 
								
							 
						 
						
							
							
								
								Mark instructions which are part of the frame setup with the MachineInstr::FrameSetup flag.  
							
							... 
							
							
							
							llvm-svn: 135645 
							
						 
						
							2011-07-21 00:44:56 +00:00  
				
					
						
							
							
								 
						
							
								ed93564c7a 
								
							 
						 
						
							
							
								
								Remove unused function.  
							
							... 
							
							
							
							llvm-svn: 135635 
							
						 
						
							2011-07-20 23:07:42 +00:00  
				
					
						
							
							
								 
						
							
								01bd7d9dc0 
								
							 
						 
						
							
							
								
								Remove the now defunct getCompactUnwindEncoding method from the frame lowering code.  
							
							... 
							
							
							
							llvm-svn: 135634 
							
						 
						
							2011-07-20 23:04:09 +00:00  
				
					
						
							
							
								 
						
							
								67c033e6b8 
								
							 
						 
						
							
							
								
								Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for  
							
							... 
							
							
							
							better location welcome).
llvm-svn: 135438 
							
						 
						
							2011-07-18 22:29:13 +00:00  
				
					
						
							
							
								 
						
							
								2d825b5ecf 
								
							 
						 
						
							
							
								
								* Redo the permutation encoding for frameless stacks to be more like what the  
							
							... 
							
							
							
							unwind library expects.
* Comment the permutation encoding for frameless stacks.
llvm-svn: 135202 
							
						 
						
							2011-07-14 22:01:34 +00:00  
				
					
						
							
							
								 
						
							
								d11ea81db0 
								
							 
						 
						
							
							
								
								Add code to handle a "frameless" unwind stack.  
							
							... 
							
							
							
							The frameless unwind stack has a special encoding, the algorithm for which is in
"permuteEncode".
llvm-svn: 135103 
							
						 
						
							2011-07-13 23:03:31 +00:00  
				
					
						
							
							
								 
						
							
								ee6e776be2 
								
							 
						 
						
							
							
								
								Don't emit the FDE end label if the last thing emitted was a compact unwind and  
							
							... 
							
							
							
							not the FDE
llvm-svn: 135020 
							
						 
						
							2011-07-13 00:49:09 +00:00  
				
					
						
							
							
								 
						
							
								0402e8fe4b 
								
							 
						 
						
							
							
								
								Assign variable before we test it.  
							
							... 
							
							
							
							llvm-svn: 135015 
							
						 
						
							2011-07-13 00:23:39 +00:00  
				
					
						
							
							
								 
						
							
								ed3c44224b 
								
							 
						 
						
							
							
								
								Fix obvious think-o.  
							
							... 
							
							
							
							llvm-svn: 135014 
							
						 
						
							2011-07-13 00:20:09 +00:00  
				
					
						
							
							
								 
						
							
								929b90ff32 
								
							 
						 
						
							
							
								
								Clean up the handling of an EBP/RBP unwind frame pointer. In particular, don't  
							
							... 
							
							
							
							assert when the frame pointer is -1 (i.e., the function is "frameless").
Still to do: "frameless" unwind information.
llvm-svn: 135013 
							
						 
						
							2011-07-13 00:16:14 +00:00  
				
					
						
							
							
								 
						
							
								667be58220 
								
							 
						 
						
							
							
								
								Use ArrayRef instead of a std::vector&.  
							
							... 
							
							
							
							llvm-svn: 134595 
							
						 
						
							2011-07-07 04:42:01 +00:00  
				
					
						
							
							
								 
						
							
								b6adf46f62 
								
							 
						 
						
							
							
								
								Add a target hook to encode the compact unwind information.  
							
							... 
							
							
							
							llvm-svn: 134577 
							
						 
						
							2011-07-07 00:54:13 +00:00  
				
					
						
							
							
								 
						
							
								34a425b075 
								
							 
						 
						
							
							
								
								Fit banner in 80-col and adjust whitespace. No functionality changes.  
							
							... 
							
							
							
							llvm-svn: 132964 
							
						 
						
							2011-06-14 03:23:52 +00:00  
				
					
						
							
							
								 
						
							
								7ed40cbded 
								
							 
						 
						
							
							
								
								Put FrameSetup flag on x86 instructions that set up the call frame. No  
							
							... 
							
							
							
							functionality change.
Later on, we'll use the flag to emit SEH pseudo-ops that describe how the
call frame was built.
llvm-svn: 132880 
							
						 
						
							2011-06-12 01:45:54 +00:00  
				
					
						
							
							
								 
						
							
								fc9bae6f8b 
								
							 
						 
						
							
							
								
								Replace the -unwind-tables option with a per function flag. This is more  
							
							... 
							
							
							
							LTO friendly as we can now correctly merge files compiled with or without
-fasynchronous-unwind-tables.
llvm-svn: 132033 
							
						 
						
							2011-05-25 03:44:17 +00:00  
				
					
						
							
							
								 
						
							
								80cb3cb1d6 
								
							 
						 
						
							
							
								
								Print all the moves at a given label instead of just the first one.  
							
							... 
							
							
							
							Remove previous DwarfCFI hack.
llvm-svn: 130187 
							
						 
						
							2011-04-26 03:58:56 +00:00  
				
					
						
							
							
								 
						
							
								a01cdb0e37 
								
							 
						 
						
							
							
								
								Add 129518 back with a fix for when we are producing eh just because of debug info.  
							
							... 
							
							
							
							Change ELF systems to use CFI for producing the EH tables. This reduces the
size of the clang binary in Debug builds from 690MB to 679MB.
llvm-svn: 129571 
							
						 
						
							2011-04-15 15:11:06 +00:00  
				
					
						
							
							
								 
						
							
								0ab5e2cded 
								
							 
						 
						
							
							
								
								Fix a ton of comment typos found by codespell.  Patch by  
							
							... 
							
							
							
							Luis Felipe Strano Moraes!
llvm-svn: 129558 
							
						 
						
							2011-04-15 05:18:47 +00:00  
				
					
						
							
							
								 
						
							
								b5e3e9dd27 
								
							 
						 
						
							
							
								
								Revert r129518, "Change ELF systems to use CFI for producing the EH tables. This reduces the"  
							
							... 
							
							
							
							It broke several builds.
llvm-svn: 129557 
							
						 
						
							2011-04-15 03:35:57 +00:00  
				
					
						
							
							
								 
						
							
								aa2a7cd828 
								
							 
						 
						
							
							
								
								Change ELF systems to use CFI for producing the EH tables. This reduces the  
							
							... 
							
							
							
							size of the clang binary in Debug builds from 690MB to 679MB.
llvm-svn: 129518 
							
						 
						
							2011-04-14 15:18:53 +00:00  
				
					
						
							
							
								 
						
							
								521eb7c11e 
								
							 
						 
						
							
							
								
								Target/X86: [PR8777][PR8778] Tweak alloca/chkstk for Windows targets.  
							
							... 
							
							
							
							FIXME: Some cleanups would be needed.
llvm-svn: 128206 
							
						 
						
							2011-03-24 07:07:00 +00:00  
				
					
						
							
							
								 
						
							
								d4e5003a3f 
								
							 
						 
						
							
							
								
								Target/X86: Always emit "push/pop GPRs" in prologue/epilogue and emit "spill/reload frames" for XMMs.  
							
							... 
							
							
							
							It improves Win64's prologue/epilogue but it would not affect ia32 and amd64 (lack of nonvolatile XMMs).
llvm-svn: 126568 
							
						 
						
							2011-02-27 08:47:19 +00:00  
				
					
						
							
							
								 
						
							
								1850c80afb 
								
							 
						 
						
							
							
								
								Target/X86: Tweak allocating shadow area (aka home) on Win64. It must be enough for caller to allocate one.  
							
							... 
							
							
							
							llvm-svn: 124949 
							
						 
						
							2011-02-05 15:11:32 +00:00  
				
					
						
							
							
								 
						
							
								f7f319d4d3 
								
							 
						 
						
							
							
								
								Target/X86: Fix whitespace.  
							
							... 
							
							
							
							llvm-svn: 124946 
							
						 
						
							2011-02-05 15:10:54 +00:00  
				
					
						
							
							
								 
						
							
								ecd90b5946 
								
							 
						 
						
							
							
								
								Test commit - fix a double 'should' in a comment.  
							
							... 
							
							
							
							llvm-svn: 124652 
							
						 
						
							2011-02-01 07:38:42 +00:00  
				
					
						
							
							
								 
						
							
								d22a4a1fd6 
								
							 
						 
						
							
							
								
								Patches to build EFI with Clang/LLVM. By Carl Norum.  
							
							... 
							
							
							
							llvm-svn: 124639 
							
						 
						
							2011-02-01 01:14:13 +00:00  
				
					
						
							
							
								 
						
							
								4d9de6be4b 
								
							 
						 
						
							
							
								
								Cleanup  
							
							... 
							
							
							
							llvm-svn: 123475 
							
						 
						
							2011-01-14 21:57:58 +00:00  
				
					
						
							
							
								 
						
							
								bbb1a54b84 
								
							 
						 
						
							
							
								
								Fix a few more places that should use MBB::getLastNonDebugInstr().  
							
							... 
							
							
							
							llvm-svn: 123408 
							
						 
						
							2011-01-13 22:47:43 +00:00  
				
					
						
							
							
								 
						
							
								4bc5e38960 
								
							 
						 
						
							
							
								
								Teach frame lowering to ignore debug values after the terminators.  
							
							... 
							
							
							
							llvm-svn: 123399 
							
						 
						
							2011-01-13 21:28:52 +00:00  
				
					
						
							
							
								 
						
							
								2f93128109 
								
							 
						 
						
							
							
								
								Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.  
							
							... 
							
							
							
							llvm-svn: 123170 
							
						 
						
							2011-01-10 12:39:04 +00:00