09a6b46c89 
								
							 
						 
						
							
							
								
								Update comment to match my recent change.  
							
							... 
							
							
							
							llvm-svn: 124725 
							
						 
						
							2011-02-02 17:29:40 +00:00  
				
					
						
							
							
								 
						
							
								59513209aa 
								
							 
						 
						
							
							
								
								PR9081: Split up LDM instruction with deprecated use of both LR and PC.  
							
							... 
							
							
							
							This is completely untested but pretty straightforward, so hopefully I
got it right.
llvm-svn: 124694 
							
						 
						
							2011-02-01 22:30:51 +00:00  
				
					
						
							
							
								 
						
							
								ab425d8360 
								
							 
						 
						
							
							
								
								I swear I did a make clean and make before committing all this...  
							
							... 
							
							
							
							llvm-svn: 120304 
							
						 
						
							2010-11-29 18:47:54 +00:00  
				
					
						
							
							
								 
						
							
								40e85fbf17 
								
							 
						 
						
							
							
								
								move getRegisterNumbering() to out of ARMBaseRegisterInfo into the helper  
							
							... 
							
							
							
							functions in ARMBaseInfo.h so it can be used in the MC library as well.
For anything bigger than this, we may want a means to have a small support
library for shared helper functions like this. Cross that bridge when we
come to it.
llvm-svn: 114016 
							
						 
						
							2010-09-15 20:26:25 +00:00  
				
					
						
							
							
								 
						
							
								2da5aa1b60 
								
							 
						 
						
							
							
								
								Add support to MOVimm32 using movt/movw for ARM JIT  
							
							... 
							
							
							
							llvm-svn: 104587 
							
						 
						
							2010-05-25 08:42:45 +00:00  
				
					
						
							
							
								 
						
							
								2104b8d36e 
								
							 
						 
						
							
							
								
								rename llvm::llvm_report_error -> llvm::report_fatal_error  
							
							... 
							
							
							
							llvm-svn: 100709 
							
						 
						
							2010-04-07 22:58:41 +00:00  
				
					
						
							
							
								 
						
							
								09d9a690d2 
								
							 
						 
						
							
							
								
								fix typo add missing (  
							
							... 
							
							
							
							llvm-svn: 97565 
							
						 
						
							2010-03-02 13:42:03 +00:00  
				
					
						
							
							
								 
						
							
								b1baf6583e 
								
							 
						 
						
							
							
								
								Unbreak llvm-arm-linux buildbot and fix PR5309.  
							
							... 
							
							
							
							llvm-svn: 97564 
							
						 
						
							2010-03-02 13:26:18 +00:00  
				
					
						
							
							
								 
						
							
								118dc6a645 
								
							 
						 
						
							
							
								
								Only save vector registers if we've defined for the vector registers.  
							
							... 
							
							
							
							Fixes PR5309.
llvm-svn: 97554 
							
						 
						
							2010-03-02 06:25:00 +00:00  
				
					
						
							
							
								 
						
							
								e0d8e14e11 
								
							 
						 
						
							
							
								
								Change indirect-globals to use a dedicated allocIndirectGV.  This lets us  
							
							... 
							
							
							
							remove start/finishGVStub and the BufferState helper class from the
MachineCodeEmitter interface.  It has the side-effect of not setting the
indirect global writable and then executable on ARM, but that shouldn't be
necessary.
llvm-svn: 91464 
							
						 
						
							2009-12-15 22:42:46 +00:00  
				
					
						
							
							
								 
						
							
								f2ad571443 
								
							 
						 
						
							
							
								
								* Move stub allocation inside the JITEmitter, instead of exposing a  
							
							... 
							
							
							
							way for each TargetJITInfo subclass to allocate its own stubs. This
means stubs aren't as exactly-sized anymore, but it lets us get rid of
TargetJITInfo::emitFunctionStubAtAddr(), which lets ARM and PPC
support the eager JIT, fixing http://llvm.org/PR4816 .
* Rename the JITEmitter's stub creation functions to describe the kind
of stub they create. So far, all of them create lazy-compilation
stubs, but they sometimes get used when far-call stubs are needed.
Fixing http://llvm.org/PR5201  will involve fixing this.
llvm-svn: 89715 
							
						 
						
							2009-11-23 23:35:19 +00:00  
				
					
						
							
							
								 
						
							
								19b48370fb 
								
							 
						 
						
							
							
								
								Allow more than one stub to be being generated at the same time.  
							
							... 
							
							
							
							It's probably better in the long run to replace the
indirect-GlobalVariable system. That'll be done after a subsequent
patch.
llvm-svn: 89708 
							
						 
						
							2009-11-23 22:49:00 +00:00  
				
					
						
							
							
								 
						
							
								a6380af658 
								
							 
						 
						
							
							
								
								Update comment to reflect instruction.  
							
							... 
							
							
							
							llvm-svn: 89414 
							
						 
						
							2009-11-20 00:21:55 +00:00  
				
					
						
							
							
								 
						
							
								f6b2404a84 
								
							 
						 
						
							
							
								
								Proper support of non-lazy indirect symbols.  
							
							... 
							
							
							
							llvm-svn: 81422 
							
						 
						
							2009-09-10 01:23:53 +00:00  
				
					
						
							
							
								 
						
							
								4029b85567 
								
							 
						 
						
							
							
								
								Make sure to make stub region writable before emission, executable after emission.  
							
							... 
							
							
							
							llvm-svn: 81311 
							
						 
						
							2009-09-09 01:56:29 +00:00  
				
					
						
							
							
								 
						
							
								30ebdc4311 
								
							 
						 
						
							
							
								
								remove the last uses of Config/alloca.h  
							
							... 
							
							
							
							llvm-svn: 79873 
							
						 
						
							2009-08-23 22:57:38 +00:00  
				
					
						
							
							
								 
						
							
								940fbb0e3c 
								
							 
						 
						
							
							
								
								Remove Streams.h from the targets.  
							
							... 
							
							
							
							llvm-svn: 79853 
							
						 
						
							2009-08-23 11:52:17 +00:00  
				
					
						
							
							
								 
						
							
								1432ef864e 
								
							 
						 
						
							
							
								
								This void is implicit in C++.  
							
							... 
							
							
							
							llvm-svn: 78848 
							
						 
						
							2009-08-12 22:10:57 +00:00  
				
					
						
							
							
								 
						
							
								f24f9d9cb6 
								
							 
						 
						
							
							
								
								Whitespace cleanup. Remove trailing whitespace.  
							
							... 
							
							
							
							llvm-svn: 78666 
							
						 
						
							2009-08-11 15:33:49 +00:00  
				
					
						
							
							
								 
						
							
								0dd5e1ed39 
								
							 
						 
						
							
							
								
								More migration to raw_ostream, the water has dried up around the iostream hole.  
							
							... 
							
							
							
							- Some clients which used DOUT have moved to DEBUG. We are deprecating the
   "magic" DOUT behavior which avoided calling printing functions when the
   statement was disabled. In addition to being unnecessary magic, it had the
   downside of leaving code in -Asserts builds, and of hiding potentially
   unnecessary computations.
llvm-svn: 77019 
							
						 
						
							2009-07-25 00:23:56 +00:00  
				
					
						
							
							
								 
						
							
								fbcc663cbf 
								
							 
						 
						
							
							
								
								llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.  
							
							... 
							
							
							
							This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640 
							
						 
						
							2009-07-14 16:55:14 +00:00  
				
					
						
							
							
								 
						
							
								69208f0f9e 
								
							 
						 
						
							
							
								
								Remove extra \n from LLVM_UNREACHABLE calls.  
							
							... 
							
							
							
							llvm-svn: 75416 
							
						 
						
							2009-07-12 07:15:17 +00:00  
				
					
						
							
							
								 
						
							
								fb8d6d5b58 
								
							 
						 
						
							
							
								
								Implement changes from Chris's feedback.  
							
							... 
							
							
							
							Finish converting lib/Target.
llvm-svn: 75043 
							
						 
						
							2009-07-08 20:53:28 +00:00  
				
					
						
							
							
								 
						
							
								6dd2730024 
								
							 
						 
						
							
							
								
								Start converting to new error handling API.  
							
							... 
							
							
							
							cerr+abort -> llvm_report_error
assert(0)+abort -> LLVM_UNREACHABLE (assert(0)+llvm_unreachable-> abort() included)
llvm-svn: 75018 
							
						 
						
							2009-07-08 18:01:40 +00:00  
				
					
						
							
							
								 
						
							
								a194c3a69e 
								
							 
						 
						
							
							
								
								First patch in the direction of splitting MachineCodeEmitter in two subclasses:  
							
							... 
							
							
							
							JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray
llvm-svn: 72631 
							
						 
						
							2009-05-30 20:51:52 +00:00  
				
					
						
							
							
								 
						
							
								d243c0e3d9 
								
							 
						 
						
							
							
								
								ARMCompilationCallback should not save / restore vfp registers if vfp is not available.  
							
							... 
							
							
							
							llvm-svn: 62299 
							
						 
						
							2009-01-16 02:16:37 +00:00  
				
					
						
							
							
								 
						
							
								ea68423998 
								
							 
						 
						
							
							
								
								Lazy compilation callback save / restore VFP registers.  
							
							... 
							
							
							
							llvm-svn: 59274 
							
						 
						
							2008-11-13 23:28:54 +00:00  
				
					
						
							
							
								 
						
							
								287a25d636 
								
							 
						 
						
							
							
								
								Remove the incorrect assertion. We don't have enough information before relocation to set U bit.  
							
							... 
							
							
							
							llvm-svn: 59170 
							
						 
						
							2008-11-12 21:37:59 +00:00  
				
					
						
							
							
								 
						
							
								bfcee5b863 
								
							 
						 
						
							
							
								
								VFP fld / fst immediate field is multiplied by 4.  
							
							... 
							
							
							
							llvm-svn: 59100 
							
						 
						
							2008-11-12 01:02:24 +00:00  
				
					
						
							
							
								 
						
							
								02771dc473 
								
							 
						 
						
							
							
								
								Correct PIC function stub codegen.  
							
							... 
							
							
							
							llvm-svn: 59006 
							
						 
						
							2008-11-10 23:14:47 +00:00  
				
					
						
							
							
								 
						
							
								9f3058f3be 
								
							 
						 
						
							
							
								
								Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.  
							
							... 
							
							
							
							llvm-svn: 58949 
							
						 
						
							2008-11-10 01:08:07 +00:00  
				
					
						
							
							
								 
						
							
								436bdcdcca 
								
							 
						 
						
							
							
								
								Moved InvalidateInstructionCache to ARMJITInfo::emitFunctionStub which knows size of stub.  
							
							... 
							
							
							
							llvm-svn: 58899 
							
						 
						
							2008-11-08 08:16:49 +00:00  
				
					
						
							
							
								 
						
							
								b31a717527 
								
							 
						 
						
							
							
								
								Rename startFunctionStub to startGVStub since it's also used for GV non-lazy ptr.  
							
							... 
							
							
							
							llvm-svn: 58897 
							
						 
						
							2008-11-08 08:02:53 +00:00  
				
					
						
							
							
								 
						
							
								ffdd91e3b8 
								
							 
						 
						
							
							
								
								Handle ARM machine constantpool entry with non-lazy ptr.  
							
							... 
							
							
							
							llvm-svn: 58882 
							
						 
						
							2008-11-08 01:31:27 +00:00  
				
					
						
							
							
								 
						
							
								ef4d78ba67 
								
							 
						 
						
							
							
								
								More code clean up.  
							
							... 
							
							
							
							llvm-svn: 58872 
							
						 
						
							2008-11-07 22:57:53 +00:00  
				
					
						
							
							
								 
						
							
								8467e2459a 
								
							 
						 
						
							
							
								
								Get PIC jump table working.  
							
							... 
							
							
							
							llvm-svn: 58869 
							
						 
						
							2008-11-07 22:30:53 +00:00  
				
					
						
							
							
								 
						
							
								7095cd2af2 
								
							 
						 
						
							
							
								
								Jump table JIT support. Work in progress.  
							
							... 
							
							
							
							llvm-svn: 58836 
							
						 
						
							2008-11-07 09:06:08 +00:00  
				
					
						
							
							
								 
						
							
								2299c99d79 
								
							 
						 
						
							
							
								
								Stylistic change.  
							
							... 
							
							
							
							llvm-svn: 58683 
							
						 
						
							2008-11-04 06:10:06 +00:00  
				
					
						
							
							
								 
						
							
								6dd08b6604 
								
							 
						 
						
							
							
								
								Handle ARM machine constantpool entries.  
							
							... 
							
							
							
							llvm-svn: 58671 
							
						 
						
							2008-11-04 00:50:32 +00:00  
				
					
						
							
							
								 
						
							
								19d64ba8bf 
								
							 
						 
						
							
							
								
								Correct way to handle CONSTPOOL_ENTRY instructions.  
							
							... 
							
							
							
							llvm-svn: 58409 
							
						 
						
							2008-10-29 23:55:43 +00:00  
				
					
						
							
							
								 
						
							
								1ecf1fd5c8 
								
							 
						 
						
							
							
								
								remove extraneous #ifdef's  
							
							... 
							
							
							
							llvm-svn: 58006 
							
						 
						
							2008-10-22 22:27:51 +00:00  
				
					
						
							
							
								 
						
							
								cfebc18d7c 
								
							 
						 
						
							
							
								
								use pre-UAL mnemonics for push/pop for compilaton callback function  
							
							... 
							
							
							
							llvm-svn: 57911 
							
						 
						
							2008-10-21 16:54:12 +00:00  
				
					
						
							
							
								 
						
							
								9396051e3d 
								
							 
						 
						
							
							
								
								Update the stub and callback code to handle lazy compilation. The stub  
							
							... 
							
							
							
							is re-written by the callback to branch directly to the compiled code
in future invocations.
Added back in range-based memory permission functions for the updating of
the stub on Darwin.
llvm-svn: 57846 
							
						 
						
							2008-10-20 21:39:23 +00:00  
				
					
						
							
							
								 
						
							
								df8cdc3717 
								
							 
						 
						
							
							
								
								Add Mac OS X compatible JIT callback routine.  
							
							... 
							
							
							
							llvm-svn: 55625 
							
						 
						
							2008-09-02 07:49:03 +00:00  
				
					
						
							
							
								 
						
							
								a7557dfe71 
								
							 
						 
						
							
							
								
								Correlate stubs with functions in JIT: when emitting a stub, the JIT tells the memory manager which function  
							
							... 
							
							
							
							the stub will resolve.
llvm-svn: 49814 
							
						 
						
							2008-04-16 20:46:05 +00:00  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								ae1b924c79 
								
							 
						 
						
							
							
								
								JITInfo now resolves function addrs and also relocations. It always emits a stub.  
							
							... 
							
							
							
							llvm-svn: 41625 
							
						 
						
							2007-08-30 23:21:27 +00:00  
				
					
						
							
							
								 
						
							
								f7c6effc44 
								
							 
						 
						
							
							
								
								Initial JIT support for ARM by Raul Fernandes Herbster.  
							
							... 
							
							
							
							llvm-svn: 40887 
							
						 
						
							2007-08-07 01:37:15 +00:00  
				
					
						
							
							
								 
						
							
								396156e00b 
								
							 
						 
						
							
							
								
								no email addrs in file headers  
							
							... 
							
							
							
							llvm-svn: 39962 
							
						 
						
							2007-07-17 05:56:43 +00:00  
				
					
						
							
							
								 
						
							
								9546a5c7de 
								
							 
						 
						
							
							
								
								Initial ARM JIT support by Raul Fernandes Herbster.  
							
							... 
							
							
							
							llvm-svn: 37926 
							
						 
						
							2007-07-05 21:15:40 +00:00