1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 15:32:52 +01:00
Commit Graph

2926 Commits

Author SHA1 Message Date
Chris Lattner
8044aa8d33 add a new method.
llvm-svn: 20293
2005-02-24 02:37:26 +00:00
Chris Lattner
fb1c36cdb3 Add new method.
llvm-svn: 20287
2005-02-23 16:50:59 +00:00
Chris Lattner
a43f090dcd remove some more dead templates and a dead macro.
llvm-svn: 20279
2005-02-22 23:36:37 +00:00
Chris Lattner
2024801b74 Remove a bunch of dead templates.
llvm-svn: 20275
2005-02-22 23:19:42 +00:00
Jeff Cohen
b83e650f1f Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.
llvm-svn: 20243
2005-02-19 03:01:13 +00:00
Chris Lattner
10f39c27ee Map doubles from integers, not the double itself.
llvm-svn: 20229
2005-02-17 20:16:58 +00:00
Chris Lattner
e7d2b05fb0 Add a new method to make it easy to update graphs.
llvm-svn: 20194
2005-02-15 18:40:55 +00:00
Chris Lattner
c2aa286697 Move private helper function into the only .cpp file that uses it.
llvm-svn: 20169
2005-02-13 23:14:06 +00:00
Chris Lattner
4d06277d43 Do not replace ostream << Module*, only ostream << Module&.
llvm-svn: 20157
2005-02-13 19:15:01 +00:00
Chris Lattner
4d1409f15a Add a new replaceSymbolicValuesWithConcrete method to the SCEV class,
adjust const'ness a bit to be more correct.

llvm-svn: 20145
2005-02-13 04:34:51 +00:00
Chris Lattner
7636e86e7e Add some iterators that should have come in long ago
llvm-svn: 20085
2005-02-09 03:14:29 +00:00
Chris Lattner
a378bec169 Hopefully fix the build on Darwin with GCC 3.3
llvm-svn: 20064
2005-02-07 16:09:01 +00:00
Chris Lattner
9b289130f7 Eliminate the explicit opcode field in ConstantExpr, using the SubclassData
field to hold it instead.  This shrinks memory usage for 176.gcc from
57628728 to 57598144 bytes, a small reduction of about 30K.

llvm-svn: 20047
2005-02-05 02:00:12 +00:00
Chris Lattner
7eb45f89a5 Eliminate the explicit volatile fields in LoadInst and StoreInst. This shrinks
LoadInst from 60 -> 56 bytes and StoreInst from 76 -> 72 bytes.

Note however, that this doesn't actually save any memory on common systems
where 'malloc' returns 8-byte aligned memory, as the saved space is replaced
by useless alignment padding.  :(

llvm-svn: 20046
2005-02-05 01:44:18 +00:00
Chris Lattner
de2bf4ed11 SubclassID is really a small field. Split it into half and let subclasses
play with the unused part.

llvm-svn: 20043
2005-02-05 01:37:44 +00:00
Chris Lattner
0febe1ed81 Add some new members
llvm-svn: 20034
2005-02-04 19:58:06 +00:00
Chris Lattner
820991042d add new member
llvm-svn: 20033
2005-02-04 19:57:57 +00:00
Chris Lattner
22eb2f789e Add a new method.
llvm-svn: 20017
2005-02-03 18:40:05 +00:00
Chris Lattner
3757dc8600 remove dead method
llvm-svn: 19977
2005-02-01 21:37:06 +00:00
Chris Lattner
fdbedbbb45 Switch from using an ilist for uses to using a custom doubly linked list.
This list does not provide the ability to go backwards in the list (its
more of an unordered collection, stored in the shape of a list).

This change means that use iterators are now only forward iterators, not
bidirectional.

This improves the memory usage of use lists from '5 + 4*#use' per value to
'1 + 4*#use'.  While it would be better to reduce the multiplied factor,
I'm not smart enough to do so.  This list also has slightly more efficient
operators for manipulating list nodes (a few less loads/stores), due to not
needing to be able to iterate backwards through the list.

This change reduces the memory footprint required to hold 176.gcc from
66.025M -> 57.687M, a 14% reduction.  It also speeds up the compiler,
7.73% in the case of bytecode loading alone (release build loading 176.gcc).

llvm-svn: 19956
2005-02-01 01:22:06 +00:00
Chris Lattner
ee6bc42f3e * Make some methods more const correct.
* Change the FunctionCalls and AuxFunctionCalls vectors into std::lists.
  This makes many operations on these lists much more natural, and avoids
  *exteremely* expensive copying of DSCallSites (e.g. moving nodes around
  between lists, erasing a node from not the end of the vector, etc).

With a profile build of analyze, this speeds up BU DS from 25.14s to
12.59s on 176.gcc.  I expect that it would help TD even more, but I don't
have data for it.

This effectively eliminates removeIdenticalCalls and children from the
profile, going from 6.53 to 0.27s.

llvm-svn: 19939
2005-01-30 23:51:02 +00:00
Chris Lattner
92b24431d9 Improve spelling
llvm-svn: 19931
2005-01-30 00:13:34 +00:00
Chris Lattner
382abe80a0 Improve conformance with the Misha spelling benchmark suite
llvm-svn: 19930
2005-01-30 00:09:23 +00:00
Chris Lattner
e9c443b500 Adjust to ilist changes.
Based on the ilist changes avoid allocating an entire Use object for the
end of the Use chain.  This saves 8 bytes of memory for each Value allocated
in the program.  For 176.gcc, this reduces us from 69.5M -> 66.0M, a 5.3%
memory savings.

llvm-svn: 19925
2005-01-29 18:43:28 +00:00
Chris Lattner
aa4ae8f5b3 Adjust to ilist changes.
llvm-svn: 19923
2005-01-29 18:41:12 +00:00
Chris Lattner
1367f39eb9 Adjust to changes in ilist
llvm-svn: 19922
2005-01-29 18:41:00 +00:00
Chris Lattner
3a8cb1178e Rename createNode -> createSentinal.
Add a new method, destroySentinal, that is used to delete it (instead of
requiring use of delete.

llvm-svn: 19921
2005-01-29 18:40:19 +00:00
Chris Lattner
3f035ee52d There is no reason to include ostream here, include iosfwd instead.
This file was schizophrenic when it came to representing sizes.  In some
cases it represented them as 'unsigneds', which are not enough for 64-bit
hosts.  In other cases, it represented them as uint64_t's, which are
inefficient for 32-bit hosts.

This patch unifies all of the sizes to use size_t instead.

llvm-svn: 19917
2005-01-29 17:16:07 +00:00
Chris Lattner
41114c90af Fix quotes.
llvm-svn: 19909
2005-01-29 06:29:45 +00:00
Jeff Cohen
8d28a62773 Unbreak VC++ build
llvm-svn: 19908
2005-01-29 06:27:16 +00:00
Chris Lattner
3b3e7f7cc2 Memory used is a delta between memuse at the start of the time and the
memuse at the end, thus it is signed.

llvm-svn: 19904
2005-01-29 05:21:16 +00:00
Chris Lattner
d8266ae3dd Adjust to changes in the User class.
llvm-svn: 19888
2005-01-29 00:33:00 +00:00
Chris Lattner
941fce0bb5 Adjust to changes in the User class. Introduce a new UnaryInstruction
class.

llvm-svn: 19887
2005-01-29 00:32:51 +00:00
Chris Lattner
1567599aae Adjust to user changes.
llvm-svn: 19886
2005-01-29 00:32:00 +00:00
Chris Lattner
6e2367383d Many changes to cope with the User.h changes. Instructions now generally
directly embed their operands.

llvm-svn: 19885
2005-01-29 00:31:36 +00:00
Chris Lattner
91422cffe4 Adjust to User.h changes.
llvm-svn: 19884
2005-01-29 00:30:52 +00:00
Chris Lattner
c6c1106909 Instead of storing operands as std::vector<Use>, just maintain a pointer
and num operands in the User class.  this allows us to embed the operands
directly in the subclasses if possible.  For example, for binary operators
we store the two operands in the derived class.

The has several effects:
  1. it improves locality because the operands and instruction are together
  2. it makes accesses to operands faster (one less load) if you access them
     through the derived class pointer.  For example this:

Value *GetBinaryOperatorOp(BinaryOperator *I, int i) {
  return I->getOperand(i);
}

Was compiled to:

_Z19GetBinaryOperatorOpPN4llvm14BinaryOperatorEi:
        movl    4(%esp), %edx
        movl    8(%esp), %eax
        sall    $4, %eax
        movl    24(%edx), %ecx
        addl    %ecx, %eax
        movl    (%eax), %eax
        ret

and is now compiled to:

_Z19GetBinaryOperatorOpPN4llvm14BinaryOperatorEi:
        movl    8(%esp), %eax
        movl    4(%esp), %edx
        sall    $4, %eax
        addl    %edx, %eax
        movl    44(%eax), %eax
        ret

Accesses through "Instruction*" are unmodified.

   3. This reduces memory consumption (by about 3%) by eliminating 1 word of
      vector overhead and a malloc header on a seperate object.
   4. This speeds up gccas about 10% (both debug and release builds) on
      large things (such as 176.gcc).  For example, it takes a debug build
      from 172.9 -> 155.6s and a release gccas from 67.7 -> 61.8s

llvm-svn: 19883
2005-01-29 00:29:39 +00:00
Chris Lattner
a7ce993d7f Do not clean up if the MappedFile was never used or if the client already
closed the file.  This unbreaks the build.

llvm-svn: 19871
2005-01-28 16:08:23 +00:00
Jeff Cohen
29092b4f26 Get VC++ compiling again
llvm-svn: 19869
2005-01-28 07:29:32 +00:00
Reid Spencer
dab05f06a4 Convert some old C-style casts to C++ style.
llvm-svn: 19868
2005-01-28 07:22:20 +00:00
Chris Lattner
d009d52fe5 Add some methods.
llvm-svn: 19817
2005-01-24 19:55:34 +00:00
Misha Brukman
b2961bf931 primitive' has no a'
llvm-svn: 19808
2005-01-24 16:28:03 +00:00
Chris Lattner
b7a64c49f0 Do not return true from isSized for things without a size (like functions and
labels) even though they are concrete.  This fixes the DSA regressions from
last night.

llvm-svn: 19807
2005-01-24 16:00:52 +00:00
Chris Lattner
766ad3378c This giant patch speeds up Type::isSized(). Before, this would have to search
large nested types over and over again to determine if they are sized or not.
Now, isSized() is able to make snap decisions about all concrete types, which
are a common occurance (and includes all primitives).

On 177.mesa, this speeds up DSE from 39.5s -> 21.3s and GCSE from
13.2s -> 11.3s, reducing gccas time from 80s -> 61s (this is a debug build).

DSE and GCSE are still too slow on this testcase, but this is a simple
improvement.

llvm-svn: 19800
2005-01-24 02:08:34 +00:00
Chris Lattner
65c4c91477 Add an accessor.
llvm-svn: 19794
2005-01-23 22:57:27 +00:00
Chris Lattner
38249d15df Expose more information from register allocation to passes that run after
it.

llvm-svn: 19788
2005-01-23 22:13:36 +00:00
Chris Lattner
519fcf19c2 Give SelectionDAG a TargetLowering instance instead of TM instance.
llvm-svn: 19778
2005-01-23 04:36:06 +00:00
Chris Lattner
18d4178fe6 Remove two dead methods and improve the comments for DiffFilesWithTolerance.
Also, make DiffFilesWithTolerance take sys::Path objects instead of std::strings.

llvm-svn: 19770
2005-01-23 03:30:39 +00:00
Chris Lattner
236f3c69b8 New method.
llvm-svn: 19765
2005-01-23 03:11:38 +00:00
Jeff Cohen
43692e25e9 Fix VC++ complaint
llvm-svn: 19747
2005-01-22 16:30:58 +00:00
Chris Lattner
9ee3bbc844 Keep track of node depth for each node
llvm-svn: 19732
2005-01-21 21:39:38 +00:00
Chris Lattner
bd8da4c80e Apparently destroyFile() now throws an exception. Since this class is
designed to be put on the stack, that's not cool.  Catch and ignore the
exception.

llvm-svn: 19723
2005-01-20 23:31:35 +00:00
Chris Lattner
8e17ad37f2 Eliminate the unimplemented ADDC/SUBB operations, add ADD_PARTS/SUB_PARTS instead.
llvm-svn: 19713
2005-01-20 18:50:39 +00:00
Chris Lattner
7005632b59 Add an accessor for targets that pass args in regs
llvm-svn: 19702
2005-01-19 20:19:58 +00:00
Chris Lattner
2a03fa3a5c Add a new method, described in the comment.
llvm-svn: 19683
2005-01-19 06:53:02 +00:00
Jeff Cohen
a3414ac8c7 Add missing data types for VC++
llvm-svn: 19680
2005-01-19 05:08:31 +00:00
Chris Lattner
4938a7c8a1 Move all data members to the end of the class.
Add a hook to find out how the target handles shift amounts that are out of
range.  Either they are undefined (the default), they mask the shift amount
to the size of the register (X86, Alpha, etc), or they extend the shift (PPC).

This defaults to undefined, which is conservatively correct.

llvm-svn: 19676
2005-01-19 03:36:03 +00:00
Chris Lattner
0697def39d Keep track of the returned value type as well.
llvm-svn: 19669
2005-01-18 19:26:18 +00:00
Chris Lattner
818e819e43 Allow setcc operations to have non-bool types.
llvm-svn: 19655
2005-01-18 02:51:41 +00:00
Chris Lattner
e2fd07b43d Make methods private, add a method.
llvm-svn: 19634
2005-01-17 17:14:43 +00:00
Chris Lattner
783a9d8893 Add methods
llvm-svn: 19627
2005-01-17 02:24:59 +00:00
Chris Lattner
8dd332e4e5 Add comments
Add fields to hold the result type of setcc operations and shift amounts.

llvm-svn: 19618
2005-01-16 23:59:30 +00:00
Chris Lattner
e38f72316d Revamp supported ops. Instead of just being supported or not, we now keep
track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.

llvm-svn: 19609
2005-01-16 07:27:49 +00:00
Reid Spencer
5d058e0ec8 Provide support for HP/UX aCC compiler's variant of hash_map and hash_set
(RogueWave). These are implemented in rw/stdex/hash_map.h and
rw/stdex/hash_set.h on HP/UX.

llvm-svn: 19600
2005-01-16 02:58:39 +00:00
Chris Lattner
605b9a23a2 Improve compatiblity with HPUX on Itanium, patch by Duraid Madina
llvm-svn: 19586
2005-01-16 01:31:31 +00:00
Chris Lattner
dfb3741f64 Improve compatibility with aCC on HPUX. Patch by Duraid Madina
llvm-svn: 19585
2005-01-16 01:22:18 +00:00
Chris Lattner
1d0e1ffe02 Move some information out of LegalizeDAG into the generic Target interface.
llvm-svn: 19581
2005-01-16 01:10:58 +00:00
Chris Lattner
ee53940434 Add some helper methods.
llvm-svn: 19570
2005-01-15 06:52:18 +00:00
Chris Lattner
2f65e8798f Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
llvm-svn: 19568
2005-01-15 06:17:04 +00:00
Chris Lattner
98611ce291 Add a new target-independent code generator flag.
llvm-svn: 19567
2005-01-15 06:00:32 +00:00
Chris Lattner
3df2651c81 Change CopyFromReg to take and produce a chain node, allowing it to be used
with physregs that are not live across the entire block.

llvm-svn: 19560
2005-01-14 22:37:20 +00:00
Chris Lattner
c73bf62770 Start adding some new operators, give IMPLICIT_DEF a chain operand.
llvm-svn: 19558
2005-01-14 22:07:46 +00:00
Chris Lattner
eff86ebbc3 Add a method
llvm-svn: 19540
2005-01-13 23:26:28 +00:00
Chris Lattner
c6f23adb2a Add a method
llvm-svn: 19538
2005-01-13 22:58:50 +00:00
Chris Lattner
7a8788c9ac Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.
llvm-svn: 19535
2005-01-13 20:50:02 +00:00
Chris Lattner
000509e7b0 Add a new node type, add comments.
llvm-svn: 19525
2005-01-13 17:58:35 +00:00
Chris Lattner
92c07c0dba New method.
llvm-svn: 19516
2005-01-12 18:37:33 +00:00
Chris Lattner
f01a5206ea Update comments to indicate CopyFrom/ToReg take physregs as well as vregs.
llvm-svn: 19514
2005-01-12 18:11:36 +00:00
Reid Spencer
710115945a Fix the documentation for executeAndWait so the argument comments are
actually attributed to the arguments by doxygen.

llvm-svn: 19473
2005-01-11 06:37:27 +00:00
Chris Lattner
1b9caa4504 Add MEMSET/MEMCPY/MEMMOVE operations. Fix a really bad bug in the vector
SDNode ctor.

llvm-svn: 19462
2005-01-11 05:56:17 +00:00
Chris Lattner
a942f987c0 Add support for bottom-up graphs.
llvm-svn: 19446
2005-01-11 00:24:59 +00:00
Chris Lattner
9ed0d66c8a Add a helper method.
llvm-svn: 19442
2005-01-10 23:25:04 +00:00
Chris Lattner
a4f7c88eb6 Add support for graph operations, and add a viewGraph method to SelectionDAG.
llvm-svn: 19440
2005-01-10 23:05:53 +00:00
Chris Lattner
3db5a50eb5 Add a helper method
llvm-svn: 19439
2005-01-10 23:05:07 +00:00
Jeff Cohen
8b03a55724 Apply feedback from Chris.
llvm-svn: 19432
2005-01-10 04:23:32 +00:00
Jeff Cohen
a7f1ae5dc0 Apply feed back from Chris:
1. Rename createLoaderPass to CreateProfileLoaderPass
  2. Opt shouldn't use the pass registered in CodeGen.

llvm-svn: 19431
2005-01-10 03:56:27 +00:00
Jeff Cohen
f692cd303d Add last four createXxxPass functions
llvm-svn: 19424
2005-01-09 20:42:52 +00:00
Jeff Cohen
6827f061cc Get lib/Analysis/DataStructure to compile with VC++
llvm-svn: 19412
2005-01-09 04:18:28 +00:00
Chris Lattner
42dd85fc56 Add interfaces to lower varargs and return/frame address intrinsics.
llvm-svn: 19406
2005-01-09 00:00:31 +00:00
Jeff Cohen
3cd512f524 Fix VC++ compilation error
llvm-svn: 19403
2005-01-08 22:44:06 +00:00
Jeff Cohen
6c0db8d863 Add even more missing createXxxPass functions.
llvm-svn: 19402
2005-01-08 22:01:16 +00:00
Chris Lattner
1a057a2b37 Allow array types to have 64-bit size.
llvm-svn: 19394
2005-01-08 20:19:27 +00:00
Jeff Cohen
aef3f70921 Use size_t instead of long to represent memory usage. long is 32 bits
on 64-bit Windows.

llvm-svn: 19393
2005-01-08 20:15:57 +00:00
Chris Lattner
911dca53ee Adjust prototype
llvm-svn: 19387
2005-01-08 19:57:49 +00:00
Chris Lattner
a58b3f48ef Silence VS warnings.
llvm-svn: 19384
2005-01-08 19:52:31 +00:00
Chris Lattner
2a75da3851 Make LowerCallTo more generic and useful.
llvm-svn: 19373
2005-01-08 19:25:39 +00:00
Jeff Cohen
69ed91d1ca Add a few more passes to LinkAllPasses.h
llvm-svn: 19371
2005-01-08 18:15:23 +00:00
Jeff Cohen
ce541ade79 Add more missing createXxxPass functions.
llvm-svn: 19370
2005-01-08 17:21:40 +00:00
Chris Lattner
e4cd40b379 Add operators for FP -> INT conversions and back.
llvm-svn: 19368
2005-01-08 08:08:49 +00:00
Chris Lattner
6182c88b85 Add a new SelectionDAG::RemoveDeadNodes method
llvm-svn: 19344
2005-01-07 21:08:55 +00:00
Jeff Cohen
6b821ecd16 Fix include. Too easy to make mistakes like this on Windows :(
llvm-svn: 19343
2005-01-07 19:21:49 +00:00
Jeff Cohen
a97d6be787 Get new SelectionDAG stuff building with Visual Studio.
llvm-svn: 19340
2005-01-07 15:52:36 +00:00
Jeff Cohen
d8ac84c3f3 But not the identation of THAT line
llvm-svn: 19328
2005-01-07 07:46:40 +00:00
Chris Lattner
c72669973a Complete rewrite of the SelectionDAG class.
llvm-svn: 19327
2005-01-07 07:46:32 +00:00
Chris Lattner
409c6158ad Common base class for SelectionDAG-based instruction selectors.
llvm-svn: 19326
2005-01-07 07:46:03 +00:00
Chris Lattner
c5b77f7009 Initial implementation of the nodes in a SelectionDAG.
llvm-svn: 19325
2005-01-07 07:45:27 +00:00
Chris Lattner
01ed041b94 First draft of a new Target interface
llvm-svn: 19323
2005-01-07 07:44:22 +00:00
Jeff Cohen
8a926637e2 Correct indentation levels
llvm-svn: 19322
2005-01-07 07:44:02 +00:00
Chris Lattner
83deb67391 Add convenience method.
llvm-svn: 19321
2005-01-07 07:40:32 +00:00
Jeff Cohen
c07c54f5b4 Add missing createXxxPass functions
llvm-svn: 19319
2005-01-07 06:57:28 +00:00
Misha Brukman
8b60d3e9df Fix spelling.
llvm-svn: 19317
2005-01-07 06:45:07 +00:00
Jeff Cohen
83039834d7 Update list of passes
llvm-svn: 19316
2005-01-07 06:12:41 +00:00
Jeff Cohen
8d5d10078b Fix return type
llvm-svn: 19314
2005-01-07 05:41:39 +00:00
Jeff Cohen
9bf3df5cc6 Get the #ifdef right on LinkAllPasses.h.
llvm-svn: 19310
2005-01-06 07:01:08 +00:00
Jeff Cohen
c205cf1049 Fix minor mistakes
llvm-svn: 19309
2005-01-06 06:29:42 +00:00
Jeff Cohen
b5bd66d55c Get rid of those pesky tabs...
llvm-svn: 19308
2005-01-06 06:06:35 +00:00
Jeff Cohen
dfe5e3b330 Add project opt to Visual Studio.
llvm-svn: 19307
2005-01-06 06:02:53 +00:00
Jeff Cohen
727aeaf966 Fix incorrect return type.
llvm-svn: 19304
2005-01-06 05:45:45 +00:00
Chris Lattner
d8856e4665 Add required #include
llvm-svn: 19302
2005-01-06 03:25:27 +00:00
Chris Lattner
b5473d7cf3 Add a useful method
llvm-svn: 19301
2005-01-06 03:23:59 +00:00
Chris Lattner
8263ec34fd Add a list end sentinal
llvm-svn: 19299
2005-01-05 22:14:14 +00:00
Chris Lattner
1105e059bb add an assertion
llvm-svn: 19290
2005-01-05 16:27:34 +00:00
Chris Lattner
61bed2fe76 Do not let 'ftostr' return a string that starts with spaces. This allows
the AsmWriter to emit FP constants like 1.0 in normal exponential notation
instead of hex notation.

llvm-svn: 19279
2005-01-04 01:56:28 +00:00
Chris Lattner
a008165daa Add some bits that can be set on instructions. Renumber existing bits so
they are dense.  Add a virtual method that targets can choose to implement.

llvm-svn: 19242
2005-01-02 02:28:31 +00:00
Reid Spencer
37f31d4aa1 Make printing a warning message optional in CheckBytecodeOutputToConsole.
llvm-svn: 19240
2005-01-02 00:10:03 +00:00
Reid Spencer
2d73c4d556 Implement a function to print a warning if bytecode output is to be sent to
a terminal/console.

llvm-svn: 19237
2005-01-01 23:56:20 +00:00
Reid Spencer
ed2f874a8d Add functions for determining if the stdin/out/err is connected to a
console or not.

llvm-svn: 19233
2005-01-01 22:29:26 +00:00
Jeff Cohen
8e751d4f87 Add llvm-as project to Visual Studio
llvm-svn: 19227
2005-01-01 20:51:41 +00:00
Jeff Cohen
1d174640fe Fix bountiful sources of VC++ 'possible loss of data' warnings
llvm-svn: 19224
2005-01-01 18:58:23 +00:00
Reid Spencer
560327d430 Add HAVE_SBRK
llvm-svn: 19222
2005-01-01 18:16:16 +00:00
Chris Lattner
70d0a6155b Add a useful accessor
llvm-svn: 19209
2005-01-01 15:58:55 +00:00
Chris Lattner
7f004e59d8 Add two helper functions.
llvm-svn: 19208
2005-01-01 15:58:41 +00:00
Reid Spencer
53cfb14270 * Fix a bug in an m4 macro that used an incorrect test operator
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
  program or not.
* Correct a warning messages to be a little more specific on what it checks

llvm-svn: 19184
2004-12-29 07:07:57 +00:00
Reid Spencer
b454405d4a For PR351:
* Move implementation of sys::PreventCoreFiles function to this file from
  the now defunct SysConfig abstraction.

llvm-svn: 19159
2004-12-27 06:17:27 +00:00
Reid Spencer
7da5e588d4 For PR351:
SysConf abstraction was pointless because it had a single function in it that
pertained only to the current process. So merge it into the Process abstraction
and remove the files completely.

llvm-svn: 19149
2004-12-27 06:15:14 +00:00
Reid Spencer
38f6b8a1bd For PR351:
* Add checks for sterror and strerror_r functions
* Add check to determine if /dev/zero is needed for allocating RWX memory.

llvm-svn: 19148
2004-12-27 06:15:02 +00:00
Reid Spencer
ff28563c07 For PR351:
* Make sure all headers used by lib/System have checks
* Use "standard" autoconf checks for certain problematic headers
For PR432:
* Resurrect --with-llvmgccdir so a specific llvm-gcc/llvm-g++ installation
  can be specified.

llvm-svn: 19142
2004-12-25 07:31:29 +00:00
Reid Spencer
27dbe5c161 For PR351:
Create new variables LLVM_ON_UNIX and LLVM_ON_WIN32 so we can start getting
rid of reliance upon a symbolic link to switch implementations in lib/System

llvm-svn: 19131
2004-12-24 06:29:05 +00:00
Reid Spencer
9d949160f5 For PR351:
Move non-portable FDHandle class to its only user: lib/Debugger

llvm-svn: 19106
2004-12-22 10:24:43 +00:00
Jeff Cohen
147ad804fa Fix VC++ compilation error
llvm-svn: 19082
2004-12-21 15:40:41 +00:00
Reid Spencer
56bec4165e Remove this file as there are no LLVM users of it any more.
llvm-svn: 19066
2004-12-20 04:35:20 +00:00
Reid Spencer
6abec217dd Remove this file as its not used by anything in LLVM any more. System
dependent behavior is now made through the lib/System interface.

llvm-svn: 19064
2004-12-20 04:25:53 +00:00
Reid Spencer
df938f3108 Remove these files as they are included by nothing in LLVM any more. The
system dependent functionality has been moved to lib/System.

llvm-svn: 19063
2004-12-20 04:24:32 +00:00
Reid Spencer
9bba44181d Remove these headers. The files that used to #include them don't any more
as most system dependent behavior has been moved to lib/System.

llvm-svn: 19062
2004-12-20 04:20:37 +00:00
Reid Spencer
cdaadc1eb5 Add HAVE_SYSCONF
llvm-svn: 19060
2004-12-20 04:08:58 +00:00
Reid Spencer
d244303b05 For PR351:
* Add GetMallocUsage as a wrapper around mallinfo()
* Add GetTotalMemoryUsage to get approximate RSS size
* Add GetTimeUsage to get elapsed/system/user time

llvm-svn: 19051
2004-12-20 00:58:53 +00:00
Reid Spencer
8ef5b3a158 Wrap long lines
llvm-svn: 19050
2004-12-20 00:58:41 +00:00
Reid Spencer
38b0d98740 For PR351:
This file is no longer needed as system dependent functions have been
encapsulated into lib/System.

llvm-svn: 19049
2004-12-20 00:58:25 +00:00
Reid Spencer
944664fd34 For PR351:
Incorporate the abilities of RunPRogramWithTimeout into
sys::Program::ExecuteAndWait so that redirection and a timeout are optionally
supported.

llvm-svn: 19039
2004-12-19 17:59:57 +00:00
Reid Spencer
9bf67b0b3f For PR351:
Turn path instance variables into sys::Path instead of std::string

llvm-svn: 19038
2004-12-19 17:59:45 +00:00
Reid Spencer
e3eb1bb93d For PR351:
Replace RunProgramWithTimeout with an inline function that calls
sys::Program::ExecuteAndWait. This is now just a convenience function.

llvm-svn: 19037
2004-12-19 17:59:33 +00:00
Reid Spencer
97e79cf40a Correct the name of the method. CopyFiles -> CopyFile.
llvm-svn: 19025
2004-12-18 00:14:24 +00:00
Chris Lattner
40cf227b6a Make code fit in 80 cols
llvm-svn: 19016
2004-12-17 17:02:54 +00:00
Reid Spencer
df60327fbe For PR351:
* Make the OutputC and OutputAsm functions work with sys::Path for the output
  file name instead of using std::string.
* Get rid of extraneous "toString" calls.
* Change "removeFile" to sys::Path::destroyFile()

llvm-svn: 19000
2004-12-16 23:01:34 +00:00
Reid Spencer
391b891e42 For PR351:
* Remove the "removeFile" function, now implemented by the
  sys::Path::destroyFile method.
* Make the FileRemove work with a sys::Path instead of a std::string

llvm-svn: 18999
2004-12-16 23:00:05 +00:00
Reid Spencer
22b625f52c Get rid of inclusion of config.h because this file is autoconf'd.
llvm-svn: 18992
2004-12-16 18:47:17 +00:00
Reid Spencer
652f1f43fd Adjust documentation of GetBytecodeLibraryPaths after removing LLVMGCCDIR
support from it.

llvm-svn: 18972
2004-12-15 22:49:18 +00:00
Reid Spencer
bb0cee77f8 Remove LLVMGCCDIR.
llvm-svn: 18971
2004-12-15 22:28:35 +00:00
Reid Spencer
9d3a8ad836 Fix a file overwrite bug in llvm-ar introduced by changes to
createTemporaryFile semantics where it doesn't create a fully unique name
if the basename doesn't exist. This functionality is now optionally
provided by the boolean reuse_current parameter to createTemporaryFile and
makeUnique. The default values differ because of the way these functions
are used in LLVM.

llvm-svn: 18961
2004-12-15 08:32:45 +00:00
Chris Lattner
78b1a2c137 Make the AliasAnalysis interface more precise for common cases.
llvm-svn: 18956
2004-12-15 07:21:39 +00:00
Reid Spencer
8fe73b4d39 For PR351:
* Fix implementation and documentation about LLVMGCCDIR/bytecode-libs
* Add the makeUnique method, replacement for getUniqueFilename in Support.
* Add the sys::CopyFile function, replacement for CopyFile in Support.
* Move GetLLVMConfigDir() into generic code area since its generic.

llvm-svn: 18947
2004-12-15 01:50:13 +00:00
Reid Spencer
c13933032d For PR351:
Remove getUniqueFilename and CopyFile. These are now implemented by
sys::Path::makeUnique and sys::CopyFile, respectively.

llvm-svn: 18946
2004-12-15 01:46:54 +00:00
Reid Spencer
8461ddd8c9 Add some system specific functions we use
llvm-svn: 18945
2004-12-15 01:41:56 +00:00
Jeff Cohen
cc0adb0271 Implement Win32 Path::getStatusInfo(), TimeValue::toString()
llvm-svn: 18930
2004-12-14 05:26:43 +00:00
Reid Spencer
165388298b For PR351:
* Fix commentary, wrap lines, etc.
* Add an environment pointer to the ExecuteAndWait function.

llvm-svn: 18926
2004-12-14 04:17:12 +00:00
Reid Spencer
a0f6155809 For PR351:
* isExecutable -> sys::Path::executable()
* Adjust interface of FindExecutable to return a sys::Path

llvm-svn: 18917
2004-12-13 23:40:08 +00:00
Reid Spencer
3b88b3427b For PR351:
Remove AllocateRWXMemory as it is not used any more in LLVM. The function
has been replaced with sys::Memory::AllocateRWX several months ago.

llvm-svn: 18912
2004-12-13 20:14:30 +00:00
Reid Spencer
df7f779d7d For PR351:
Remove the MakeFileReadable and MakeFileExecutable functions which are no
longer present in LLVM. They have been replaced with the sys::Path methods
makeReadable and makeExecutable, respectively.

llvm-svn: 18910
2004-12-13 20:08:14 +00:00
Reid Spencer
5a18b63eb5 For PR351:
Implement three new functions to allow setting access/permission bits on
the file referenced by a path. The makeReadable and makeExecutable methods
replace the FileUtilities MakeFileReadable and MakeFileExecutable
functions. The makeWritable function is new and provided for consistency
since Path has a writable() method.

llvm-svn: 18907
2004-12-13 19:59:50 +00:00
Chris Lattner
79c3a57af7 Change this method to return ulong, not uint, for 64-bit targets.
llvm-svn: 18906
2004-12-13 19:48:51 +00:00
Reid Spencer
7dfa723d34 For PR351:
The ReadFileIntoAddressSpace and UnmapFileFromAddressSpace functions are no
longer used by LLVM. Remove them. Replacement functionality for both
functions is now encapsulated in the sys::MappedFile class.

llvm-svn: 18903
2004-12-13 18:28:59 +00:00
Reid Spencer
dd50ab43d0 For PR351: \
The getFileTimestamp and getFileSize functions have been removed from  \
FileUtilities.{h,cpp}. They are replaced by Path::getTimestamp and  \
Path::getSize,respectively.

llvm-svn: 18892
2004-12-13 17:01:53 +00:00
Reid Spencer
fe4882b78e Added a size_type typedef to LLVM containers to make Visual Studio shut up
(and possibly to make LLVM more x86 64bit friendly).

llvm-svn: 18891
2004-12-13 16:28:53 +00:00
Reid Spencer
f7cd830e8d Add a convenience function for clearing the two global areas.
Patch contributed by Morten Ofsted.

llvm-svn: 18890
2004-12-13 16:22:32 +00:00
Reid Spencer
24cf14cef6 * Add a std::ostream inserter for sys::Path
* Correct the std::string constructor to take a const reference.

llvm-svn: 18877
2004-12-13 06:57:15 +00:00
Reid Spencer
6d4e664b79 Remove commented out functions that have been replaced with lib/System
functionality.

llvm-svn: 18868
2004-12-13 03:15:47 +00:00
Reid Spencer
1e51643433 Make the size() method const
llvm-svn: 18852
2004-12-13 02:58:51 +00:00
Reid Spencer
285b0e4cda For PR351:\
* Modify file reading to use sys::MappedFile \
* Use sys::Path instead of std::string

llvm-svn: 18851
2004-12-13 02:58:40 +00:00
Reid Spencer
bb21c8cf16 Add LLVMGCCDIR for path lookup
llvm-svn: 18850
2004-12-13 02:58:28 +00:00
Reid Spencer
cc8a470ea6 Make the OpenAndLoad functions have an ErrorMessage argument.
llvm-svn: 18849
2004-12-13 02:58:16 +00:00
Reid Spencer
5be572d3b4 Completely rewrite the interface to be class based
llvm-svn: 18848
2004-12-13 02:58:05 +00:00
Reid Spencer
b4cb7f30c3 For PR351:\
* Consolidate path retrieval into just two methods. \
* Add FindLibrary as a convenience function. \
* Add isDynamicLibrary for testing for dynamic libs. \
* Make toString constant and reference clean.

llvm-svn: 18847
2004-12-13 02:57:53 +00:00
Reid Spencer
71746efbf5 For PR351:Remove the file type checking methods (now in sys::Path)
llvm-svn: 18846
2004-12-13 02:57:41 +00:00
Reid Spencer
e2af9dc813 Path::get -> Path::toString
llvm-svn: 18785
2004-12-11 00:14:15 +00:00
Chris Lattner
d104c10aa5 Add missing accessor.
llvm-svn: 18775
2004-12-10 20:35:47 +00:00
Chris Lattner
a856de4013 New prototype
llvm-svn: 18751
2004-12-10 07:55:01 +00:00
Jeff Cohen
2d53514c83 Fix residual Visual Studio build problems
llvm-svn: 18688
2004-12-09 05:51:11 +00:00
Chris Lattner
8cb5c70203 Move method out of line
llvm-svn: 18666
2004-12-08 21:04:10 +00:00
Chris Lattner
5cc8fcda9e Define the pointer hash struct before the string one, to improve compatibility
with ICC.  Patch contributed by Bjørn Wennberg.

llvm-svn: 18663
2004-12-08 20:59:18 +00:00
Alkis Evlogimenos
f57d029464 Use getOperand() and remove getElementAt() function.
llvm-svn: 18612
2004-12-08 03:45:20 +00:00
Reid Spencer
8db74faeb6 For PR387:\
Add runPass methods to remove -Woverloaded-virtual warnings are not \
present and circumvent possible inheritance bugs.

llvm-svn: 18600
2004-12-07 08:11:11 +00:00
Reid Spencer
d50c86f078 For PR387:\
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual

llvm-svn: 18589
2004-12-07 04:03:45 +00:00
Alkis Evlogimenos
806fb993fe Add accessors for Constants in a ConstantStruct.
llvm-svn: 18550
2004-12-05 20:09:18 +00:00
Reid Spencer
6b2113de16 Fix PR139: \
Add support for ordered linking with the LinkItems function

llvm-svn: 18546
2004-12-05 19:14:43 +00:00
Chris Lattner
cdcd7126f1 Add a new method
llvm-svn: 18531
2004-12-05 06:43:27 +00:00
Chris Lattner
f9f7c0c5d8 Fix typeo
llvm-svn: 18530
2004-12-05 06:33:15 +00:00
Reid Spencer
fc2bf75791 Make a const method const
llvm-svn: 18524
2004-12-05 05:17:34 +00:00
Chris Lattner
e2b8d886c9 Move the strip pass from Scalar to IPO lib
llvm-svn: 18438
2004-12-02 21:24:19 +00:00
Chris Lattner
6adc42af75 Remove dead field
llvm-svn: 18412
2004-12-02 02:35:38 +00:00
Chris Lattner
e561ef0261 Add method
llvm-svn: 18368
2004-11-30 02:51:53 +00:00
Reid Spencer
fea77c07f6 Add in some methods for use by the JIT. LoadLibraryPermanently brings the
library into the address space permanently. SearchForAddressOfSymbol looks
in all previously permanently loaded libraries and any currently open
libraries for a symbol, instead of just one library like GetAddressOfSymbol

llvm-svn: 18354
2004-11-29 13:27:56 +00:00
Reid Spencer
71ebca79cb Changes resulting from AC_LIB_LTDL usage.
llvm-svn: 18350
2004-11-29 12:36:16 +00:00
Reid Spencer
dba402cd23 Don't include ltdl.h any more. Its nested in lib/System now.
llvm-svn: 18347
2004-11-29 12:12:11 +00:00
Reid Spencer
19f0bd4d59 Make the default constructor cause the program's symbols to be loaded as
if it was a dynamic library.

llvm-svn: 18340
2004-11-29 10:38:54 +00:00
Chris Lattner
c57746a1e0 Change interface to this method a bit
llvm-svn: 18274
2004-11-27 18:37:04 +00:00
Chris Lattner
ab36efe42b Add a new interface
llvm-svn: 18266
2004-11-26 21:36:25 +00:00
Reid Spencer
6bfb910955 Remove HAVE_BZLIB and HAVE_BZIP2. We always have bzip2 now.
llvm-svn: 18254
2004-11-25 20:21:53 +00:00
Reid Spencer
0fd67aa7c9 Restrict the interface to not allow algorithm selection
llvm-svn: 18248
2004-11-25 19:37:42 +00:00
Chris Lattner
70c19defde Fix the FIXME, nuke the JIT specific forceCompilationOf method.
llvm-svn: 18131
2004-11-22 21:54:35 +00:00
Chris Lattner
39b616869e These methods are now obsolete
llvm-svn: 18128
2004-11-22 21:48:01 +00:00
Chris Lattner
f14eff8940 Add a new debug intrinsic parent class. Patch contributed by Michael
McCracken, thanks!

llvm-svn: 18107
2004-11-22 17:18:05 +00:00
Chris Lattner
2dbdf38808 This is the proper code for this method, thanks to Reid for getting CVS working
again.

llvm-svn: 18103
2004-11-22 16:54:54 +00:00
John Criswell
fbf58400ce Moved into the poolalloc tree.
llvm-svn: 18102
2004-11-22 16:32:35 +00:00
Reid Spencer
7aa1c0b8fb Implement a missing function called by JIT/Emitter.cpp but never defined.
NOTE: Its not clear that this implementation is correct.
CHRIS: Please review this!
llvm-svn: 18101
2004-11-22 12:38:36 +00:00
Chris Lattner
ed19f4fe7d Fix a warning
llvm-svn: 18083
2004-11-21 04:42:32 +00:00
Chris Lattner
3765dc4ebd Add another bit, to make the JIT a bit more efficient.
llvm-svn: 18077
2004-11-21 03:27:13 +00:00
Chris Lattner
6d1fb33657 ignore generated files
llvm-svn: 18073
2004-11-21 00:01:54 +00:00
Chris Lattner
32fb560b34 Ignore generated files
llvm-svn: 18071
2004-11-21 00:00:04 +00:00
Chris Lattner
34db55fe83 Ignore files
llvm-svn: 18070
2004-11-20 23:58:43 +00:00
Chris Lattner
53ea58d4c1 Change this interface a bit
llvm-svn: 18063
2004-11-20 23:52:43 +00:00
Chris Lattner
ebb79ba538 Add new methods that a target should implement
llvm-svn: 18060
2004-11-20 23:50:02 +00:00
Chris Lattner
62d04b04f0 Add missing #include
llvm-svn: 18058
2004-11-20 23:40:54 +00:00
Reid Spencer
f381e95cc6 Distinguish between BSD4.4 and SVR4 symbol tables
llvm-svn: 18044
2004-11-20 07:29:40 +00:00
Chris Lattner
c0599d0f14 Add getCurrentPCOffset() and addRelocation() methods.
llvm-svn: 18034
2004-11-20 03:44:39 +00:00
Chris Lattner
20654daf37 Add the getRelocationType method that I forgot
llvm-svn: 18033
2004-11-20 03:43:50 +00:00
Chris Lattner
bae6c00a15 Allow targets to implement relocation support.
llvm-svn: 18032
2004-11-20 03:43:27 +00:00
Chris Lattner
674e29ccde New file
llvm-svn: 18029
2004-11-20 03:05:50 +00:00
Chris Lattner
6e17c0f19e Remove dead #include
llvm-svn: 18027
2004-11-20 02:17:03 +00:00
Chris Lattner
f9b6c00d88 External symbols are const char*'s now, change this to match.
llvm-svn: 18008
2004-11-19 20:56:22 +00:00
Chris Lattner
2a37cb2ef9 Instead of storing std::string's for ExternalSymbol references, rely on the
fact that all ExternalSymbols are actually string literals with static storage.
Thus we don't have to do anything special to hold them and we certainly don't
have to copy string data around.

llvm-svn: 18007
2004-11-19 20:46:15 +00:00
Chris Lattner
783a12cad5 Add static functions to clear singleton maps. Patch contributed by
Morten Ofstad!

llvm-svn: 17994
2004-11-19 16:39:04 +00:00
Chris Lattner
da8484d5d3 These methods are long gone, ConstantPointerRef is dead.
llvm-svn: 17993
2004-11-19 16:25:42 +00:00
Reid Spencer
a181a37bb4 Make findModulesDefiningSymbols modify its symbols argument so we can \
eliminate symbols defined by the archive efficiently

llvm-svn: 17976
2004-11-19 03:18:22 +00:00
Chris Lattner
1239b47b6e Add support for llvm.dbg.stoppoint
llvm-svn: 17969
2004-11-18 21:41:16 +00:00
Chris Lattner
37651b157b Update comments, now that CPR's are gone, inline the methods
llvm-svn: 17957
2004-11-18 17:46:57 +00:00
Reid Spencer
ef9391e69b Include ltdl.h if we have it.
llvm-svn: 17952
2004-11-18 09:50:00 +00:00
Reid Spencer
058e3d2b5e Add checks for HAVE_LTDL_H and HAVE_LT_DLOPEN
llvm-svn: 17951
2004-11-18 09:49:13 +00:00
Reid Spencer
c1871a4eaa Dynamic Library abstraction. This makes the abstraction of a single dynamic
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.

llvm-svn: 17940
2004-11-18 04:33:39 +00:00
Alkis Evlogimenos
b9e38d3cc5 Make ReturnInst accept a value of type void as the return value. The
ReturnInst constructed is the same as if NULL was passed instead of
the void value.

llvm-svn: 17923
2004-11-17 21:02:25 +00:00
Chris Lattner
fd98a3195a New prototype for lowerpacked pass.
llvm-svn: 17915
2004-11-17 18:01:49 +00:00
Reid Spencer
ee379f96f0 Make the comment for LinkFiles a bit more precise and easily understood.
llvm-svn: 17899
2004-11-16 16:46:22 +00:00
Reid Spencer
cdc0b6d962 Standardize on 'class' instead of 'struct'. Gets rid of warnings in VC++
Patch contributed by Jeff Cohen.

llvm-svn: 17889
2004-11-16 06:58:55 +00:00
Reid Spencer
032a3cc7de Per code review:\
* Use STL names for STL operations \
* Do not have Archive doing symbol table printing \
* Avoid compiler warnings about only having private constructors.

llvm-svn: 17881
2004-11-16 06:46:55 +00:00
Chris Lattner
7a2de9f653 Document this as clobbering the second arg, make the second arg be non-const
llvm-svn: 17879
2004-11-16 06:41:21 +00:00
Reid Spencer
bcef3fef1d Per code review:
* get rid of (void) construct in function declarations
* make toString a const member
* add a default implementation of toString for Win32

llvm-svn: 17873
2004-11-16 06:22:17 +00:00
Reid Spencer
4031ff44bb Per code review:
* Clean up the StatusInfo constructor to construct all members and give
  them reasonable values.
* Get rid of the Vector typedef and make the interface to
  getDirectoryContent use a std::set instead of a std::vector so the dir
  content is sorted.
* Make the getStatusInfo method const and not return a useless boolean.

llvm-svn: 17872
2004-11-16 06:15:19 +00:00
Reid Spencer
fdf8ac8d29 Per code review:
*Implement/Document the cl::extrahelp feature instead of the MoreHelp ptr.

llvm-svn: 17871
2004-11-16 06:11:52 +00:00
Chris Lattner
40539fe637 Add an accessor
llvm-svn: 17865
2004-11-15 23:20:19 +00:00
Reid Spencer
625a480806 Remove useless/confusing namespace qualifier.
llvm-svn: 17852
2004-11-15 21:27:05 +00:00
Chris Lattner
60e159a806 Warning fixes for VC++, contributed by Morten Ofstad!
llvm-svn: 17831
2004-11-15 19:02:35 +00:00
Reid Spencer
bfc924424d Changes necessary to enable linking of archives without LLVM symbol tables.
llvm-svn: 17811
2004-11-15 01:20:11 +00:00
Reid Spencer
32924c8d62 Changes per code review:
* Document StatusInfo fields better
* No lines > 80 cols
* Have getStatusInfo return bool if file doesn't exist
* Don't document in detail how temporary file name should be created.

llvm-svn: 17808
2004-11-14 23:29:00 +00:00
Reid Spencer
e902694309 *Make naming convention consistent.*Add convertion to/from Unix Epoch time.*Add ability to convert to readable string.
llvm-svn: 17762
2004-11-14 21:53:55 +00:00
Reid Spencer
73e4677779 Make the remove*OnSignal functions deal with Paths not strings
llvm-svn: 17761
2004-11-14 21:53:09 +00:00
Reid Spencer
63a08a4cef *Put the StatusInfo type in the right section. *Provide the ability to rename a file.*Provide the ability to get/set stat(2) information.*Provide the ability to identify LLVM file types.
llvm-svn: 17760
2004-11-14 21:52:22 +00:00
Reid Spencer
858bc78223 Allow explicit closing of the MappedFile, before destruction
llvm-svn: 17759
2004-11-14 21:51:36 +00:00
Reid Spencer
df6952563a Linker is its own module now. Moved to include/llvm/Linker.h
llvm-svn: 17758
2004-11-14 21:50:50 +00:00
Reid Spencer
7622437947 Add higher level interface to simplify use of Compressor
llvm-svn: 17757
2004-11-14 21:50:00 +00:00
Reid Spencer
2505c4beff Add the MoreHelp function pointer. If non-null, this specifies a function to be called to print out additional help information
llvm-svn: 17756
2004-11-14 21:49:13 +00:00
Reid Spencer
0635c876ce Remove ReadArchiveFile (functionality moved to Archive.h). Add an alternate form for GetBytecodeSymbols.
llvm-svn: 17755
2004-11-14 21:48:27 +00:00
Reid Spencer
760e7993c4 Complete rewrite to get first working version.
llvm-svn: 17754
2004-11-14 21:47:41 +00:00
Reid Spencer
9008154865 Interface to Linker (revised/expanded from Support/Linker.h)
llvm-svn: 17752
2004-11-14 21:46:08 +00:00
Misha Brukman
c7cdc44158 Add GhostLinkage for marking functions before they're fully materialized
llvm-svn: 17747
2004-11-14 21:02:28 +00:00
Reid Spencer
2f680d5cfd Moved from include/llvm/Support/Linker.h
llvm-svn: 17743
2004-11-14 20:21:58 +00:00
Chris Lattner
bbd13a8e4e Add useful method, minor cleanups
llvm-svn: 17715
2004-11-13 23:28:10 +00:00
Chris Lattner
1d52a24587 Add support for shifts
llvm-svn: 17702
2004-11-13 19:32:45 +00:00
Reid Spencer
97f373cf98 Provide conversion from posix time.
llvm-svn: 17656
2004-11-09 20:29:10 +00:00
Reid Spencer
28ceb24005 * Implement getStatusInfo for getting stat(2) like information
* Implement createTemporaryFile for mkstemp(3) functionality
* Fix isBytecodeFile to accept llvc magic # (compressed) as bytecode.

llvm-svn: 17654
2004-11-09 20:26:31 +00:00
Misha Brukman
eb1d9f84eb Remove extra spaces
llvm-svn: 17629
2004-11-08 19:01:03 +00:00
Reid Spencer
941a856338 Make writing compressed bytecode the default.
llvm-svn: 17625
2004-11-08 17:35:34 +00:00
Misha Brukman
14f6ade91b Add method to delete machine code generated for a Function
llvm-svn: 17600
2004-11-07 23:58:02 +00:00
Reid Spencer
0c3d88e887 Make compression the default on writing.
llvm-svn: 17577
2004-11-07 18:18:11 +00:00
Reid Spencer
a68b503c6e * Provide option for specifying bytecode compression
* Enabled bytecode compression by default.

llvm-svn: 17563
2004-11-07 05:30:43 +00:00
Chris Lattner
6807c1681b This is V9 specific stuff
llvm-svn: 17546
2004-11-07 00:42:29 +00:00
Reid Spencer
a81994464f Add support for compressed bytecode
llvm-svn: 17535
2004-11-06 23:17:23 +00:00
Reid Spencer
cb8f378199 Provide an interface for getting just the external symbols from a
Bytecode file.

llvm-svn: 17502
2004-11-06 08:54:47 +00:00
Reid Spencer
91df2e92d3 Deprecate constructors we don't want users to use.
Temporarily comment out two interface methods we might not implement.

llvm-svn: 17501
2004-11-06 08:53:59 +00:00
Reid Spencer
7090e6a875 Stop propagating method names that violate the coding standard
llvm-svn: 17498
2004-11-05 22:15:36 +00:00
Reid Spencer
a23368c9ec Go ahead and trust the client not to mess with the ModuleProvider* returned
by the findModuleContainingSymbol method.

llvm-svn: 17491
2004-11-05 18:48:02 +00:00
Reid Spencer
a6e5980b7a * Documentation corrections (thanks to Chris for nit-picking)
* Remove dead typedefs.
* Redefine how getAllPaths treats its argument.

llvm-svn: 17489
2004-11-05 17:44:26 +00:00
Reid Spencer
91df40213f First version of the interface to Archive files. This introduces the
llvm::Archive class to provide for reading, writing, indexing and search
functions on standard ar(1) format files that contain bytecode modules.

Implementation to follow.

llvm-svn: 17487
2004-11-05 09:19:17 +00:00
Chris Lattner
39cfd1e916 defining __STDC_LIMIT_MACROS on the command line is not really necessary
for Visual Studio, and is a bit of a pain when you want to include the
LLVM headers from your own project, so I moved the check a bit down into
the Unix case to avoid the hassle... Here is a patch

Patch by Morten Ofstad!

llvm-svn: 17450
2004-11-03 17:15:45 +00:00
Chris Lattner
53a16841da Fix typo, contributed by Henrik Bach!
llvm-svn: 17434
2004-11-02 17:31:02 +00:00
Chris Lattner
5242fcc785 Add an assertion and a method
llvm-svn: 17353
2004-10-30 04:03:47 +00:00
Misha Brukman
c6897a03b6 Fix grammar (i.e.)
llvm-svn: 17343
2004-10-29 19:20:42 +00:00
Misha Brukman
45881be596 The Alpha (tm) intrinsics aren't even being used
llvm-svn: 17341
2004-10-29 18:43:43 +00:00
John Criswell
52e32cacff Commented out the _Alloc_traits specialization entirely, as it is only
supported by specific versions of GCC.

It is left in place in case anyone wants to updated it for GCC 3.4 or
re-use it for earlier versions of GCC where it works.

llvm-svn: 17324
2004-10-28 18:21:41 +00:00
John Criswell
5d67a2e428 Only add the _Alloc_traits specialization in if we're compiling for
Linux and not compiling for Sparc.
This is still probably not correct, or portable, but it'll do for now.

llvm-svn: 17321
2004-10-28 17:31:46 +00:00
Brian Gaeke
e2b2076b46 Regenerated after fixing typo.
llvm-svn: 17303
2004-10-28 05:06:45 +00:00
Reid Spencer
6fb57becbd Add the HAVE_RAND48 define.
llvm-svn: 17285
2004-10-27 23:09:31 +00:00
Chris Lattner
dd0094e4ed Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++.  Patch contributed by Morten Ofstad!

llvm-svn: 17281
2004-10-27 16:14:51 +00:00
Nate Begeman
2a64d462d9 Move destructor out of line to avoid vtable emission in every file that includes the header. Thanks to sabre.
llvm-svn: 17278
2004-10-27 06:00:53 +00:00
Nate Begeman
a6fafb1f64 Fix the build by eliminating some more dead code. That'll learn me not to listen to Reid
llvm-svn: 17275
2004-10-27 05:44:23 +00:00
Nate Begeman
3a55e171f1 Remove dead data member in MRegisterInfo class. Thanks sabre!
llvm-svn: 17274
2004-10-27 04:51:58 +00:00
Misha Brukman
6d5e98bb06 Wrap comments at 80 cols
llvm-svn: 17261
2004-10-26 18:00:03 +00:00
Chris Lattner
85c502ec31 Fix header
llvm-svn: 17259
2004-10-26 16:19:57 +00:00
Misha Brukman
4c1e87f2d9 * DataTypesFix.h moved to AIXDataTypesFix.h
* Condition #inclusion of AIXDataTypes.h on the _AIX preprocessor symbol to
  prevent extra I/O on non-AIX systems.  Thus, no #ifdef in AIXDataTypes.h

llvm-svn: 17257
2004-10-26 16:15:18 +00:00
Chris Lattner
fabd2aa5b5 Remove the unused MachineBasicBlock2IndexFunctor class.
Move method bodies that depend on <algorithm> out of line to
MachineBasicBlock.cpp.  Patch contributed by Morten Ofstad!

llvm-svn: 17252
2004-10-26 15:41:13 +00:00
Nate Begeman
4363d6203f Remove method getRegClass from MRegisterInfo, as it is no longer used.
llvm-svn: 17243
2004-10-26 06:00:31 +00:00
Chris Lattner
94f00d243c Remove a dead class. Thanks to Morten Ofstad for pointing this out.
llvm-svn: 17222
2004-10-25 19:07:43 +00:00