Commit Graph

10349 Commits

Author SHA1 Message Date
Brian Gaeke
c5cad211d6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 18:37:32 +00:00
Chris Lattner
945871df86 Actually load profiling information now! Block layout can use real, live,
actual profile info, and works!  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11324 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 18:21:05 +00:00
Chris Lattner
c6fca42a66 Fix a typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11323 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 18:20:41 +00:00
Alkis Evlogimenos
6557262ee7 Increase constness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11322 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 17:55:09 +00:00
Chris Lattner
54a6662da3 Add an important prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11320 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 06:11:06 +00:00
Chris Lattner
ecefc96f05 Fix copy-and-pastos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11319 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 06:10:18 +00:00
Chris Lattner
927fec3c38 Add skeleton profileinfoloader pass. This will be enhanced to actually LOAD
a profile tommorow.  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11318 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 06:10:05 +00:00
Alkis Evlogimenos
f8efea53c2 Remove assert as the only integer registers on the sparc are physical.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11317 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 06:04:51 +00:00
Chris Lattner
89cf3939b7 Factor profile information loading OUT of llvm-prof into libanalysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11316 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 05:56:07 +00:00
Alkis Evlogimenos
af862116df 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11315 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 05:55:00 +00:00
Chris Lattner
bc44aa61c4 Factor this code out of llvm-prof
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11314 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 05:54:25 +00:00
Chris Lattner
5f55aaf0f0 Remove obsolete comment. Unreachable blocks will automatically be left at the
end of the function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11313 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 05:20:50 +00:00
Chris Lattner
115e5e6abb Basic functionality testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11312 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 05:00:27 +00:00
Chris Lattner
206805e172 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11311 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 04:53:20 +00:00
Alkis Evlogimenos
ccd79f2c21 Remove assert as it is meaningless. MachineOperands can be tagged as
MO_VirtualRegister but actually be representing a physical register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11310 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 04:52:30 +00:00
Chris Lattner
b060194a70 Make sure to register the 'no profile' implementation as the default for ProfileInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11309 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 04:47:54 +00:00
Chris Lattner
40c5767b70 Simplify implementation, and probably speed things up too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11308 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 03:57:16 +00:00
Chris Lattner
723c66d4c0 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11307 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 03:36:04 +00:00
Chris Lattner
54636af39d New feature testcase for simplifycfg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11306 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 03:35:04 +00:00
Chris Lattner
82a5ff4c54 Initialize the count instance variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11305 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 03:29:16 +00:00
Chris Lattner
6565043120 Expose the "Other" value type to tablegen targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11304 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 03:08:45 +00:00
Chris Lattner
ed97ad63c2 Remove long obsolete method. switch instructions are first class entities in the CFG, and have been for a LOOOONG time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11303 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 01:17:58 +00:00
Chris Lattner
b171942441 Remove obsolete method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11302 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 01:17:33 +00:00
Chris Lattner
2355f948c5 The hasConstantReferences predicate always returns false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11301 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 01:17:07 +00:00
John Criswell
cf2e9f72e4 Updated to handle the new SPEC95 configuration options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11298 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 22:36:35 +00:00
John Criswell
b607cc8871 Added support for configuring SPEC95.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11295 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 22:29:06 +00:00
Chris Lattner
171de656eb An initial implementation of an LLVM ProfileInfo class which is designed to
eventually allow Passes to use profiling information to direct them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 22:11:42 +00:00
Misha Brukman
acddebd5bb Sprinkle liberally with comments, saute with doxygen until readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:49:59 +00:00
Misha Brukman
5e871dadae Doxygenify comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11292 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:48:12 +00:00
Chris Lattner
d6b5e5f637 Urg, the X86 backend DOES use virtual register operands. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11288 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:43:11 +00:00
Chris Lattner
376ad9fa9f 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.  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11287 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:21:17 +00:00
Chris Lattner
2b38c0d94b Remove some unneeded stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11286 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:19:49 +00:00
Chris Lattner
61b08f193a Add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11285 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:18:55 +00:00
Chris Lattner
1cbe4d0ad0 Do not use MachineOperand::isVirtualRegister either!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11283 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:12:22 +00:00
Chris Lattner
9d58a500fc Stop using this method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11282 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 21:12:06 +00:00
Chris Lattner
c31ecb9aae Remove uses of MachineOperand::isVirtualRegister
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:55:47 +00:00
Chris Lattner
ebcd7941f0 Remvoe use of MO.isVirtualRegister(), turn an assertion into an assert()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11280 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:47:24 +00:00
Chris Lattner
9f42dd5472 Eliminate MachineOperand::isPhysicalRegister. The X86 backend should use
MRegisterInfo::isPhysicalRegister(MO.getReg()) and the Sparc backend should
use isMachineRegister()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11279 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:42:11 +00:00
Chris Lattner
3d878d80d6 Eliminate users of MachineOperand::isPhysicalRegister
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11278 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:41:10 +00:00
Chris Lattner
bd0485034c Remove use of isPhysicalRegister
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11277 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:35:42 +00:00
Chris Lattner
6d21518718 Don't use MachineOperator::is(Phys|Virt)Register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11276 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:31:28 +00:00
Chris Lattner
b2e5db94cf Simplify condition, this does not change the predicate at all though
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11275 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:30:40 +00:00
Chris Lattner
0bbf3052c2 Tighten up checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11274 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 20:25:13 +00:00
Chris Lattner
f629496776 Right, define the LPROF variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11273 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 19:46:14 +00:00
Chris Lattner
f472935caf Make sure to copy the null terminator at the end of the argv list. Some
programs use it instead of argc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11270 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 19:14:44 +00:00
Misha Brukman
991c76ca97 * Added class comments
* Doxygenified existing comments
* Compactified code to be more consistent


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11268 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 18:44:16 +00:00
Chris Lattner
1fa3dabc4b Fix documentation bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11267 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 18:04:24 +00:00
Chris Lattner
b9f960e39d Make block profiling the default
add a new -function argument
Add a new -o argument to specify where to put llvmprof.out data


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11265 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 18:01:50 +00:00
Chris Lattner
ebd02a8cfa Allow the program to take a '-llvmprof-output filename' option to specify
where to output the profiling data, if llvmprof.out is not good enough.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11264 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 18:01:00 +00:00
Chris Lattner
81d1a2207d initialization calls now return argc. If the program uses the argc value
passed into main, make sure they use the return value of the init call
instead of the one passed in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11262 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-10 17:41:01 +00:00