Commit Graph

2161 Commits

Author SHA1 Message Date
Alkis Evlogimenos 4837f6c0d9 Another API change to MRegisterInfo::foldMemoryOperand. Instead of a
MachineBasicBlock::iterator take a MachineInstr*.

llvm-svn: 12392
2004-03-14 20:14:27 +00:00
Chris Lattner f624c99379 Rename createLoopExtractorPass to createSingleLoopExtractorPass
Doxygenify

llvm-svn: 12389
2004-03-14 20:00:37 +00:00
Alkis Evlogimenos 48da2f8a6d Change MRegisterInfo::foldMemoryOperand to return the folded
instruction to make the API more flexible.

llvm-svn: 12386
2004-03-14 07:19:51 +00:00
Chris Lattner 6d24a7ce8a Move loop extractor to the IPO header
llvm-svn: 12374
2004-03-14 02:36:34 +00:00
Chris Lattner 96a7fbd503 Remove dead file
llvm-svn: 12371
2004-03-14 02:13:57 +00:00
Chris Lattner 3b18771d9f Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.
llvm-svn: 12367
2004-03-14 02:13:07 +00:00
Chris Lattner 071a5e5649 Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
Intrinsic::va*.  This avoid conflicting with macros in the stdlib.h file.

llvm-svn: 12356
2004-03-13 00:24:00 +00:00
Chris Lattner 6e8d083a8b Fix PR266: Make Module Not Inherit From Annotable
llvm-svn: 12339
2004-03-12 19:51:16 +00:00
Misha Brukman 386ef6dec8 Add AnalysisUsage::addRequiredTransitive() to keep analysis info alive for
future queries by clients.

llvm-svn: 12329
2004-03-12 06:13:15 +00:00
Chris Lattner 26cca63a7e Add the visitSelectInst visitor method
llvm-svn: 12312
2004-03-12 05:51:22 +00:00
Chris Lattner 5dec674075 Add the SelectInst class
llvm-svn: 12311
2004-03-12 05:51:05 +00:00
Chris Lattner 439b128ce7 Add the Instruction::Select enum
llvm-svn: 12310
2004-03-12 05:50:53 +00:00
Chris Lattner e75c0c0eac Add support for select constant exprs
llvm-svn: 12309
2004-03-12 05:50:39 +00:00
Misha Brukman 5c24fb6b48 Move function implementations to a .cpp file, avoid #including <cstdlib> here.
llvm-svn: 12296
2004-03-11 23:52:03 +00:00
Misha Brukman d8abb840f2 Forward-declare templates for fix compilation when Argument.h is included first.
llvm-svn: 12295
2004-03-11 23:42:24 +00:00
Misha Brukman 94eeb90cd4 Doxygenified and cleand up comments.
llvm-svn: 12294
2004-03-11 23:08:20 +00:00
Chris Lattner f53977cd42 new method
llvm-svn: 12263
2004-03-09 19:36:59 +00:00
Chris Lattner d6eda1a9ef Switch over to using edge profile information as the basic profiling representation,
from basic block counts.

llvm-svn: 12241
2004-03-08 22:03:45 +00:00
Chris Lattner 755ffeb292 We don't want to make this a pure interface, as it makes all implementors
bear the burden of implementing what will be all exactly the same methods.
They just want to provide the information in differing ways.

llvm-svn: 12239
2004-03-08 21:30:18 +00:00
Chris Lattner b08e4653cb Rearrange some methods, implement the dominates method
llvm-svn: 12237
2004-03-08 21:07:12 +00:00
Chris Lattner 63b49d0574 Import the trace class from the reoptimizer
llvm-svn: 12236
2004-03-08 20:57:27 +00:00
Chris Lattner 03745f3e80 Add the ability to put an annotation at the end of a basic block as well.
llvm-svn: 12230
2004-03-08 18:51:05 +00:00
Chris Lattner 178608ee2b Add support for representing edge counts
llvm-svn: 12228
2004-03-08 18:19:37 +00:00
Chris Lattner 8301a593a9 Remove Module::mutateConstantPointerRef, which is now thankfully dead!
llvm-svn: 12215
2004-03-08 06:15:33 +00:00
Chris Lattner 16e27f3af3 remove *THANKFULLY* dead method
llvm-svn: 12213
2004-03-08 06:10:32 +00:00
Chris Lattner 1f607f2f2e Add prototype
llvm-svn: 12194
2004-03-07 21:30:08 +00:00
Brian Gaeke 8351d8c1a8 make -print-machineinstrs work for both SparcV9 and X86
llvm-svn: 12122
2004-03-04 19:16:23 +00:00
Alkis Evlogimenos 8a4159708b Fix bug introduced by yesterday's changes.
llvm-svn: 12119
2004-03-04 18:02:07 +00:00
Chris Lattner 91be5332b2 Rename method, add new method
llvm-svn: 12103
2004-03-03 22:00:20 +00:00
Chris Lattner 06bd20676d De-inline methods
llvm-svn: 12101
2004-03-03 20:55:15 +00:00
Brian Gaeke 015972103d Make MachineOperand's value named 'contents'. Make really, really sure
it is always completely initialized and copied.
Also, fix up many comments and asserts.

llvm-svn: 12100
2004-03-03 19:07:27 +00:00
Chris Lattner 87ed2a4096 Add a new constructor
llvm-svn: 12087
2004-03-03 02:12:47 +00:00
Misha Brukman 1998b73492 Add prototype for ExtractCodeRegion()
llvm-svn: 12069
2004-03-02 00:20:32 +00:00
Chris Lattner d86982547f Add new method
llvm-svn: 12056
2004-03-01 19:36:50 +00:00
Misha Brukman 88cc178e3b Fix grammar and doxygenify comments.
llvm-svn: 12054
2004-03-01 18:31:19 +00:00
Misha Brukman f68f121dd3 Add ability to extract a single basic block into a new function.
llvm-svn: 12052
2004-03-01 18:27:13 +00:00
Brian Gaeke 427cec1395 TargetCacheInfo has been removed; its only uses were to propagate a constant
(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's
dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in
the interest of not breaking things any more than they already are, I'm going
to leave the constant alone.

llvm-svn: 12043
2004-03-01 06:43:29 +00:00
Chris Lattner 482cf01a1e Fix the "partial pool allocator" on em3d and others. The problem is that
DSNodes, unlike other GraphTraits nodes, can have null outgoing edges, and
df_iterator doesn't take this into consideration.  As a workaround, the
successor iterator now handles null nodes and 'indicates' that null has
no successors.

llvm-svn: 12025
2004-03-01 01:42:26 +00:00
Chris Lattner b4c203ce67 Make Module annotable. Reid has a bunch of code that depends on this, and
we really don't win that much by eliminating this (not many Modules are
allocated), so it's not worth it.  When we can, we should revisit this in
the future.

llvm-svn: 12023
2004-03-01 01:25:37 +00:00
Misha Brukman 2a4c5b050e Doxygenify comments.
llvm-svn: 12015
2004-02-29 23:55:11 +00:00
Chris Lattner f2bb31c5fd Module does not need to be annotatable aka annotable
llvm-svn: 12005
2004-02-29 19:27:55 +00:00
Chris Lattner fcb4f9d00b Remove public header. It's been moved to lib/Target/SparcV9
llvm-svn: 12004
2004-02-29 19:13:20 +00:00
Chris Lattner 23840c7db5 Do not use explicit casts that hide the dependence on Instruction being
annotable

llvm-svn: 12000
2004-02-29 19:02:26 +00:00
Chris Lattner 79b8d467da Ugh, the old sparc backend attaches MachineCodeForInstruction annotations on
LLVM instructions.  Because it contains an explicit cast, we didn't catch it.
I guess instruction's will be annotable for the duration of the sparcv9's
existence.

llvm-svn: 11999
2004-02-29 18:54:23 +00:00
Brian Gaeke 2f80d586b8 Remove dead member variables of SparcV9SchedInfo and TargetSchedInfo
llvm-svn: 11994
2004-02-29 08:40:03 +00:00
Brian Gaeke d470a0f042 Update comment at head of file. Also fix C 'typedef struct' nonsense I
inadvertently left in here.

llvm-svn: 11988
2004-02-29 06:33:28 +00:00
Chris Lattner f20abac9bc Eliminate the distinction between "real" and "unreal" instructions
llvm-svn: 11986
2004-02-29 06:31:16 +00:00
Brian Gaeke e65125dcdf Add more architectures, and ELF64 stuff.
llvm-svn: 11985
2004-02-29 06:30:25 +00:00
Chris Lattner f611ca055c Scrap a huge layer of cruft out of this interface.
llvm-svn: 11980
2004-02-29 05:57:21 +00:00
Chris Lattner 5e7b3180e5 Remove unneeded #include
llvm-svn: 11978
2004-02-29 05:15:56 +00:00