Commit Graph

40946 Commits

Author SHA1 Message Date
Gordon Henriksen
fcbcfaa95f [PR2327] Leverage TargetRegisterInfo to compute frame offsets for GC metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54994 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 17:06:35 +00:00
Nicolas Geoffray
2d450ebe18 Update the JIT exception writer to better mimic the codegen exception writer.
Also skip indirect encoding for platforms that ask for one: we direclty
write an address, not a pointer to the address.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54987 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 14:48:14 +00:00
Chris Lattner
23f35bc3ae add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 06:22:16 +00:00
Chris Lattner
4667b71f93 more cleanups, random methods shouldn't return ostreams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54984 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 05:26:17 +00:00
Chris Lattner
52b26de325 more cleanup, eliminate getLLVMName when printing out
type names at the top of the file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54983 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 05:16:28 +00:00
Chris Lattner
cfb5a200d6 random cleanups, factor some printing code for linkage and visibility
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54982 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 05:06:27 +00:00
Chris Lattner
242330371b Change WriteTypeSymbolic/WriteAsOperand to return void instead of
an ostream, which is just weird.

Rename SC_DEBUG -> ST_DEBUG

Remove static indentation strangeness from WriteConstantInt.  This makes it 
so that large structs are not broken down and printed on multiple lines.  If
there is demand for this to return, there are better ways to implement this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54981 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:47:09 +00:00
Chris Lattner
76a690e024 whitespace cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54980 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:45:47 +00:00
Chris Lattner
7de3b5db26 don't use the result of WriteAsOperand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:45:19 +00:00
Chris Lattner
65a7bd8b8e don't use the result of WriteTypeSymbolic or WriteAsOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54978 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:44:30 +00:00
Chris Lattner
2c69184fd6 Don't use the result of WriteAsOperand or WriteTypeSymbolic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54977 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:42:37 +00:00
Chris Lattner
6ab910b946 rearrange code and make more legible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54976 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:36:02 +00:00
Chris Lattner
b64871a6ad put SlotTracker in an anon namespace since it is private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54975 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:28:07 +00:00
Chris Lattner
0d9574a1cd Reid had to call this class "slot machine" out of some strange reference
to the gambling device.  Name it something more meaningful.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54974 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:26:57 +00:00
Chris Lattner
071acf4279 add raw_ostream method for emitting an unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 04:23:02 +00:00
Devang Patel
4869456c29 Compress manpages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54971 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 01:17:41 +00:00
Owen Anderson
724651ab6e Make SimpleSpiller respect subregister indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54968 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 01:05:33 +00:00
Chris Lattner
fa7e17d379 add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 00:41:02 +00:00
Owen Anderson
ae339babb2 Add a flag to enable the fast spilling path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54958 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-19 00:17:30 +00:00
Dan Gohman
40610241d0 Fix the FastISel class' doxygen comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54957 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 23:41:46 +00:00
Owen Anderson
1719731d3d Fix a few more bugs:
1) Assign stack slots to new temporaries.
  2) Don't insert an interval into the return vector more than once.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 23:41:04 +00:00
Chris Lattner
cd7ab05c37 remove empty file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54950 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 21:27:19 +00:00
Owen Anderson
9a03293145 Fix several bugs in the new fast-path:
1) Remove an incorrect assertion.
  2) Set the stack slot weight properly.
  3) Resize the VirtRegMap when needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54949 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 21:20:32 +00:00
Anton Korobeynikov
70053c340e Unbreak cpp backend: upgrade output due to change in APInt API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54942 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 20:03:45 +00:00
Owen Anderson
133f10f9bd Clients of addIntervalForSpills expect the added intervals to be returned sorted by starting index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54939 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 19:52:22 +00:00
Chris Lattner
d7cbd1574f Fix a bug daniel pointed out to me, where asmprinter started
printing ascii code for hex numbers instead of the hex numbers 
themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54936 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 19:41:26 +00:00
Owen Anderson
8dc2cbe793 Simplify the fast-patch interval spilling by using MachineRegisterInfo::reg_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54930 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:38:12 +00:00
Bill Wendling
2dcca3a6d8 XFAIL this test for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54929 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:29:54 +00:00
Owen Anderson
d6664311ac Resurrect some ancient code to add spill ranges without attempting folding, remat, or splitting. This code has been updated to current APIs
in so far as it compiles and, in theory, works, but does not take advantage of recent advancements.  For instance, it could be improved by using
MachineRegisterInfo::use_iterator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54924 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 18:05:32 +00:00
Nicolas Geoffray
a7ec87cd07 Register the frame register function when allocating the JIT,
so that lli works out of the box with -enable-eh.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54920 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 14:53:56 +00:00
Evan Cheng
6aa3898730 ARM asm printer can't handle dwarf info yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54913 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 08:52:48 +00:00
Bill Wendling
d3361e996b Don't hoist instructions that have implicit uses or defines. Before, it was
hoisting out some "test" and "cmp" instructions. This was obvious badness.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54908 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-18 00:33:49 +00:00
Nick Lewycky
e86389dd2a Make this comment clearer. Instead of using an ambiguous ~ (not) on an icmp
predicate, swap the order of the operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54907 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 20:02:02 +00:00
Nick Lewycky
91a0f78265 Consider the case where xor by -1 and xor by 128 have been combined already to
produce an xor by 127.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54906 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 19:58:24 +00:00
Gordon Henriksen
b20d685c6f Update VC++ project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54905 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 19:57:31 +00:00
Evan Cheng
4e49c80289 Didn't mean to change this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54904 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 19:25:28 +00:00
Evan Cheng
0ac3fc2a61 Fix a (u)comiss intrinsic lowering bug. It was using anyext which can return junk in higher bits. Patch by Nate Begeman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54903 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 19:22:34 +00:00
Gordon Henriksen
8715367182 Don't require Registry specializations to define random static variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54902 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 19:08:34 +00:00
Gordon Henriksen
a08f5186b0 Drop an unnecessary include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54901 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 18:54:05 +00:00
Gordon Henriksen
5d82cd32b0 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54900 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 18:48:50 +00:00
Gordon Henriksen
5eca075b74 Rename some GC classes so that their roll will hopefully be clearer.
In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

  Collector               -> GCStrategy
  CollectorMetadata       -> GCFunctionInfo
  CollectorModuleMetadata -> GCModuleInfo
  CollectorRegistry       -> GCRegistry
  Function::getCollector  -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 18:44:35 +00:00
Cedric Venet
94fb5f2a70 Make it compile on VC2005:
- update VC projects.
- Add an overload to llvm::Stream for <<, since std::hex and std::dec have type std::ios_base& (*)(std::ios_base&) in VC++. (templating the function don't work, due to ambiguities)
- add ../ on several include in X86/AsmPrinter/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54898 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 18:24:26 +00:00
Chris Lattner
addd44427c getLLVMName is only used for types now, which always pass in LocalPrefix. Specialize on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54897 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 17:28:37 +00:00
Chris Lattner
9225507cda switch valuemap's from std::map to densemap. This speeds up llvm-dis
on a stripped kc++ .bc file from 0.83 to 0.77s (8%)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54896 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 17:25:25 +00:00
Gordon Henriksen
418b6e875f Don't instantiate GC metadata for declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54895 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 16:18:50 +00:00
Gordon Henriksen
3813bcaa89 Set ignores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54894 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 14:41:11 +00:00
Gordon Henriksen
d753a02e95 Set ignores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54893 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 14:40:45 +00:00
Anton Korobeynikov
2b11004d56 Link GC metadata printers by default to llc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54892 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 14:33:01 +00:00
Anton Korobeynikov
4a8978b61c Fix merge error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54891 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 13:56:03 +00:00
Anton Korobeynikov
c40c8b333d Remove asmprinters from examples by default. This reduces their size by ~5%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54890 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-17 13:55:33 +00:00