Commit Graph

9653 Commits

Author SHA1 Message Date
Chris Lattner ce8781cd67 Use new getFileSize function. Eliminate some using directives. Reorder #includes a bit
llvm-svn: 10651
2003-12-30 07:45:46 +00:00
Chris Lattner 9b75157c04 Use new getFileSize function instead of sys/stat.h directly.
llvm-svn: 10650
2003-12-30 07:40:35 +00:00
Chris Lattner 4a1c74dcf8 Add new method
llvm-svn: 10649
2003-12-30 07:36:14 +00:00
Chris Lattner 419b70539b Add new function
llvm-svn: 10648
2003-12-30 07:35:47 +00:00
Chris Lattner cf1755a6f3 Add a -disable-opt flag to gccas, so that we can use -Wa,-disable-opt just
like -Wl,-disable-opt

llvm-svn: 10647
2003-12-30 03:24:27 +00:00
Chris Lattner 6b668f228f Further revisions of the FDHandle idea. In this version we use ownership
semantics that are the same as those used by std::auto_ptr.  This allows
copying of FDHandle's, but copying transfers ownership.

llvm-svn: 10646
2003-12-30 02:45:16 +00:00
Chris Lattner b9299236a8 Add a new class useful for providing fully materialized modules to ExecutionEngine's
llvm-svn: 10645
2003-12-30 02:44:04 +00:00
John Criswell 1b921c486e Allow C++ programs to end in .cc. This allows C++ test programs in the
test suite to compile.

llvm-svn: 10644
2003-12-29 22:02:12 +00:00
Chris Lattner 0120e92b2b Add trivial exception specs to produce better code since the methods cannot
be inlined.

llvm-svn: 10643
2003-12-29 21:43:58 +00:00
Chris Lattner a462161f9c Factor FDHandle out of the bytecode reader into the FileUtilities.h support
routines.

llvm-svn: 10642
2003-12-29 21:35:05 +00:00
Chris Lattner dca358f6ae implement new getToken function
llvm-svn: 10639
2003-12-29 05:07:02 +00:00
Chris Lattner 19857d2c05 add new function
llvm-svn: 10638
2003-12-29 05:06:38 +00:00
Chris Lattner 9fbff9f66e What do you know, we actually do accomplish some things around here :)
llvm-svn: 10637
2003-12-28 23:04:17 +00:00
Chris Lattner 5d236005b0 Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering
implementation from the TargetMachine directly.

llvm-svn: 10636
2003-12-28 21:23:38 +00:00
Alkis Evlogimenos a158dc8104 Reserve ECX and EDI instead of EBX and EDI. Since EBX is a callee
saved register it has a longer free range than ECX (which is defined
every time there is a fnuction call) which makes ECX a better register
to reserve.

llvm-svn: 10635
2003-12-28 18:03:52 +00:00
Alkis Evlogimenos 43b587d94d Add coalescing to register allocator. A hint is added to each interval
which denotes the register we would like to be assigned to (virtual or
physical). In register allocation, if this hint exists and we can map
it to a physical register (it is either a physical register or it is a
virtual register that already got assigned to a physical one) we use
that register if it is available instead of a random one in the free
pool.

llvm-svn: 10634
2003-12-28 17:58:18 +00:00
Alkis Evlogimenos 52564b2071 Add TargetInstrInfo::isMoveInstr() to support coalescing in register
allocation.

llvm-svn: 10633
2003-12-28 17:35:08 +00:00
Chris Lattner 10cac58d23 Whoops, don't try to lower non intrinsic calls
llvm-svn: 10632
2003-12-28 09:53:23 +00:00
Chris Lattner dabec3ba96 Pass extra arguments around n stuph
llvm-svn: 10631
2003-12-28 09:51:04 +00:00
Chris Lattner 36cb530e22 We may now pass IntrinsicLowering implementations into these methods
llvm-svn: 10630
2003-12-28 09:48:17 +00:00
Chris Lattner c45a033b42 implement support for the intrinsic lowering functionality
llvm-svn: 10629
2003-12-28 09:47:19 +00:00
Chris Lattner dfc5631bfd Eliminate some code that is not needed now that we have the intrinsic lowering pass
llvm-svn: 10628
2003-12-28 09:46:33 +00:00
Chris Lattner c8c6c03dda Pass around IntrinsicLowering instances as appropriate.
Reimplement the Interpreters implementation of va_* to be more direct.

llvm-svn: 10627
2003-12-28 09:44:37 +00:00
Chris Lattner 4b75e04a60 Use the intrinsic lowering functionality
llvm-svn: 10626
2003-12-28 09:43:35 +00:00
Chris Lattner 1ae8dde6c4 add argument
llvm-svn: 10625
2003-12-28 09:42:49 +00:00
Chris Lattner bfa9c87bad ABC's must have virtual dtors! Shame on me!
llvm-svn: 10624
2003-12-28 08:55:50 +00:00
Chris Lattner 24650d2b5e Move into the VMCore library
llvm-svn: 10623
2003-12-28 08:30:20 +00:00
Chris Lattner 6e7d2fa79c Move header into top-level llvm dir
llvm-svn: 10622
2003-12-28 08:30:07 +00:00
Chris Lattner 08c196dd4b Implement the default implementation of the intrinsic lowering class
llvm-svn: 10621
2003-12-28 08:19:41 +00:00
Chris Lattner b697370e97 Add new interface that allows removal of some code from the code generators,
provides for future extensibility, might help the LLVA project avoid having to
hack their own LLI, and provides support required for the experimental Venus
project.

llvm-svn: 10620
2003-12-28 08:19:13 +00:00
Chris Lattner 27dd64242b finegrainify namespacification
minor cleanups

llvm-svn: 10619
2003-12-28 07:59:53 +00:00
Chris Lattner 56db5e98c8 Merging constants can cause further room for improvement. Iterate until
we converge

llvm-svn: 10618
2003-12-28 07:19:08 +00:00
Chris Lattner 5f4c6f55b6 Add a note
llvm-svn: 10617
2003-12-28 04:03:49 +00:00
Chris Lattner 5a0d48290f Factor code out of LLI
llvm-svn: 10616
2003-12-26 06:50:30 +00:00
Chris Lattner af7cc74126 New method
llvm-svn: 10615
2003-12-26 06:50:15 +00:00
Chris Lattner 99958ce7bb Factor out code to ExecutionEngine
llvm-svn: 10614
2003-12-26 06:49:53 +00:00
Chris Lattner e005b754f3 Simplify code
llvm-svn: 10613
2003-12-26 06:36:20 +00:00
Chris Lattner 4a2a8f5821 minor cleanups
llvm-svn: 10612
2003-12-26 06:16:00 +00:00
Chris Lattner 079f4d5e71 * eliminate the -f argument to lli, as it was silly and never useful anyway
* Inline callMain function
* Remove hack from the ExecutionEngines where the 'run' method would automatically
  run atExit functions.  Fixing this requires explicitly calling exit if main returns

llvm-svn: 10611
2003-12-26 06:14:47 +00:00
Chris Lattner 385a90aa6d No longer run atExit functions from run()
rename run to runFunction
Genericize the runFunction code a little bit, though it still stinks

llvm-svn: 10610
2003-12-26 06:13:47 +00:00
Chris Lattner d94296c620 No longer run atExit functions from run()
rename run to runFunction

llvm-svn: 10609
2003-12-26 06:13:05 +00:00
Chris Lattner ad024c3de5 Rename 'run' to 'runFunction' to emphasize that it is usable to run any
function in a module, not just main

llvm-svn: 10608
2003-12-26 06:12:25 +00:00
Chris Lattner 141ea3a052 update comment
llvm-svn: 10607
2003-12-26 05:07:35 +00:00
Alkis Evlogimenos 2e8c984c58 Improve debugging output when choosing a register to spill.
llvm-svn: 10604
2003-12-24 18:53:31 +00:00
Alkis Evlogimenos eeea81483f Do a separate pass to compute spill weights because doing it inline
with live intervals was missing registers that were used before they
were defined (in the arbitrary order live intervals numbers
instructions).

llvm-svn: 10603
2003-12-24 15:44:53 +00:00
Chris Lattner 4688edb69d boog fixed
llvm-svn: 10602
2003-12-23 23:50:31 +00:00
Chris Lattner 547508d542 Hrm is a really nasty ommission. The lack of this destructor was causing abstract
types to never be deleted, manifesting itself as many OpaqueType objects being
leaked.  Whoops.

llvm-svn: 10601
2003-12-23 23:25:21 +00:00
John Criswell 5695ec9f95 Corrected typo.
llvm-svn: 10600
2003-12-23 22:22:10 +00:00
Chris Lattner 87c593b882 Right, fix the problem with invoke instructions, not just call instructions
llvm-svn: 10599
2003-12-23 22:18:36 +00:00
Chris Lattner 601415ed84 Do not delete the type holder until after the call instruction has been
constructed!

llvm-svn: 10598
2003-12-23 20:39:17 +00:00