History log of /external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d9b41b339d3a8b35fac73e63ad665140b5bc7bdc 09-May-2012 Roman Divacky <rdivacky@freebsd.org> Mark .opd @progbits, thus avoiding a warning from asm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
9cd5e7a47836a6be3d2c274a5b6b019aaad106ce 03-Apr-2012 Anton Korobeynikov <asl@math.spbu.ru> Make PPCCompilationCallbackC function to be static, so there will be no need to issue call via
PLT when LLVM is built as shared library. This mimics the X86 backend towards the approach.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
e355b80194ac5c908cecbecd6f3c137b2c9802cb 15-Jun-2011 Roman Divacky <rdivacky@freebsd.org> Make PPC64CompilationCallback compilable no non-darwin platforms.

Patch by Nathan Whitehorn!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
3cc52ea33c0b96d1682f14fc45c45b57df0f39b6 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> I swear I did a make clean and make before committing all this...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
13c10c4e49109054281a8e2c074f8c901ab0404a 15-Jan-2010 Jeffrey Yasskin <jyasskin@google.com> Teach PPC how to replaceMachineCodeForFunction correctly. (Fixes
JITTest.FunctionIsRecompiledAndRelinked.)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
32d7e6ebde29faeea75ecb718b4281414b0eea0b 15-Dec-2009 Jeffrey Yasskin <jyasskin@google.com> 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
108c838093704650378b194fe9afc5ebb9e91455 24-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> * 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
0261d795f83a45dd53d82e511ae672d6d1f4e298 23-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> 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").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
c25e7581b9b8088910da31702d4ca21c4734c6d7 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
dac237e18209b697a8ba122d0ddd9cad4dfba1f8 08-Jul-2009 Torok Edwin <edwintorok@gmail.com> Implement changes from Chris's feedback.
Finish converting lib/Target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
2a9ddfb903ae3baede7282348afae1f750905248 03-Jul-2009 Tilmann Scheller <tilmann.scheller@googlemail.com> Refactor ABI code in the PowerPC backend.

Make CalculateParameterAndLinkageAreaSize() Darwin-specific.
Remove SVR4 specific code from LowerCALL_Darwin() and LowerFORMAL_ARGUMENTS_Darwin().
Rename MachoABI to DarwinABI for consistency.
Rename ELF ABI to SVR4 ABI for consistency.
Factor out common call return lowering between the Darwin and SVR4 ABI.
Factor out common call lowering between the Darwin and SVR4 ABI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
a3f99f90338d89354384ca25f53ca4450a1a9d18 30-May-2009 Bruno Cardoso Lopes <bruno.cardoso@gmail.com> First patch in the direction of splitting MachineCodeEmitter in two subclasses:
JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
ce4a70bd7608861e104b04265a0c71e5df8ecefe 08-Nov-2008 Evan Cheng <evan.cheng@apple.com> Rename startFunctionStub to startGVStub since it's also used for GV non-lazy ptr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58897 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
f522068412218cd14b2c2df74a3437717d255381 16-Oct-2008 Dan Gohman <gohman@apple.com> Trim #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
bc52cada0933f353d30da7b49af9a641bdb2c57d 25-Jun-2008 Chris Lattner <sabre@nondot.org> Switch the PPC backend and target-independent JIT to use the libsystem
InvalidateInstructionCache method instead of calling through
a hook on the JIT. This is a host feature, not a target feature.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
0b725f17e0fade6820813557fe4b6f8208b7510d 17-Jun-2008 Anton Korobeynikov <asl@math.spbu.ru> Add one more 'magic' define :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
7a17ff7b3f859024f5c8a6d247d8a2fd6e83f9b1 17-Jun-2008 Anton Korobeynikov <asl@math.spbu.ru> Unbreak non-PPC builds


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
210539ebc466521e41e69b119649d59cc721b006 17-Jun-2008 Anton Korobeynikov <asl@math.spbu.ru> Provide generic hooks for icache invalidation. Add PPC implementation.
Patch by Gary Benson!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
16228c08b4cbad0620fe09b8afb3da70e3fbb040 16-Jun-2008 Chris Lattner <sabre@nondot.org> Add support for icache invalidation on non-darwin ppc systems.
Patch by Gary Benson!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
e7a83dfac62eb01a1dcc71b98363d3bf3a893a6c 24-May-2008 Chris Lattner <sabre@nondot.org> Add FreeBSD/PPC support, patch by Marcel Moolenaar!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
51cc3c13eac78da242f0518fc42580e48dd5304f 16-Apr-2008 Nicolas Geoffray <nicolas.geoffray@lip6.fr> Correlate stubs with functions in JIT: when emitting a stub, the JIT tells the memory manager which function
the stub will resolve.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
1910e2f3ecec461d1eab8c44b16c977539080a6e 25-Jan-2008 Chris Lattner <sabre@nondot.org> JITEmitter.cpp was trying to sync the icache for function stubs, but
was actually passing a completely incorrect size to sys_icache_invalidate.
Instead of having the JITEmitter do this (which doesn't have the correct
size), just make the target sync its own stubs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
2fb813d70b8928f355b35f782889c55c1aa891ef 29-May-2007 Nicolas Geoffray <nicolas.geoffray@lip6.fr> Implementation of compilation callback in PPC ELF32


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
456bc87e78af18331b9579069a059c723da517d9 25-Feb-2007 Chris Lattner <sabre@nondot.org> Improve JIT support for linux/ppc: Patch by Nicolas Geoffray!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
18e2f4433e3bc8b95e1bd0c9e5de7b384eb7db3b 11-Dec-2006 Jim Laskey <jlaskey@mac.com> Layout proper frame for ppc64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
0eadd73bd78b00379e9f78d1a372bcd28efe855c 10-Dec-2006 Jim Laskey <jlaskey@mac.com> Reverting until finding the cause of secondary bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
630def54f4de86f3909bfd10ff9bd94c87525ea7 10-Dec-2006 Jim Laskey <jlaskey@mac.com> __PPC64CompilationCallback code was allowing registers to be clobbered by stub.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
e150b8eb873fc1bdde17d8ecfd3c38168a5cdcee 08-Dec-2006 Chris Lattner <sabre@nondot.org> this is an initial patch to switch the ppc64 jit over to working in PIC mode,
which allows the code to be above the 2G marker. We still need to JIT emit
dyld stubs to support external, weak, common, etc globals, but that will
happen tomorrow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
eb63b0a9d5089dd3119ba9c3cad9cf9ad79df0f7 08-Dec-2006 Chris Lattner <sabre@nondot.org> fix incorrect encoding of rldicr, used by ppc64 function stubs, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
f5da13367f88f06e3b585dc2263ab6e9ca6c4bf8 07-Dec-2006 Bill Wendling <isanbard@gmail.com> What should be the last unnecessary <iostream>s in the library.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
7be164c0eaa6c1ab2e69262036e54870176c10a4 29-Sep-2006 Chris Lattner <sabre@nondot.org> wrap long lines


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
94be248dbb2d2a44e8f4d47f161b93704d33d279 09-Sep-2006 Nate Begeman <natebegeman@mac.com> First pass at supporting relocations. Relocations are written correctly to
the file now, however the relocated address is currently wrong. Fixing
that will require some deep pondering.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
06abd22b1ad203103c1a07a030ebc5c1c4cfbb14 29-Aug-2006 Nate Begeman <natebegeman@mac.com> Make ppc64 jit kinda work right. About 2/3 of Olden passes with this,
there are clearly some encoding bugs lurking in there somewhere.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
f141cc46faf6f0525f0baa10b6a6c976301874a5 27-Jul-2006 Evan Cheng <evan.cheng@apple.com> Resolve BB references with relocation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
7e6e44139429d1b8003426b29f14126b89591262 27-Jul-2006 Evan Cheng <evan.cheng@apple.com> synchronizeICache removeed from TargetJITInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
55fc28076fa48723bd170e51638b3b5974ca0fa1 25-Jul-2006 Evan Cheng <evan.cheng@apple.com> - Refactor the code that resolve basic block references to a TargetJITInfo
method.
- Added synchronizeICache() to TargetJITInfo. It is called after each block
of code is emitted to flush the icache. This ensures correct execution
on targets that have separate dcache and icache.
- Added PPC / Mac OS X specific code to do icache flushing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
3bc8a765a98015e6d55510b6ea6e387cbfd793cd 12-Jul-2006 Chris Lattner <sabre@nondot.org> Implement PPC64 relocations types


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
08a9a985dc7881cad0321ae95147f0a4b04647a8 01-Jun-2006 Chris Lattner <sabre@nondot.org> Silence -pedantic warning


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
d74ea2bbd8bb630331f35ead42d385249bd42af8 24-May-2006 Chris Lattner <sabre@nondot.org> Patches to make the LLVM sources more -pedantic clean. Patch provided
by Anton Korobeynikov! This is a step towards closing PR786.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
d3f0aefc33965d3d0ca6f92af4ebaea354b063c4 02-May-2006 Chris Lattner <sabre@nondot.org> Fix a purely hypothetical problem (for now): emitWord emits in the host
byte format. This doesn't work when using the code emitter in a cross target
environment. Since the code emitter is only really used by the JIT, this
isn't a current problem, but if we ever start emitting .o files, it would be.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
5425267e84946676f1e7424ee056f71b23497ee7 02-May-2006 Nate Begeman <natebegeman@mac.com> Update the PPC compilation callback code to not need weird abi-violating
prologs and epilogs, keep all the asm in one place, and remove use of
compiler builtin functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
b3f70d7d556913126e4066d61328b701ce59c55a 25-Apr-2006 Nate Begeman <natebegeman@mac.com> No functionality changes, but cleaner code with correct comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
6fcbd6961d9f14d75e2b314b06ca823d43a70353 22-Apr-2006 Nate Begeman <natebegeman@mac.com> Change the PPC JIT to use a Static relocation model


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
21e463b2bf864671a87ebe386cb100ef9349a540 16-Oct-2005 Nate Begeman <natebegeman@mac.com> More PPC32 -> PPC changes, as well as merging some classes that were
redundant after the change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
16e71f2f70811c69c56052dd146324fe20e31db5 15-Oct-2005 Chris Lattner <sabre@nondot.org> Rename PPC32*.h to PPC*.h

This completes the grand PPC file renaming


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
b9459b731a0b6345d1e14083fcfa6508646ba81d 15-Oct-2005 Chris Lattner <sabre@nondot.org> Merge PPCJITInfo.h and PPC32JITInfo.h. Note that the PowerPCJITInfo
and PPC32JITInfo classes should be merged.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
908bc862d58bdb66d22a6a58bddb4e108a64e469 22-Jul-2005 Andrew Lenharth <andrewl@lenharth.org> update interface


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22498 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
b5f662fa0314f7e7e690aae8ebff7136cc3a5ab0 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
15ee8adb00535834ad7962939868b4a9583577ca 26-Nov-2004 Chris Lattner <sabre@nondot.org> There is no reason to store <x,x>, just store <x>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
fde839b4ff3c2c3f3658d45b2f7e9806f1d14032 25-Nov-2004 Chris Lattner <sabre@nondot.org> Fix the build on non ppc machines


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
5efb75daed48edfeb03ba62f3f0afe81b86f5d7f 24-Nov-2004 Chris Lattner <sabre@nondot.org> * Rename existing relocations to be more specific
* Add relocations for refernces to non-lazy darwin stubs and implement
them correctly.

With this change, we can correctly references external globals, and now
all but two UnitTests and all but 1 Regression/C tests pass.

More importantly, bugpoint-jit will start giving us useful testcases,
instead of always telling us that references to external globals don't
work :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
73278080c8078002beb4706d5b1592e9b9c5f9b3 24-Nov-2004 Chris Lattner <sabre@nondot.org> Write CompilationCallback as an explicit assembly stub to avoid getting GCC's
prolog.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
892afa9556eabf358ef632f1be0bde1587b3d610 24-Nov-2004 Chris Lattner <sabre@nondot.org> When rewriting the original call instruction, make sure to rewrite it to
call the right address.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
fb887e010dea16ecfe5204132dacf453af0d62c2 24-Nov-2004 Chris Lattner <sabre@nondot.org> Force the intregs ptr into R2 and the FPregs ptr into R3. This fixes a really
obscure problem where we were doing:

lmw r3,0(r9)

which is undefined on PPC. Now we do:

lmw r3,0(r2)

by force, not relying on the GCC register allocator for luck :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
65b7f3ed2af7450bb2cd22cd200c04d9493ddd65 23-Nov-2004 Nate Begeman <natebegeman@mac.com> Use the correct register class as a constaint to gcc's inline assembly, so
that we don't end up trying to use r0 as a base register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
ca6d0f53ffb0a3112b55a665f7a446f86d5cd6dc 23-Nov-2004 Nate Begeman <natebegeman@mac.com> Save/Restore arg regs and nonvolatile regs the compiler might use during
CompilationCallback


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
d9d06b3af1bf34ca680759c86a142a2c6c732896 23-Nov-2004 Chris Lattner <sabre@nondot.org> Initial implementation of exiting CompilationCallback

This should save all argument registers on entry and restore on exit, despite
that, simple things seem to work!!!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
e61198b3233f0c46900ced6d856534b11bd3d9f2 23-Nov-2004 Chris Lattner <sabre@nondot.org> Implement the first hunk of CompilationCallback. The pieces missing are the
ones noted, which require funny PPC specific inline assembly.

If some angel felt the desire to help me, I think this is that last bit missing
for JIT support (however, generic code emitter might night work right with
the constant pool yet).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
7c83dc2714d9d92068cc2c742e0baa90a3fd0363 23-Nov-2004 Chris Lattner <sabre@nondot.org> Implement the stub needed to get into compilation callback.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp
9b3d989cb7b3473fbb7f268dbc02ae32052a9cbb 23-Nov-2004 Chris Lattner <sabre@nondot.org> Initial implementation of the JIT interfaces. Relocation is done and stubs
for external functions work. CompilationCallback has not been written, and
stubs for internal functions are not generated yet. This means you can call
printf and exit, and use global variables, but cannot call functions local to
a module yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/PowerPC/PPCJITInfo.cpp