Chris Lattner
2a0c0dff0b
The JIT works enough
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18228 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 04:14:54 +00:00
Chris Lattner
5cbf3bc202
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
2004-11-25 04:11:07 +00:00
Chris Lattner
a1ab451392
Fix encoding of fneg instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18226 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 03:53:44 +00:00
Chris Lattner
cd61ec837f
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
2004-11-25 03:40:20 +00:00
Reid Spencer
ab4e5fb61f
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
2004-11-25 03:33:03 +00:00
Chris Lattner
b752a97ca4
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
2004-11-25 00:33:57 +00:00
Chris Lattner
5efb75daed
* 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
2004-11-24 22:30:08 +00:00
Nate Begeman
53e4aa57c6
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
2004-11-24 21:53:14 +00:00
Chris Lattner
73278080c8
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
2004-11-24 21:01:46 +00:00
Chris Lattner
892afa9556
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
2004-11-24 18:00:02 +00:00
Chris Lattner
fb887e010d
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
2004-11-24 17:42:55 +00:00
Reid Spencer
5f8448f79c
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
2004-11-24 06:13:42 +00:00
Brian Gaeke
e4ed742588
Update list of failing benchmarks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18202 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 04:07:42 +00:00
Brian Gaeke
31e575901f
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
2004-11-24 04:07:33 +00:00
Chris Lattner
69efbdd4f3
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
2004-11-24 03:52:02 +00:00
Chris Lattner
2f5091ac2a
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
2004-11-24 02:15:41 +00:00
Chris Lattner
00a8c01999
Loads are relocatable too
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18198 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 02:03:44 +00:00
Chris Lattner
b765ff1219
Calls do not need a MovPCtoLR instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18197 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 02:00:06 +00:00
Chris Lattner
b9f26da5dd
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
2004-11-24 01:56:12 +00:00
Tanya Lattner
a6ec8f5548
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
2004-11-24 01:49:10 +00:00
Chris Lattner
8599d385a2
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
2004-11-24 01:35:12 +00:00
Chris Lattner
310a752872
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
2004-11-24 01:15:19 +00:00
Nate Begeman
3b78e3b6a9
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
2004-11-24 00:16:37 +00:00
Reid Spencer
c9b37eea2e
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
2004-11-24 00:01:57 +00:00
Reid Spencer
0acd65f258
Add the configurable configuration files for llvmc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18190 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:48:45 +00:00
Reid Spencer
65bc4e0bc4
* 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
2004-11-23 23:47:58 +00:00
Reid Spencer
0b3c7d084c
* 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
2004-11-23 23:45:49 +00:00
Reid Spencer
2d3ee4e2eb
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
2004-11-23 23:40:06 +00:00
Reid Spencer
dc6812d92d
Add the c and cpp configuration files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18186 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:38:46 +00:00
Reid Spencer
f1a889c99b
Removed in favor of configurable (*.in) versions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18185 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:38:07 +00:00
Reid Spencer
e9564cedb4
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
2004-11-23 23:37:26 +00:00
Reid Spencer
c0f376dba2
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
2004-11-23 23:35:50 +00:00
Reid Spencer
90654fd924
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
2004-11-23 23:35:16 +00:00
Reid Spencer
b98c672328
Configurable language configuration files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18181 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 23:33:08 +00:00
Reid Spencer
84b9cedf91
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
2004-11-23 22:35:39 +00:00
Chris Lattner
6f407893e2
Fix encoding of blr and bctr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18178 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 22:06:24 +00:00
John Criswell
294ba022bc
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
2004-11-23 22:06:24 +00:00
Nate Begeman
65b7f3ed2a
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
2004-11-23 21:37:22 +00:00
Nate Begeman
ca6d0f53ff
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
2004-11-23 21:34:18 +00:00
Chris Lattner
5afa9af81b
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
2004-11-23 21:17:35 +00:00
Brian Gaeke
88108b8cfa
Support shr long/ulong.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18173 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:10:50 +00:00
Brian Gaeke
4dd043f090
Support printing ConstantAggregateZeros.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:10:49 +00:00
Brian Gaeke
8a0c4fd0c6
Update failing SingleSource test-case list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18171 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 21:10:48 +00:00
Chris Lattner
d162032013
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
2004-11-23 20:41:34 +00:00
Chris Lattner
583e32b653
Get rid of flags that are dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 20:37:41 +00:00
Misha Brukman
8f9e6d6ed2
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
2004-11-23 19:26:24 +00:00
Chris Lattner
89d60de90e
Fix encoding of rlwinm?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18165 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 19:23:32 +00:00
Chris Lattner
943f45208c
Fix encodings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18164 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 19:23:18 +00:00
Chris Lattner
9ba12359e3
Enumerate CR registers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18162 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-23 18:59:59 +00:00
Chris Lattner
d9d06b3af1
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
2004-11-23 18:49:46 +00:00