Commit Graph

10263 Commits

Author SHA1 Message Date
Brian Gaeke 84262c112c Remove these MachineOpCodeFlags and their accessor - they are never set.
llvm-svn: 11341
2004-02-12 04:00:55 +00:00
Alkis Evlogimenos 80da865f77 Change MachineBasicBlock's vector of MachineInstr pointers into an
ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.

llvm-svn: 11340
2004-02-12 02:27:10 +00:00
Brian Gaeke 0c3de446f6 getOpCode() --> getOpcode().
llvm-svn: 11339
2004-02-12 01:34:05 +00:00
Brian Gaeke 84b1008c13 Remove getOpCode(). Help doxygenify some comments.
llvm-svn: 11338
2004-02-12 01:34:03 +00:00
Misha Brukman e10e2b12dd Ooops, top-level C++-comments aren't recognized by flex.
llvm-svn: 11337
2004-02-12 00:03:08 +00:00
Misha Brukman a01b30bbaa * Convert C comments to C++ style (why are some one way, some another?!)
* Delete extra space, extra blank comment lines
* Convert function comments to doxygen

llvm-svn: 11336
2004-02-12 00:00:46 +00:00
Brian Gaeke b22186adf0 MachineInstr::getOpCode() --> getOpcode() in SPARC back-end.
llvm-svn: 11335
2004-02-11 20:47:34 +00:00
Chris Lattner 0302beeb09 If a node has more than 64 outgoing edges, make the edges go from the 'truncated' block,
instead of dropping them entirely.

llvm-svn: 11334
2004-02-11 20:44:17 +00:00
Brian Gaeke 3ee3e4beea Fix typos in comments.
llvm-svn: 11333
2004-02-11 19:47:43 +00:00
Chris Lattner 0d10bf8d72 s/getOpCode/getOpcode
llvm-svn: 11332
2004-02-11 19:26:28 +00:00
Chris Lattner 4b095b937e Cosmetic improvements to this option.
llvm-svn: 11331
2004-02-11 19:14:04 +00:00
Brian Gaeke 512bd8de00 Fix bug in initial check - when recompiling everything with llvm-native-gcc,
you have to erase the program and re-run the linker, too, before running the
checker.

llvm-svn: 11328
2004-02-11 18:52:05 +00:00
Brian Gaeke bc67d59ac8 add advice bullet about -check-exit-code
llvm-svn: 11327
2004-02-11 18:44:55 +00:00
Brian Gaeke 228a29b711 add description of -check-exit-code
llvm-svn: 11326
2004-02-11 18:40:04 +00:00
Brian Gaeke 35145beb61 Add check-exit-code option, defaulting to true.
Add ProgramExitedNonzero argument to executeProgram(), and make it
tell its caller whether the program exited nonzero.

Move executeProgramWithCBE() out of line, to ExecutionDriver.cpp, and remove
its extra arguments which are always defaulted.  Make it turn off
check-exit-code if the program exits nonzero while generating a reference
output.

Make diffProgram() assume that any nonzero exit code is a failure, if
check-exit-code is turned on.

llvm-svn: 11325
2004-02-11 18:37:32 +00:00
Chris Lattner f10f6b10f9 Actually load profiling information now! Block layout can use real, live,
actual profile info, and works!  :)

llvm-svn: 11324
2004-02-11 18:21:05 +00:00
Chris Lattner fa9a8f83a5 Fix a typeo
llvm-svn: 11323
2004-02-11 18:20:41 +00:00
Alkis Evlogimenos 8f4142616d Increase constness.
llvm-svn: 11322
2004-02-11 17:55:09 +00:00
Chris Lattner 3cf970e27f Add an important prototype
llvm-svn: 11320
2004-02-11 06:11:06 +00:00
Chris Lattner b8263bb809 Fix copy-and-pastos
llvm-svn: 11319
2004-02-11 06:10:18 +00:00
Chris Lattner f7a5d9874c Add skeleton profileinfoloader pass. This will be enhanced to actually LOAD
a profile tommorow.  :)

llvm-svn: 11318
2004-02-11 06:10:05 +00:00
Alkis Evlogimenos 2f21547208 Remove assert as the only integer registers on the sparc are physical.
llvm-svn: 11317
2004-02-11 06:04:51 +00:00
Chris Lattner 1dec4a1eda Factor profile information loading OUT of llvm-prof into libanalysis
llvm-svn: 11316
2004-02-11 05:56:07 +00:00
Alkis Evlogimenos fcb99fe370 Fix previous broken commit. A MachineOperand may have opType ==
MO_VirtualRegister but if the register number is one of a physical
register is it considered as a physical register.

llvm-svn: 11315
2004-02-11 05:55:00 +00:00
Chris Lattner ddfc5506a7 Factor this code out of llvm-prof
llvm-svn: 11314
2004-02-11 05:54:25 +00:00
Chris Lattner d4b36cf9bc Remove obsolete comment. Unreachable blocks will automatically be left at the
end of the function.

llvm-svn: 11313
2004-02-11 05:20:50 +00:00
Chris Lattner d5bab7e727 Basic functionality testing.
llvm-svn: 11312
2004-02-11 05:00:27 +00:00
Chris Lattner 5add05129e Add an _embarassingly simple_ implementation of basic block layout. This is
more of a testcase for profiling information than anything that should reasonably
be used, but it's a starting point.  When I have more time I will whip this into
better shape.

llvm-svn: 11311
2004-02-11 04:53:20 +00:00
Alkis Evlogimenos adcc14d96a Remove assert as it is meaningless. MachineOperands can be tagged as
MO_VirtualRegister but actually be representing a physical register.

llvm-svn: 11310
2004-02-11 04:52:30 +00:00
Chris Lattner 0c26f0048f Make sure to register the 'no profile' implementation as the default for ProfileInfo
llvm-svn: 11309
2004-02-11 04:47:54 +00:00
Chris Lattner 6e445dc299 Simplify implementation, and probably speed things up too.
llvm-svn: 11308
2004-02-11 03:57:16 +00:00
Chris Lattner 18d1f19fba Implement SimplifyCFG/PhiEliminate.ll
Having a proper 'select' instruction would allow the elimination of a lot
of the special case cruft in this patch, but we don't have one yet.

llvm-svn: 11307
2004-02-11 03:36:04 +00:00
Chris Lattner 4379c6b0b7 New feature testcase for simplifycfg.
llvm-svn: 11306
2004-02-11 03:35:04 +00:00
Chris Lattner f3e6e63d71 Initialize the count instance variable.
llvm-svn: 11305
2004-02-11 03:29:16 +00:00
Chris Lattner 391e943817 Expose the "Other" value type to tablegen targets
llvm-svn: 11304
2004-02-11 03:08:45 +00:00
Chris Lattner 6926059d37 Remove long obsolete method. switch instructions are first class entities in the CFG, and have been for a LOOOONG time.
llvm-svn: 11303
2004-02-11 01:17:58 +00:00
Chris Lattner 2be4744c5e Remove obsolete method
llvm-svn: 11302
2004-02-11 01:17:33 +00:00
Chris Lattner 838b845781 The hasConstantReferences predicate always returns false.
llvm-svn: 11301
2004-02-11 01:17:07 +00:00
John Criswell 0606da9572 Updated to handle the new SPEC95 configuration options.
llvm-svn: 11298
2004-02-10 22:36:35 +00:00
John Criswell 43fc5c18f6 Added support for configuring SPEC95.
llvm-svn: 11295
2004-02-10 22:29:06 +00:00
Chris Lattner 1f4f70425d An initial implementation of an LLVM ProfileInfo class which is designed to
eventually allow Passes to use profiling information to direct them.

llvm-svn: 11294
2004-02-10 22:11:42 +00:00
Misha Brukman 5786148df5 Sprinkle liberally with comments, saute with doxygen until readable.
llvm-svn: 11293
2004-02-10 21:49:59 +00:00
Misha Brukman 303cf58800 Doxygenify comment.
llvm-svn: 11292
2004-02-10 21:48:12 +00:00
Chris Lattner 62da05d3f0 Urg, the X86 backend DOES use virtual register operands. :(
llvm-svn: 11288
2004-02-10 21:43:11 +00:00
Chris Lattner 3d33d64f46 Remove and simplify some of the bewildering collection of isFOORegister
methods which have strangely different semantics in different backends,
and noone knew what any did.

Getting rid of these ALSO allows the dependence of MachineInstr.h on
MRegisterInfo.h to be removed, which makes me much happier, and probably
alkis too.  :)

llvm-svn: 11287
2004-02-10 21:21:17 +00:00
Chris Lattner 91b2fb2cec Remove some unneeded stuff
llvm-svn: 11286
2004-02-10 21:19:49 +00:00
Chris Lattner b21ec54e61 Add #include
llvm-svn: 11285
2004-02-10 21:18:55 +00:00
Chris Lattner 5dd5be3ec3 Do not use MachineOperand::isVirtualRegister either!
llvm-svn: 11283
2004-02-10 21:12:22 +00:00
Chris Lattner 1cb6d2697d Stop using this method
llvm-svn: 11282
2004-02-10 21:12:06 +00:00
Chris Lattner 8d0dc12c3e Remove uses of MachineOperand::isVirtualRegister
llvm-svn: 11281
2004-02-10 20:55:47 +00:00