1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

1418 Commits

Author SHA1 Message Date
Chris Lattner
b03ec62b2b Update comments
llvm-svn: 6785
2003-06-19 17:03:00 +00:00
Chris Lattner
75e1e892a6 Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
llvm-svn: 6774
2003-06-18 19:22:36 +00:00
Chris Lattner
67594b9975 * Add new CallSite::get factory method
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!

llvm-svn: 6758
2003-06-17 22:16:59 +00:00
Chris Lattner
8903500053 Add new op_erase method
llvm-svn: 6757
2003-06-17 22:15:55 +00:00
Chris Lattner
5615d77ee1 Make sure accessor is properly doxygenized. It wants two lines
llvm-svn: 6756
2003-06-17 21:44:51 +00:00
Chris Lattner
260440f727 Add accessor
llvm-svn: 6755
2003-06-17 21:44:31 +00:00
Chris Lattner
8b6107ebf2 Make CallSite's default constructable, copyable, and assignable (explicitly)
llvm-svn: 6749
2003-06-17 19:50:28 +00:00
Chris Lattner
f6973b0f28 Add prototype for the new DAE pass
llvm-svn: 6703
2003-06-16 12:16:52 +00:00
John Criswell
7e0327045f Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.

llvm-svn: 6684
2003-06-11 19:44:51 +00:00
John Criswell
4781723de6 Included assert.h so that the code compiles under newer versions of GCC.
llvm-svn: 6682
2003-06-11 14:01:36 +00:00
Sumant Kowshik
a961b3c083 Made changes suggested by Chris
llvm-svn: 6606
2003-06-04 08:03:57 +00:00
Chris Lattner
9bd4cfa823 Add new setCondition member
llvm-svn: 6603
2003-06-04 05:08:31 +00:00
Chris Lattner
7aaea42f1e Minor cleanups:
* Document the MOTy namespace correctly for doxygen
  * Eliminate usage of the MachineOpCode typedef, which should eventually
    be eliminated entirely.

llvm-svn: 6584
2003-06-03 15:42:53 +00:00
Chris Lattner
846c593142 Remove use of enum
llvm-svn: 6582
2003-06-03 15:41:45 +00:00
Chris Lattner
b563188e45 Add comment for doxygen for namespace
llvm-svn: 6578
2003-06-03 15:30:13 +00:00
Chris Lattner
506de1c176 Minor cleanups:
* LLVM #include should use "", not <>
  * Fix line wrapping
  * Remove noncopyable base class to improve doxygen output

llvm-svn: 6577
2003-06-03 15:30:01 +00:00
Chris Lattner
b1c22980b1 Remove noncopyable base class as it was making the doxygen docs harder to read
llvm-svn: 6576
2003-06-03 15:29:12 +00:00
Chris Lattner
347bd5fb6f Remove noncopyableV base classes, as they were confusing the doxygen documentation,
making it harder to read.

llvm-svn: 6575
2003-06-03 15:28:40 +00:00
Chris Lattner
68f1b02a60 Remove NonCopyable base class to clean up doxygen output
llvm-svn: 6551
2003-06-02 22:07:37 +00:00
Chris Lattner
d94534c537 Hack up MachineCodeEmitter to actually be target independent.
llvm-svn: 6514
2003-06-01 23:20:02 +00:00
Tanya Lattner
eaa01f0821 Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
llvm-svn: 6476
2003-05-31 20:01:37 +00:00
Vikram S. Adve
9625e27034 Made a single common InvalidRegNum = -1.
llvm-svn: 6473
2003-05-31 07:44:07 +00:00
Vikram S. Adve
2c9fc5ded3 Renamed a variable.
llvm-svn: 6472
2003-05-31 07:43:41 +00:00
Vikram S. Adve
c40874054e Support for annul/pred and other future flags on op codes.
Support for recording the physical register for implcit references.

llvm-svn: 6471
2003-05-31 07:43:01 +00:00
Vikram S. Adve
d43c10b583 Added MachineCodeForInstruction object as an argument to
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.

llvm-svn: 6469
2003-05-31 07:41:24 +00:00
Misha Brukman
c5a1e94883 Added saveBBreferences() for BasicBlock resolution.
llvm-svn: 6451
2003-05-30 20:32:45 +00:00
Tanya Lattner
ceefb5002a Sorry, correcting small typo.
llvm-svn: 6433
2003-05-30 15:53:50 +00:00
Tanya Lattner
117f7c0082 Added support for cloning a trace.
llvm-svn: 6430
2003-05-30 15:48:23 +00:00
Sumant Kowshik
f022bd6bf3 Changes to support function pointers
llvm-svn: 6421
2003-05-29 22:43:46 +00:00
Chris Lattner
d3eae6379d Don't require the user to do something like isa<foo>(II->get()). The ->get
should be implicit.

llvm-svn: 6395
2003-05-29 15:08:33 +00:00
Chris Lattner
47842943a5 Doxygenify comments
llvm-svn: 6393
2003-05-29 15:06:40 +00:00
Misha Brukman
ef428e8dca Fixed misspelling and broke a line that was wrapping.
llvm-svn: 6391
2003-05-29 05:00:14 +00:00
Misha Brukman
6e0ae68c05 Defines a pass-through debugging emitter -- it writes to a file for inspection
and to memory to test execution (using a passed-in code emitter).

llvm-svn: 6365
2003-05-27 21:46:56 +00:00
Misha Brukman
2f45624868 Allow allocation of a Sparc TargetMachine.
llvm-svn: 6364
2003-05-27 21:46:07 +00:00
Chris Lattner
593cb8cafe Expose proto for SRoA pass.
llvm-svn: 6348
2003-05-27 15:52:45 +00:00
Vikram S. Adve
73ee5ff6b8 (1) Added special register class containing (for now) %fsr.
Fixed spilling of %fcc[0-3] which are part of %fsr.

(2) Moved some machine-independent reg-class code to class TargetRegInfo
    from SparcReg{Class,}Info.

llvm-svn: 6343
2003-05-27 00:07:13 +00:00
Vikram S. Adve
ab50c0aee5 Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
and related functions and flags.  Fixed several bugs where only
"isDef" was being checked, not "isDefAndUse".

llvm-svn: 6342
2003-05-27 00:06:48 +00:00
Vikram S. Adve
e3af518f95 Make case of GetNumOfInt/FloatArgRegs functions to be use lower case
like all the other functions.

llvm-svn: 6326
2003-05-25 16:02:05 +00:00
Misha Brukman
6ffaa5b188 Reword to remove reference to how things worked in the past.
llvm-svn: 6323
2003-05-24 01:08:43 +00:00
Misha Brukman
151f7484ab NOP instructions are pseudo-instructions. We should not have them explicitly in
our representation, since they are usually special cases of already-existing
instructions.

This abstracts away methods that let a pass create and verify a NOP instruction,
without relying on a `NOP' enum to be in existence in the target's instruction
info descriptor.

llvm-svn: 6319
2003-05-24 00:08:39 +00:00
Chris Lattner
9cdb6fdeaa Remove some cruft, add some methods to allow implementation of bugfix for
Bug: Linker/2003-04-26-NullPtrLinkProblem.ll

llvm-svn: 6313
2003-05-23 20:02:05 +00:00
Chris Lattner
e7c3c48fb4 Minor rewording/cleanups
llvm-svn: 6311
2003-05-23 17:13:15 +00:00
Chris Lattner
aaf60fb906 Remove long dead code
llvm-svn: 6307
2003-05-22 22:00:54 +00:00
Chris Lattner
1358ad783e New method
llvm-svn: 6259
2003-05-21 17:49:08 +00:00
Misha Brukman
825e174bf7 Hopefully, the final fix for `[Pp]ropogate'.
llvm-svn: 6251
2003-05-20 21:01:22 +00:00
Misha Brukman
74cf3f5246 s/convertable/convertible/g
llvm-svn: 6248
2003-05-20 18:45:36 +00:00
Misha Brukman
ecdaad27d6 The plural of `Pass' is Passes, not Pass's.
llvm-svn: 6247
2003-05-20 18:39:06 +00:00
Chris Lattner
435e5592a9 Add support for setjmp/longjmp primitives
Patch checked in for Bill Wendling :)

llvm-svn: 6241
2003-05-17 22:26:33 +00:00
Chris Lattner
0619ee9f39 Add some methods to make type safety a bit easier
llvm-svn: 6198
2003-05-14 17:49:52 +00:00
Chris Lattner
afc685b278 Beef up interface, move getVarInfo out-of-line.
llvm-svn: 6114
2003-05-12 14:23:04 +00:00
Chris Lattner
d06c47110a Expand API for updating live var info.
Expose iterators, not const-iterators.
Rename method that was VERY misleading

llvm-svn: 6108
2003-05-12 03:51:30 +00:00
Chris Lattner
46f2fc75da Make sure that globals are emitted AFTER the passmanager is set up for the JIT,
because the globals may refer to functions that need to be compiled!

llvm-svn: 6105
2003-05-12 02:14:34 +00:00
Joel Stanley
14866a103c Fixed comment.
llvm-svn: 6072
2003-05-10 01:56:42 +00:00
Chris Lattner
c2861218f5 Update out of date comment
llvm-svn: 6070
2003-05-09 22:16:18 +00:00
Chris Lattner
451890e365 Add new method to check to see if a global is available
llvm-svn: 6058
2003-05-09 03:29:03 +00:00
Chris Lattner
3160b1235e Allow const functions
llvm-svn: 6056
2003-05-09 03:27:41 +00:00
Chris Lattner
836e8c1f2a Fix bug in last checkin
llvm-svn: 6055
2003-05-08 22:00:52 +00:00
Chris Lattner
7c8bf633a5 Add new methods for stub generation
llvm-svn: 6053
2003-05-08 21:53:57 +00:00
Chris Lattner
ba9142280a Add a pointersize/endianness safe load routine to match the store routine
llvm-svn: 6042
2003-05-08 16:52:16 +00:00
Chris Lattner
6b02f9dcc3 Initial support for intrinsic functions
llvm-svn: 6033
2003-05-08 03:34:12 +00:00
Chris Lattner
1ea6fe252b Initial checkin for LLVM intrinsic functions
llvm-svn: 6032
2003-05-08 03:33:54 +00:00
Chris Lattner
1c7dcb91d4 Add support for the new VarArgInst instruction, reindent some stuff
llvm-svn: 6028
2003-05-08 02:43:06 +00:00
Chris Lattner
bb2a0102ae Add new VarArgInst class for the va_arg instruction
llvm-svn: 6027
2003-05-08 02:42:50 +00:00
Chris Lattner
d2fae9f27c Add comments, add a vector to keep track of which registers are allocatable
llvm-svn: 6014
2003-05-07 20:07:58 +00:00
Chris Lattner
ff78e3f3e4 Fix memory corruption problem
llvm-svn: 6003
2003-05-06 18:45:02 +00:00
Misha Brukman
0cd9e6371c It's 'separate'. The 'i.e.' is kinda nit-picking, but think of it this way:
'separate' is the one causing you to recompile all your passes anyway.

llvm-svn: 5992
2003-05-03 03:31:06 +00:00
Chris Lattner
bbe1aba425 Remove two fields from TargetData which are target specific.
llvm-svn: 5963
2003-04-26 20:11:09 +00:00
Chris Lattner
97c9c55218 Revert last checkin. Note that PHI nodes can use basic blocks also!
llvm-svn: 5956
2003-04-26 17:38:26 +00:00
Chris Lattner
e833466012 Remove long-dead obsolete cruft
llvm-svn: 5955
2003-04-25 23:39:08 +00:00
Chris Lattner
a550ee6b5d Fix method name type-o
llvm-svn: 5933
2003-04-25 05:23:27 +00:00
Chris Lattner
d9a8a29c6f *** Huge: Make constantexprs be handled correctly, conservatively
llvm-svn: 5923
2003-04-25 02:51:46 +00:00
Chris Lattner
a106185aa1 Default ctor doesn't provide name
llvm-svn: 5921
2003-04-25 02:50:19 +00:00
Chris Lattner
55a4aea29b Add new targetdata ctor to create a targetdata appropriate to the module
llvm-svn: 5902
2003-04-24 19:08:45 +00:00
Chris Lattner
9485cd4e9b Remove support for "targetdata pass ctors"
llvm-svn: 5901
2003-04-24 18:41:30 +00:00
Chris Lattner
9c67ad476b LevelRaise now gets TD from passmanager
llvm-svn: 5897
2003-04-24 18:25:42 +00:00
Chris Lattner
a568a9261a Kill unneccesary &*
llvm-svn: 5870
2003-04-23 16:35:30 +00:00
Chris Lattner
0a9913935f Add stub to create lowerSwitches pass
llvm-svn: 5866
2003-04-23 16:24:19 +00:00
Chris Lattner
85d01fed47 Add information about the module source
llvm-svn: 5837
2003-04-22 18:03:13 +00:00
Chris Lattner
b5fc5522fb Add support for tracking whether a module is 64/32 bit and big/little endian
Also add a moduleID field which can be used for diagnostics

llvm-svn: 5834
2003-04-22 18:02:04 +00:00
Chris Lattner
a20c5c7083 Add prototype to read .a files
llvm-svn: 5821
2003-04-19 21:45:52 +00:00
Chris Lattner
17200af63c Add prototype for new CloneBasicBlock function
llvm-svn: 5804
2003-04-18 03:49:22 +00:00
Chris Lattner
1add946814 Don't force a ConstantPointer to be returned
llvm-svn: 5799
2003-04-17 19:22:47 +00:00
Chris Lattner
bb00f755ed Change the interface to constant expressions to allow automatic folding
llvm-svn: 5793
2003-04-16 22:40:51 +00:00
Chris Lattner
19e35f5a22 Revert modulo scheduling change that should be part of the modulo-sched pass itself,
not part of the Instruction class.

llvm-svn: 5787
2003-04-16 20:30:02 +00:00
Chris Lattner
fa4f750f3e Add new linkage types to support a real frontend
llvm-svn: 5786
2003-04-16 20:28:45 +00:00
Misha Brukman
71aef01e7e Must use std::pair instead of just 'pair'.
llvm-svn: 5767
2003-04-07 00:25:09 +00:00
Guochun Shi
59e61c4ce2 added a function and a member to the TargetSchedInfo class
which is used  by Modulo Scheduling pass

llvm-svn: 5766
2003-04-07 00:00:36 +00:00
Guochun Shi
62370b42ad added some memory for clone function
llvm-svn: 5765
2003-04-06 23:58:44 +00:00
Chris Lattner
190480ecfe Add getAnalysisUsage method
llvm-svn: 5756
2003-03-31 17:29:18 +00:00
Chris Lattner
8696069d85 Add helper method
llvm-svn: 5753
2003-03-21 21:41:02 +00:00
Chris Lattner
cf6eb5232a Add more graph traits specializations for dominator tree nodes
llvm-svn: 5751
2003-03-20 21:21:05 +00:00
Chris Lattner
8c1c878dcb Add new chunk type
llvm-svn: 5747
2003-03-19 20:48:27 +00:00
Chris Lattner
5e5950b7e0 Fix ConstantUInt::isAllOnesValue
llvm-svn: 5734
2003-03-10 22:39:02 +00:00
Chris Lattner
07a7a75331 Extend struct and array constants to support isNullValue
llvm-svn: 5719
2003-03-06 21:02:43 +00:00
Chris Lattner
a1d58f804e Generalize interface a bit
llvm-svn: 5711
2003-03-06 16:50:21 +00:00
Chris Lattner
480507e92d Add new getIncomingValueForBlock method
Relax a bit about constness

llvm-svn: 5709
2003-03-06 16:36:28 +00:00
Chris Lattner
92a316864d Simplify some of the PHI node interfaces
llvm-svn: 5700
2003-03-05 21:15:12 +00:00
Chris Lattner
3e34da7458 Add a few new 'add' methods. Move the iterator around
llvm-svn: 5690
2003-03-03 23:27:52 +00:00
Chris Lattner
a49e96dda5 Change the mem2reg interface to accept a TargetData argument
llvm-svn: 5685
2003-03-03 17:25:18 +00:00
Chris Lattner
41e9bb787e Don't apply type information to loads
llvm-svn: 5683
2003-03-03 17:13:22 +00:00