Bob Wilson
6fabaaad65
Update comment to match my recent change.
...
llvm-svn: 124725
2011-02-02 17:29:40 +00:00
Bob Wilson
a233675b43
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
Michael J. Spencer
4a63404543
I swear I did a make clean and make before committing all this...
...
llvm-svn: 120304
2010-11-29 18:47:54 +00:00
Jim Grosbach
2699e92c0e
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
Zonr Chang
5ce8b82ebf
Add support to MOVimm32 using movt/movw for ARM JIT
...
llvm-svn: 104587
2010-05-25 08:42:45 +00:00
Chris Lattner
80b41881bc
rename llvm::llvm_report_error -> llvm::report_fatal_error
...
llvm-svn: 100709
2010-04-07 22:58:41 +00:00
Xerxes Ranby
8f57e7907a
fix typo add missing (
...
llvm-svn: 97565
2010-03-02 13:42:03 +00:00
Xerxes Ranby
1adef1fad2
Unbreak llvm-arm-linux buildbot and fix PR5309.
...
llvm-svn: 97564
2010-03-02 13:26:18 +00:00
Eric Christopher
ca6b8de375
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
Jeffrey Yasskin
d50951dc1e
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
Jeffrey Yasskin
0a0b21f8c5
* 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
Jeffrey Yasskin
ed6d1ce9ae
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
Eric Christopher
fd3b2deb8f
Update comment to reflect instruction.
...
llvm-svn: 89414
2009-11-20 00:21:55 +00:00
Evan Cheng
0e0590db1b
Proper support of non-lazy indirect symbols.
...
llvm-svn: 81422
2009-09-10 01:23:53 +00:00
Evan Cheng
95597cedfe
Make sure to make stub region writable before emission, executable after emission.
...
llvm-svn: 81311
2009-09-09 01:56:29 +00:00
Chris Lattner
11f509336c
remove the last uses of Config/alloca.h
...
llvm-svn: 79873
2009-08-23 22:57:38 +00:00
Benjamin Kramer
be9f477d5b
Remove Streams.h from the targets.
...
llvm-svn: 79853
2009-08-23 11:52:17 +00:00
Dan Gohman
bc6b14ba00
This void is implicit in C++.
...
llvm-svn: 78848
2009-08-12 22:10:57 +00:00
Jim Grosbach
3c898a99bd
Whitespace cleanup. Remove trailing whitespace.
...
llvm-svn: 78666
2009-08-11 15:33:49 +00:00
Daniel Dunbar
8496064116
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
Torok Edwin
f955a6ef49
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
Torok Edwin
62902fd6c8
Remove extra \n from LLVM_UNREACHABLE calls.
...
llvm-svn: 75416
2009-07-12 07:15:17 +00:00
Torok Edwin
358888da3a
Implement changes from Chris's feedback.
...
Finish converting lib/Target.
llvm-svn: 75043
2009-07-08 20:53:28 +00:00
Torok Edwin
ad3be984b7
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
Bruno Cardoso Lopes
4da7e7af43
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
Evan Cheng
c58653bd6e
ARMCompilationCallback should not save / restore vfp registers if vfp is not available.
...
llvm-svn: 62299
2009-01-16 02:16:37 +00:00
Evan Cheng
feb7615798
Lazy compilation callback save / restore VFP registers.
...
llvm-svn: 59274
2008-11-13 23:28:54 +00:00
Evan Cheng
4768468ec1
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
Evan Cheng
cc9323ac73
VFP fld / fst immediate field is multiplied by 4.
...
llvm-svn: 59100
2008-11-12 01:02:24 +00:00
Evan Cheng
bc61b6009b
Correct PIC function stub codegen.
...
llvm-svn: 59006
2008-11-10 23:14:47 +00:00
Evan Cheng
080c1a9fac
Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.
...
llvm-svn: 58949
2008-11-10 01:08:07 +00:00
Evan Cheng
e5b6b3f81f
Moved InvalidateInstructionCache to ARMJITInfo::emitFunctionStub which knows size of stub.
...
llvm-svn: 58899
2008-11-08 08:16:49 +00:00
Evan Cheng
3d9c134136
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
Evan Cheng
bc946b09aa
Handle ARM machine constantpool entry with non-lazy ptr.
...
llvm-svn: 58882
2008-11-08 01:31:27 +00:00
Evan Cheng
bf8a1ef40f
More code clean up.
...
llvm-svn: 58872
2008-11-07 22:57:53 +00:00
Evan Cheng
3e00dcfebb
Get PIC jump table working.
...
llvm-svn: 58869
2008-11-07 22:30:53 +00:00
Evan Cheng
21df9f3b4f
Jump table JIT support. Work in progress.
...
llvm-svn: 58836
2008-11-07 09:06:08 +00:00
Evan Cheng
f15a9cfb31
Stylistic change.
...
llvm-svn: 58683
2008-11-04 06:10:06 +00:00
Evan Cheng
f117632c3f
Handle ARM machine constantpool entries.
...
llvm-svn: 58671
2008-11-04 00:50:32 +00:00
Evan Cheng
69c2588244
Correct way to handle CONSTPOOL_ENTRY instructions.
...
llvm-svn: 58409
2008-10-29 23:55:43 +00:00
Jim Grosbach
a8a40398e8
remove extraneous #ifdef's
...
llvm-svn: 58006
2008-10-22 22:27:51 +00:00
Jim Grosbach
24a4744d53
use pre-UAL mnemonics for push/pop for compilaton callback function
...
llvm-svn: 57911
2008-10-21 16:54:12 +00:00
Jim Grosbach
1de8b23129
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
Evan Cheng
126bd60288
Add Mac OS X compatible JIT callback routine.
...
llvm-svn: 55625
2008-09-02 07:49:03 +00:00
Nicolas Geoffray
1f3211af01
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
Chris Lattner
ad9a6ccb83
Remove attribution from file headers, per discussion on llvmdev.
...
llvm-svn: 45418
2007-12-29 20:36:04 +00:00
Raul Herbster
26e15aed5c
JITInfo now resolves function addrs and also relocations. It always emits a stub.
...
llvm-svn: 41625
2007-08-30 23:21:27 +00:00
Evan Cheng
8c896cc115
Initial JIT support for ARM by Raul Fernandes Herbster.
...
llvm-svn: 40887
2007-08-07 01:37:15 +00:00
Chris Lattner
71e2481181
no email addrs in file headers
...
llvm-svn: 39962
2007-07-17 05:56:43 +00:00
Evan Cheng
96254545ae
Initial ARM JIT support by Raul Fernandes Herbster.
...
llvm-svn: 37926
2007-07-05 21:15:40 +00:00