Reid Spencer [Thu, 25 Nov 2004 07:28:19 +0000 (07:28 +0000)]
Gack. Actually use the correct variable name in setting the JIT support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18240
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Thu, 25 Nov 2004 07:09:01 +0000 (07:09 +0000)]
Enable optimization suggested by Chris Lattner to not emit reloc stubs for
static global variables whose addresses are taken. This allows us to
convert the following code for taking the address of a static function foo
addis r2, r30, ha16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")
lwz r3, lo16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")(r2)
which also includes linker stub code emitted at the end of the .s file not
shown here, and replace it with this:
addis r2, r30, ha16(l1__2E_foo_2-"L00001$pb")
la r3, lo16(l1__2E_foo_2-"L00001$pb")(r2)
which in addition to not needing linker help, also has no load instruction.
For those not up on PowerPC mnemonics, la is shorthand for add immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18239
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 06:33:10 +0000 (06:33 +0000)]
The PPC backend is basically stable, and has a JIT now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18238
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 06:31:42 +0000 (06:31 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18237
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 06:25:13 +0000 (06:25 +0000)]
New testcase for PR451
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18236
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 06:14:45 +0000 (06:14 +0000)]
Fix the build on non ppc machines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18235
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 25 Nov 2004 06:07:42 +0000 (06:07 +0000)]
PR256 fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18234
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 25 Nov 2004 06:03:14 +0000 (06:03 +0000)]
Fix the lib/System/platform link by using proper cached variable name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18233
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 25 Nov 2004 04:51:04 +0000 (04:51 +0000)]
For PR256:
* cache more values
* standardize cache value names
* organize configure script per autoconf recommendations (10 sections)
* Eliminate some redundancies and complexities in the script
* Provide better documentation in the script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18232
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 25 Nov 2004 04:44:46 +0000 (04:44 +0000)]
Cache the value of this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18231
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 25 Nov 2004 04:43:54 +0000 (04:43 +0000)]
Tidy up the indentation. Give the cache variable a proper name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18230
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 25 Nov 2004 04:42:25 +0000 (04:42 +0000)]
Eliminate duplicate "checking" message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18229
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 04:14:54 +0000 (04:14 +0000)]
The JIT works enough
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 04:11:07 +0000 (04:11 +0000)]
Fix encoding of fsel, fixing olden/power, McCat/bisort and several others.
All of Olden passes now! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 03:53:44 +0000 (03:53 +0000)]
Fix encoding of fneg instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 03:40:20 +0000 (03:40 +0000)]
Fix encoding of swari, fixing several programs, including Olden/mst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18225
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 25 Nov 2004 03:33:03 +0000 (03:33 +0000)]
Make the check print something, give the cache var an llvm specific name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 25 Nov 2004 00:33:57 +0000 (00:33 +0000)]
There is not a 1-1 mappign between llvm blocks and PPC blocks, do not use
LLVM blocks as the keys for the branch rewriter. This fixes treeadd and
many other programs with the JIT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 22:30:08 +0000 (22:30 +0000)]
* 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
Nate Begeman [Wed, 24 Nov 2004 21:53:14 +0000 (21:53 +0000)]
Add the same optimization that we do loading from fixed alloca slots to
storing to fixed alloca slots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 21:01:46 +0000 (21:01 +0000)]
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
Chris Lattner [Wed, 24 Nov 2004 18:00:02 +0000 (18:00 +0000)]
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
Chris Lattner [Wed, 24 Nov 2004 17:42:55 +0000 (17:42 +0000)]
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
Reid Spencer [Wed, 24 Nov 2004 06:13:42 +0000 (06:13 +0000)]
Implement and document prefix options with arbitrary values including an
= sign. This needed to support -DNAME=value options as pass-through in
llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18203
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 24 Nov 2004 04:07:42 +0000 (04:07 +0000)]
Update list of failing benchmarks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18202
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 24 Nov 2004 04:07:33 +0000 (04:07 +0000)]
Fix bug in emitGEPOperation with large struct-member offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 03:52:02 +0000 (03:52 +0000)]
Fix a few more tests by encoding the extsb and other XForm11 instructions
correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 02:15:41 +0000 (02:15 +0000)]
Fix the encoding of ORi and other DForm4 instructions. This brings us to
36/42 SingleSource/UnitTests passing!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 02:03:44 +0000 (02:03 +0000)]
Loads are relocatable too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 02:00:06 +0000 (02:00 +0000)]
Calls do not need a MovPCtoLR instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18197
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 01:56:12 +0000 (01:56 +0000)]
Get constant pools working. This fixes even more programs, allowing us to
pass 24/42 in UnitTests (up from 20).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18196
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 24 Nov 2004 01:49:10 +0000 (01:49 +0000)]
Forced branches to be first to be scheduled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18195
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 01:35:12 +0000 (01:35 +0000)]
Rewrite branches more closely to correct. This makes more stuff pass, and
stops the infinite loops!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18194
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 24 Nov 2004 01:15:19 +0000 (01:15 +0000)]
Branch instructions explicitly represent CRx in them. bEcause of this, encode
them explicitly as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18193
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 24 Nov 2004 00:16:37 +0000 (00:16 +0000)]
Fix encoding of bctrl, and remove some unused instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18192
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 24 Nov 2004 00:01:57 +0000 (00:01 +0000)]
Make sure additional C++ suffixes are recognized by llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18191
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:48:45 +0000 (23:48 +0000)]
Add the configurable configuration files for llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18190
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:47:58 +0000 (23:47 +0000)]
* Adjust the options to make them either accept multiple occurrences or be
optional so that compatibility with GCC is accomplished.
* Implement the -print-file-name option in an attempt to provide the same
functionality as GCC. Unfortunately, without loading the cpp or c config
files, this option won't help much.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18189
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:45:49 +0000 (23:45 +0000)]
* Don't pass empty arguments to ExecuteAndWait because it can cause the
sub-tool to start reading its standard input instead of the specified
input.
* Clean up ouput of path names on error.
* Extend GetPathForLinkageItem to always search the LibraryPaths and thus
make it suitable for an interface function (required by llvmc.cpp).
* Implement support for language-specific default library paths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18188
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:40:06 +0000 (23:40 +0000)]
Configuration data now supports a vector of library paths.
Add the GetPathForLinkageItem method to the interface so full paths can
be generated for a given linkage item.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18187
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:38:46 +0000 (23:38 +0000)]
Add the c and cpp configuration files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18186
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:38:07 +0000 (23:38 +0000)]
Removed in favor of configurable (*.in) versions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18185
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:37:26 +0000 (23:37 +0000)]
Make various adjustments to parsing so that the separator character doesn't
terminate options or paths, so that SPACE tokens legally separate options
on a command line, and so that the lang.libs paths are parsed properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18184
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:35:50 +0000 (23:35 +0000)]
SPACE is a legitimate token now, to separate option words.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18183
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:35:16 +0000 (23:35 +0000)]
Handle space, separators, bad substitutions, and library search path better
than before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18182
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 23:33:08 +0000 (23:33 +0000)]
Configurable language configuration files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18181
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 22:35:39 +0000 (22:35 +0000)]
Allow reading of member names that begin with an _ character.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18179
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 22:06:24 +0000 (22:06 +0000)]
Fix encoding of blr and bctr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18178
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 23 Nov 2004 22:06:24 +0000 (22:06 +0000)]
Added remark about GCC 3.2.2. Someone with more knowledge of the problem
can elaborate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18177
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 23 Nov 2004 21:37:22 +0000 (21:37 +0000)]
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
Nate Begeman [Tue, 23 Nov 2004 21:34:18 +0000 (21:34 +0000)]
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
Chris Lattner [Tue, 23 Nov 2004 21:17:35 +0000 (21:17 +0000)]
Fix the encoding of OR, AND and many other instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18174
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 23 Nov 2004 21:10:50 +0000 (21:10 +0000)]
Support shr long/ulong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18173
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 23 Nov 2004 21:10:49 +0000 (21:10 +0000)]
Support printing ConstantAggregateZeros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18172
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 23 Nov 2004 21:10:48 +0000 (21:10 +0000)]
Update failing SingleSource test-case list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18171
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 20:41:34 +0000 (20:41 +0000)]
Remove argtype and argcount magic, which was used by the old asmprinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18170
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 20:37:41 +0000 (20:37 +0000)]
Get rid of flags that are dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18169
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 23 Nov 2004 19:26:24 +0000 (19:26 +0000)]
We also provide a source distribution of the GCC front-end
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18166
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 19:23:32 +0000 (19:23 +0000)]
Fix encoding of rlwinm?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18165
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 19:23:18 +0000 (19:23 +0000)]
Fix encodings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 18:59:59 +0000 (18:59 +0000)]
Enumerate CR registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 18:49:46 +0000 (18:49 +0000)]
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
Chris Lattner [Tue, 23 Nov 2004 18:47:55 +0000 (18:47 +0000)]
This method is dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18160
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 18:47:42 +0000 (18:47 +0000)]
Remove this method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18159
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 16:23:50 +0000 (16:23 +0000)]
Make sure the timing output is also sent to the log file for dejagnu, not
the log file of the NightlyTest.pl script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 15:57:01 +0000 (15:57 +0000)]
Squelch a bogus warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18157
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 15:56:38 +0000 (15:56 +0000)]
Squelch a bogus warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18156
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Tue, 23 Nov 2004 10:04:49 +0000 (10:04 +0000)]
Don't return value from void function. This is only temporary anyway while
the JIT is made to work!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18155
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 23 Nov 2004 08:14:09 +0000 (08:14 +0000)]
pseudocode for 64-bit lshr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18154
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 06:56:31 +0000 (06:56 +0000)]
Fix a minor bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18153
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 06:56:18 +0000 (06:56 +0000)]
Be really paranoid about not breaking stuff yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 06:55:05 +0000 (06:55 +0000)]
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
Chris Lattner [Tue, 23 Nov 2004 06:51:14 +0000 (06:51 +0000)]
Change formats, as suggested by Duraid
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18150
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 23 Nov 2004 06:39:50 +0000 (06:39 +0000)]
Add more known-failing tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18149
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 23 Nov 2004 06:39:37 +0000 (06:39 +0000)]
Add the rest of the logical instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18148
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 06:27:02 +0000 (06:27 +0000)]
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
Chris Lattner [Tue, 23 Nov 2004 06:05:44 +0000 (06:05 +0000)]
Simplify code a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 06:02:06 +0000 (06:02 +0000)]
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
Chris Lattner [Tue, 23 Nov 2004 05:59:53 +0000 (05:59 +0000)]
Emit relocations for the global variable using instructions. This gets us
LA, LOADHiAddr, CALLpcrel, and MovePCtoLR working, though the constant pool
probably is not right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18144
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 23 Nov 2004 05:59:53 +0000 (05:59 +0000)]
Allow configuration files to be themselves configured and found in the
OBJ dir instead of only in the SRC dir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 05:57:57 +0000 (05:57 +0000)]
Implement all of the methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 05:57:38 +0000 (05:57 +0000)]
Initial checkin of the 32-bit PPC relocation types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 05:56:40 +0000 (05:56 +0000)]
Move JITInfo from PPCTM to PPC32TM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 05:55:38 +0000 (05:55 +0000)]
Do not provide the non-specialized PowerPCJITInfo object, it is pretty useless.
Instead, let derived classes provide specialized ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18139
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Nov 2004 05:54:25 +0000 (05:54 +0000)]
LA is really addi. Be consistent with operand ordering to avoid confusing the code emitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18138
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 23 Nov 2004 04:22:29 +0000 (04:22 +0000)]
Changed the CreateCodeToLoadConst function to preserve SSA form. This basically means adding extra tmp instructions for intermediate values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18137
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 23:07:22 +0000 (23:07 +0000)]
Remove some dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18136
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 23:07:01 +0000 (23:07 +0000)]
Comment out a couple of unused instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18135
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 22:25:30 +0000 (22:25 +0000)]
Do not push two return addresses on the stack when we call external functions who have their addresses taken. This fixes test-call.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18134
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 22:09:58 +0000 (22:09 +0000)]
Add a note about the JIT changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18133
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 22:00:25 +0000 (22:00 +0000)]
Rename Emitter.cpp -> JITEmitter.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18132
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 21:54:35 +0000 (21:54 +0000)]
Fix the FIXME, nuke the JIT specific forceCompilationOf method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 21:51:40 +0000 (21:51 +0000)]
Disable this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18130
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 21:48:33 +0000 (21:48 +0000)]
These methods are obsolete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18129
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 21:48:01 +0000 (21:48 +0000)]
These methods are now obsolete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18128
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 21:45:54 +0000 (21:45 +0000)]
This chunk of code needs to be rewritten
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 21:42:40 +0000 (21:42 +0000)]
Remove some dead vars and some useless namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18126
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 21:25:10 +0000 (21:25 +0000)]
Implement a disgusting hack to work around broken machine code emission of
the RDCCR instruction. This fixes a bunch of programs with the JIT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18124
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Mon, 22 Nov 2004 20:41:24 +0000 (20:41 +0000)]
Fixed a bug where I was trying to ModuloSchedule a loop with no instructions but a terminator.
Fixed a bug in the schedule generation that was always using the start cycle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18123
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Nov 2004 20:25:10 +0000 (20:25 +0000)]
Remove JIT-specific code from the code emitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18122
91177308-0d34-0410-b5e6-
96231b3b80d8