Chris Lattner [Thu, 12 Feb 2004 21:06:52 +0000 (21:06 +0000)]
New testcase for PR233: [llvmgcc] Structure copies result in a LOT of code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11359
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 19:12:03 +0000 (19:12 +0000)]
Move ilist_trairs<MachineInstr> in MachineBasicBlock.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11358
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 18:49:07 +0000 (18:49 +0000)]
Add parent pointer to MachineInstr that points to owning
MachineBasicBlock. Also change opcode to a short and numImplicitRefs
to an unsigned char so that overall MachineInstr's size stays the
same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11357
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 12 Feb 2004 18:11:53 +0000 (18:11 +0000)]
Fixed minor typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 18:11:20 +0000 (18:11 +0000)]
Add support for the llvm.memmove intrinsic
Patch graciously contributed by Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 18:10:10 +0000 (18:10 +0000)]
Add support for the llvm.memmove intrinsic.
Patch graciously contributed by Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:57:11 +0000 (17:57 +0000)]
Urg, check in header I forgot. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:53:43 +0000 (17:53 +0000)]
Test that we get rep movs when calling memcpy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:53:22 +0000 (17:53 +0000)]
Add support for the rep movs[bwd] instructions, and emit them when code
generating the llvm.memcpy intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:01:32 +0000 (17:01 +0000)]
Document the llvm.memcpy intrinsic. Clean up some of the formatting of other
sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 17:01:09 +0000 (17:01 +0000)]
Implement the llvm.memcpy intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 16:09:53 +0000 (16:09 +0000)]
Rename the opCode instance variable to Opcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 16:05:03 +0000 (16:05 +0000)]
Remove a dead field from MachineInstr!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Feb 2004 16:04:49 +0000 (16:04 +0000)]
This field is never read
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11346
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 08:11:04 +0000 (08:11 +0000)]
Change interface so that we can add to the end of a basic block
without getting an assertion from ilist that we are dereferencing
ilist<T>::end().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11345
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:26:49 +0000 (04:26 +0000)]
Add one more doxygen comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11344
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:15:00 +0000 (04:15 +0000)]
Express one of MachineOperand's many constructors in terms of another, by means of default arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11343
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:01:07 +0000 (04:01 +0000)]
Remove this MachineOpCodeFlags assertion - its test can never be false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11342
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 04:00:55 +0000 (04:00 +0000)]
Remove these MachineOpCodeFlags and their accessor - they are never set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11341
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Thu, 12 Feb 2004 02:27:10 +0000 (02:27 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 01:34:05 +0000 (01:34 +0000)]
getOpCode() --> getOpcode().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11339
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Feb 2004 01:34:03 +0000 (01:34 +0000)]
Remove getOpCode(). Help doxygenify some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11338
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Feb 2004 00:03:08 +0000 (00:03 +0000)]
Ooops, top-level C++-comments aren't recognized by flex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11337
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Feb 2004 00:00:46 +0000 (00:00 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11336
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 11 Feb 2004 20:47:34 +0000 (20:47 +0000)]
MachineInstr::getOpCode() --> getOpcode() in SPARC back-end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11335
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 20:44:17 +0000 (20:44 +0000)]
If a node has more than 64 outgoing edges, make the edges go from the 'truncated' block,
instead of dropping them entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11334
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 11 Feb 2004 19:47:43 +0000 (19:47 +0000)]
Fix typos in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11333
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 19:26:28 +0000 (19:26 +0000)]
s/getOpCode/getOpcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 19:14:04 +0000 (19:14 +0000)]
Cosmetic improvements to this option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11331
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 11 Feb 2004 18:52:05 +0000 (18:52 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11328
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 11 Feb 2004 18:44:55 +0000 (18:44 +0000)]
add advice bullet about -check-exit-code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11327
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 11 Feb 2004 18:40:04 +0000 (18:40 +0000)]
add description of -check-exit-code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11326
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 11 Feb 2004 18:37:32 +0000 (18:37 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 18:21:05 +0000 (18:21 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 18:20:41 +0000 (18:20 +0000)]
Fix a typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11323
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Wed, 11 Feb 2004 17:55:09 +0000 (17:55 +0000)]
Increase constness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 06:11:06 +0000 (06:11 +0000)]
Add an important prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11320
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 06:10:18 +0000 (06:10 +0000)]
Fix copy-and-pastos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 06:10:05 +0000 (06:10 +0000)]
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
Alkis Evlogimenos [Wed, 11 Feb 2004 06:04:51 +0000 (06:04 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 05:56:07 +0000 (05:56 +0000)]
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
Alkis Evlogimenos [Wed, 11 Feb 2004 05:55:00 +0000 (05:55 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 05:54:25 +0000 (05:54 +0000)]
Factor this code out of llvm-prof
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11314
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 05:20:50 +0000 (05:20 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 05:00:27 +0000 (05:00 +0000)]
Basic functionality testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11312
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 04:53:20 +0000 (04:53 +0000)]
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
Alkis Evlogimenos [Wed, 11 Feb 2004 04:52:30 +0000 (04:52 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 04:47:54 +0000 (04:47 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 03:57:16 +0000 (03:57 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 03:36:04 +0000 (03:36 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 03:35:04 +0000 (03:35 +0000)]
New feature testcase for simplifycfg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11306
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 03:29:16 +0000 (03:29 +0000)]
Initialize the count instance variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11305
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 03:08:45 +0000 (03:08 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 01:17:58 +0000 (01:17 +0000)]
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
Chris Lattner [Wed, 11 Feb 2004 01:17:33 +0000 (01:17 +0000)]
Remove obsolete method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11302
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 Feb 2004 01:17:07 +0000 (01:17 +0000)]
The hasConstantReferences predicate always returns false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11301
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 10 Feb 2004 22:36:35 +0000 (22:36 +0000)]
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
John Criswell [Tue, 10 Feb 2004 22:29:06 +0000 (22:29 +0000)]
Added support for configuring SPEC95.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11295
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 22:11:42 +0000 (22:11 +0000)]
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
Misha Brukman [Tue, 10 Feb 2004 21:49:59 +0000 (21:49 +0000)]
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
Misha Brukman [Tue, 10 Feb 2004 21:48:12 +0000 (21:48 +0000)]
Doxygenify comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11292
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 21:43:11 +0000 (21:43 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 21:21:17 +0000 (21:21 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 21:19:49 +0000 (21:19 +0000)]
Remove some unneeded stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11286
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 21:18:55 +0000 (21:18 +0000)]
Add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11285
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 21:12:22 +0000 (21:12 +0000)]
Do not use MachineOperand::isVirtualRegister either!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11283
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 21:12:06 +0000 (21:12 +0000)]
Stop using this method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11282
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 20:55:47 +0000 (20:55 +0000)]
Remove uses of MachineOperand::isVirtualRegister
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11281
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 20:47:24 +0000 (20:47 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 20:42:11 +0000 (20:42 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 20:41:10 +0000 (20:41 +0000)]
Eliminate users of MachineOperand::isPhysicalRegister
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11278
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 20:35:42 +0000 (20:35 +0000)]
Remove use of isPhysicalRegister
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11277
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 20:31:28 +0000 (20:31 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 20:30:40 +0000 (20:30 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 20:25:13 +0000 (20:25 +0000)]
Tighten up checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11274
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 19:46:14 +0000 (19:46 +0000)]
Right, define the LPROF variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11273
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 19:14:44 +0000 (19:14 +0000)]
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
Misha Brukman [Tue, 10 Feb 2004 18:44:16 +0000 (18:44 +0000)]
* 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
Chris Lattner [Tue, 10 Feb 2004 18:04:24 +0000 (18:04 +0000)]
Fix documentation bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11267
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 18:01:50 +0000 (18:01 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 18:01:00 +0000 (18:01 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 17:41:01 +0000 (17:41 +0000)]
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
Chris Lattner [Tue, 10 Feb 2004 17:36:25 +0000 (17:36 +0000)]
Make the initialization calls return argc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11261
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 Feb 2004 16:39:05 +0000 (16:39 +0000)]
Doxygen-ify comments, make function prototypes more consistent in format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11259
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 10 Feb 2004 05:22:23 +0000 (05:22 +0000)]
Mention install, RPM, autoconf improvements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11257
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 05:19:54 +0000 (05:19 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11256
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 Feb 2004 05:16:44 +0000 (05:16 +0000)]
Fix PR228: [sparc] Boolean constants are emitted as true and false
I will observe that the concept of using WriteAsOperand is completely broken,
but then we all knew that, didn't we?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11255
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 10 Feb 2004 03:57:51 +0000 (03:57 +0000)]
RPM spec file for LLVM tools and libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11254
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 10 Feb 2004 01:10:01 +0000 (01:10 +0000)]
Should fix pr220 - "make install" doesn't install header files when
BUILD_SRC_ROOT != BUILD_OBJ_ROOT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11253
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 9 Feb 2004 23:18:42 +0000 (23:18 +0000)]
Doxygenify comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11252
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 22:52:25 +0000 (22:52 +0000)]
Move this testcase out of /home/vadve/lattner/cvs/llvm/test/Programs/LLVMSource,
as it fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11250
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 22:48:47 +0000 (22:48 +0000)]
Only add the global variable with the abort message if an unwind actually
occurs in the program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11249
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 9 Feb 2004 22:40:50 +0000 (22:40 +0000)]
Add global methods that prevent us from using ilist::iterators as
random access iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11248
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 9 Feb 2004 22:15:33 +0000 (22:15 +0000)]
Fix PR#226: When emitting padding, always emit it as bytes. Bytes can be
placed into any alignment situation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 21:22:51 +0000 (21:22 +0000)]
Many things have been fixed, so move them out of the "known problems" section
Also, PR137 is a code quality PR, not a bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11246
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 21:16:16 +0000 (21:16 +0000)]
QOI bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11245
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 21:03:38 +0000 (21:03 +0000)]
It turns out that the two dimensional vectors were causing big slowdowns
in this for programs with lots of types (like the testcase in PR224).
The problem was that the type ID that the outer vector was using was not
very dense (as many types are getting resolved), so the vector is large
and gets reallocated a lot.
Since there are a lot of values in the program (the .ll file is 10M),
each reallocation has to copy the subvectors, which is also quite slow
(this wouldn't be a problem if C++ supported move semantics, but it
doesn't, at least not yet :(
Changing the outer data structure to a map speeds a release build of
llvm-as up from 11.21s to 5.13s on the testcase in PR224.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11244
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 21:01:23 +0000 (21:01 +0000)]
Remove the statistics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11243
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 20:23:44 +0000 (20:23 +0000)]
Speed up type resolution some more. On the testcase in PR224, for example,
this speeds up a release llvm-as from 21.95s to 11.21s, because before it
would do an expensive traversal of the type-graph of every type resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11242
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 Feb 2004 18:53:54 +0000 (18:53 +0000)]
When resolving upreferences, if multiple uprefs will be resolved to the same
type at the same time, resolve the upreferences to each other before resolving
it to the outer type. This shaves off some time from the testcase in PR224, from
25.41s -> 21.72s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11241
91177308-0d34-0410-b5e6-
96231b3b80d8