oota-llvm.git
16 years agoRemove an unneeded #include.
Dan Gohman [Tue, 19 Aug 2008 17:53:16 +0000 (17:53 +0000)]
Remove an unneeded #include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54996 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDelete a dead field.
Gordon Henriksen [Tue, 19 Aug 2008 17:09:26 +0000 (17:09 +0000)]
Delete a dead field.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54995 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago[PR2327] Leverage TargetRegisterInfo to compute frame offsets for GC metadata.
Gordon Henriksen [Tue, 19 Aug 2008 17:06:35 +0000 (17:06 +0000)]
[PR2327] Leverage TargetRegisterInfo to compute frame offsets for GC metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54994 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate the JIT exception writer to better mimic the codegen exception writer.
Nicolas Geoffray [Tue, 19 Aug 2008 14:48:14 +0000 (14:48 +0000)]
Update the JIT exception writer to better mimic the codegen exception writer.
Also skip indirect encoding for platforms that ask for one: we direclty
write an address, not a pointer to the address.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54987 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd a note
Chris Lattner [Tue, 19 Aug 2008 06:22:16 +0000 (06:22 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54985 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomore cleanups, random methods shouldn't return ostreams.
Chris Lattner [Tue, 19 Aug 2008 05:26:17 +0000 (05:26 +0000)]
more cleanups, random methods shouldn't return ostreams.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54984 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomore cleanup, eliminate getLLVMName when printing out
Chris Lattner [Tue, 19 Aug 2008 05:16:28 +0000 (05:16 +0000)]
more cleanup, eliminate getLLVMName when printing out
type names at the top of the file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54983 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agorandom cleanups, factor some printing code for linkage and visibility
Chris Lattner [Tue, 19 Aug 2008 05:06:27 +0000 (05:06 +0000)]
random cleanups, factor some printing code for linkage and visibility

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54982 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange WriteTypeSymbolic/WriteAsOperand to return void instead of
Chris Lattner [Tue, 19 Aug 2008 04:47:09 +0000 (04:47 +0000)]
Change WriteTypeSymbolic/WriteAsOperand to return void instead of
an ostream, which is just weird.

Rename SC_DEBUG -> ST_DEBUG

Remove static indentation strangeness from WriteConstantInt.  This makes it
so that large structs are not broken down and printed on multiple lines.  If
there is demand for this to return, there are better ways to implement this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54981 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agowhitespace cleanup
Chris Lattner [Tue, 19 Aug 2008 04:45:47 +0000 (04:45 +0000)]
whitespace cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54980 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agodon't use the result of WriteAsOperand
Chris Lattner [Tue, 19 Aug 2008 04:45:19 +0000 (04:45 +0000)]
don't use the result of WriteAsOperand

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54979 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agodon't use the result of WriteTypeSymbolic or WriteAsOperand.
Chris Lattner [Tue, 19 Aug 2008 04:44:30 +0000 (04:44 +0000)]
don't use the result of WriteTypeSymbolic or WriteAsOperand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54978 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't use the result of WriteAsOperand or WriteTypeSymbolic.
Chris Lattner [Tue, 19 Aug 2008 04:42:37 +0000 (04:42 +0000)]
Don't use the result of WriteAsOperand or WriteTypeSymbolic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54977 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agorearrange code and make more legible.
Chris Lattner [Tue, 19 Aug 2008 04:36:02 +0000 (04:36 +0000)]
rearrange code and make more legible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54976 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoput SlotTracker in an anon namespace since it is private.
Chris Lattner [Tue, 19 Aug 2008 04:28:07 +0000 (04:28 +0000)]
put SlotTracker in an anon namespace since it is private.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54975 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReid had to call this class "slot machine" out of some strange reference
Chris Lattner [Tue, 19 Aug 2008 04:26:57 +0000 (04:26 +0000)]
Reid had to call this class "slot machine" out of some strange reference
to the gambling device.  Name it something more meaningful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54974 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd raw_ostream method for emitting an unsigned.
Chris Lattner [Tue, 19 Aug 2008 04:23:02 +0000 (04:23 +0000)]
add raw_ostream method for emitting an unsigned.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54972 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCompress manpages.
Devang Patel [Tue, 19 Aug 2008 01:17:41 +0000 (01:17 +0000)]
Compress manpages.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54971 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake SimpleSpiller respect subregister indices.
Owen Anderson [Tue, 19 Aug 2008 01:05:33 +0000 (01:05 +0000)]
Make SimpleSpiller respect subregister indices.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54968 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd a note
Chris Lattner [Tue, 19 Aug 2008 00:41:02 +0000 (00:41 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54964 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a flag to enable the fast spilling path.
Owen Anderson [Tue, 19 Aug 2008 00:17:30 +0000 (00:17 +0000)]
Add a flag to enable the fast spilling path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54958 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the FastISel class' doxygen comment.
Dan Gohman [Mon, 18 Aug 2008 23:41:46 +0000 (23:41 +0000)]
Fix the FastISel class' doxygen comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54957 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a few more bugs:
Owen Anderson [Mon, 18 Aug 2008 23:41:04 +0000 (23:41 +0000)]
Fix a few more bugs:
  1) Assign stack slots to new temporaries.
  2) Don't insert an interval into the return vector more than once.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54956 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoremove empty file
Chris Lattner [Mon, 18 Aug 2008 21:27:19 +0000 (21:27 +0000)]
remove empty file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54950 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix several bugs in the new fast-path:
Owen Anderson [Mon, 18 Aug 2008 21:20:32 +0000 (21:20 +0000)]
Fix several bugs in the new fast-path:
  1) Remove an incorrect assertion.
  2) Set the stack slot weight properly.
  3) Resize the VirtRegMap when needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54949 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUnbreak cpp backend: upgrade output due to change in APInt API
Anton Korobeynikov [Mon, 18 Aug 2008 20:03:45 +0000 (20:03 +0000)]
Unbreak cpp backend: upgrade output due to change in APInt API

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54942 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClients of addIntervalForSpills expect the added intervals to be returned sorted...
Owen Anderson [Mon, 18 Aug 2008 19:52:22 +0000 (19:52 +0000)]
Clients of addIntervalForSpills expect the added intervals to be returned sorted by starting index.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54939 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a bug daniel pointed out to me, where asmprinter started
Chris Lattner [Mon, 18 Aug 2008 19:41:26 +0000 (19:41 +0000)]
Fix a bug daniel pointed out to me, where asmprinter started
printing ascii code for hex numbers instead of the hex numbers
themselves.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54936 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSimplify the fast-patch interval spilling by using MachineRegisterInfo::reg_iterator.
Owen Anderson [Mon, 18 Aug 2008 18:38:12 +0000 (18:38 +0000)]
Simplify the fast-patch interval spilling by using MachineRegisterInfo::reg_iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54930 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoXFAIL this test for now.
Bill Wendling [Mon, 18 Aug 2008 18:29:54 +0000 (18:29 +0000)]
XFAIL this test for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54929 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoResurrect some ancient code to add spill ranges without attempting folding, remat...
Owen Anderson [Mon, 18 Aug 2008 18:05:32 +0000 (18:05 +0000)]
Resurrect some ancient code to add spill ranges without attempting folding, remat, or splitting.  This code has been updated to current APIs
in so far as it compiles and, in theory, works, but does not take advantage of recent advancements.  For instance, it could be improved by using
MachineRegisterInfo::use_iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54924 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegister the frame register function when allocating the JIT,
Nicolas Geoffray [Mon, 18 Aug 2008 14:53:56 +0000 (14:53 +0000)]
Register the frame register function when allocating the JIT,
so that lli works out of the box with -enable-eh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54920 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoARM asm printer can't handle dwarf info yet.
Evan Cheng [Mon, 18 Aug 2008 08:52:48 +0000 (08:52 +0000)]
ARM asm printer can't handle dwarf info yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54913 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't hoist instructions that have implicit uses or defines. Before, it was
Bill Wendling [Mon, 18 Aug 2008 00:33:49 +0000 (00:33 +0000)]
Don't hoist instructions that have implicit uses or defines. Before, it was
hoisting out some "test" and "cmp" instructions. This was obvious badness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54908 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake this comment clearer. Instead of using an ambiguous ~ (not) on an icmp
Nick Lewycky [Sun, 17 Aug 2008 20:02:02 +0000 (20:02 +0000)]
Make this comment clearer. Instead of using an ambiguous ~ (not) on an icmp
predicate, swap the order of the operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54907 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConsider the case where xor by -1 and xor by 128 have been combined already to
Nick Lewycky [Sun, 17 Aug 2008 19:58:24 +0000 (19:58 +0000)]
Consider the case where xor by -1 and xor by 128 have been combined already to
produce an xor by 127.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54906 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate VC++ project.
Gordon Henriksen [Sun, 17 Aug 2008 19:57:31 +0000 (19:57 +0000)]
Update VC++ project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54905 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDidn't mean to change this.
Evan Cheng [Sun, 17 Aug 2008 19:25:28 +0000 (19:25 +0000)]
Didn't mean to change this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54904 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a (u)comiss intrinsic lowering bug. It was using anyext which can return junk...
Evan Cheng [Sun, 17 Aug 2008 19:22:34 +0000 (19:22 +0000)]
Fix a (u)comiss intrinsic lowering bug. It was using anyext which can return junk in higher bits. Patch by Nate Begeman.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54903 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't require Registry specializations to define random static variables.
Gordon Henriksen [Sun, 17 Aug 2008 19:08:34 +0000 (19:08 +0000)]
Don't require Registry specializations to define random static variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54902 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDrop an unnecessary include.
Gordon Henriksen [Sun, 17 Aug 2008 18:54:05 +0000 (18:54 +0000)]
Drop an unnecessary include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54901 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate.
Gordon Henriksen [Sun, 17 Aug 2008 18:48:50 +0000 (18:48 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54900 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRename some GC classes so that their roll will hopefully be clearer.
Gordon Henriksen [Sun, 17 Aug 2008 18:44:35 +0000 (18:44 +0000)]
Rename some GC classes so that their roll will hopefully be clearer.

In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

  Collector               -> GCStrategy
  CollectorMetadata       -> GCFunctionInfo
  CollectorModuleMetadata -> GCModuleInfo
  CollectorRegistry       -> GCRegistry
  Function::getCollector  -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake it compile on VC2005:
Cedric Venet [Sun, 17 Aug 2008 18:24:26 +0000 (18:24 +0000)]
Make it compile on VC2005:
- update VC projects.
- Add an overload to llvm::Stream for <<, since std::hex and std::dec have type std::ios_base& (*)(std::ios_base&) in VC++. (templating the function don't work, due to ambiguities)
- add ../ on several include in X86/AsmPrinter/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54898 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agogetLLVMName is only used for types now, which always pass in LocalPrefix. Specialize...
Chris Lattner [Sun, 17 Aug 2008 17:28:37 +0000 (17:28 +0000)]
getLLVMName is only used for types now, which always pass in LocalPrefix.  Specialize on it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54897 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoswitch valuemap's from std::map to densemap. This speeds up llvm-dis
Chris Lattner [Sun, 17 Aug 2008 17:25:25 +0000 (17:25 +0000)]
switch valuemap's from std::map to densemap.  This speeds up llvm-dis
on a stripped kc++ .bc file from 0.83 to 0.77s (8%)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54896 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't instantiate GC metadata for declarations.
Gordon Henriksen [Sun, 17 Aug 2008 16:18:50 +0000 (16:18 +0000)]
Don't instantiate GC metadata for declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54895 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSet ignores.
Gordon Henriksen [Sun, 17 Aug 2008 14:41:11 +0000 (14:41 +0000)]
Set ignores.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54894 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSet ignores.
Gordon Henriksen [Sun, 17 Aug 2008 14:40:45 +0000 (14:40 +0000)]
Set ignores.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54893 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLink GC metadata printers by default to llc
Anton Korobeynikov [Sun, 17 Aug 2008 14:33:01 +0000 (14:33 +0000)]
Link GC metadata printers by default to llc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54892 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix merge error
Anton Korobeynikov [Sun, 17 Aug 2008 13:56:03 +0000 (13:56 +0000)]
Fix merge error

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54891 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove asmprinters from examples by default. This reduces their size by ~5%
Anton Korobeynikov [Sun, 17 Aug 2008 13:55:33 +0000 (13:55 +0000)]
Remove asmprinters from examples by default. This reduces their size by ~5%

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54890 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove ARM to pluggable asmprinter
Anton Korobeynikov [Sun, 17 Aug 2008 13:55:10 +0000 (13:55 +0000)]
Move ARM to pluggable asmprinter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54889 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse correct name for PPC codegen library
Anton Korobeynikov [Sun, 17 Aug 2008 13:54:44 +0000 (13:54 +0000)]
Use correct name for PPC codegen library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54888 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFactor out asmprinter out of ppc
Anton Korobeynikov [Sun, 17 Aug 2008 13:54:28 +0000 (13:54 +0000)]
Factor out asmprinter out of ppc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54887 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove X86 assembler printers into separate directory. This allows JIT-only users not...
Anton Korobeynikov [Sun, 17 Aug 2008 13:53:59 +0000 (13:53 +0000)]
Move X86 assembler printers into separate directory. This allows JIT-only users not to link it in (use 'x86codegen' llvm-config arg for this)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54886 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove all assembler printing related stuff into new libAsmPrinter
Anton Korobeynikov [Sun, 17 Aug 2008 13:53:04 +0000 (13:53 +0000)]
Move all assembler printing related stuff into new libAsmPrinter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54885 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFactor out asmprinters from collector interface.
Anton Korobeynikov [Sun, 17 Aug 2008 13:52:35 +0000 (13:52 +0000)]
Factor out asmprinters from collector interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54884 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFactor GC metadata table assembly generation out of Collector in preparation for...
Gordon Henriksen [Sun, 17 Aug 2008 12:56:54 +0000 (12:56 +0000)]
Factor GC metadata table assembly generation out of Collector in preparation for splitting AsmPrinter into its own library.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54881 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFactor GC metadata table assembly generation out of Collector in preparation for...
Gordon Henriksen [Sun, 17 Aug 2008 12:08:44 +0000 (12:08 +0000)]
Factor GC metadata table assembly generation out of Collector in preparation for splitting AsmPrinter into its own library.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54880 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGet raw_ostream.cpp to compile on MSVC.
Argyrios Kyrtzidis [Sun, 17 Aug 2008 09:25:21 +0000 (09:25 +0000)]
Get raw_ostream.cpp to compile on MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54879 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert 54821. It's miscompiling 252.eon and 447.dealII
Evan Cheng [Sun, 17 Aug 2008 08:07:31 +0000 (08:07 +0000)]
Revert 54821. It's miscompiling 252.eon and 447.dealII

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54878 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoI found a better place for this optz'n.
Nick Lewycky [Sun, 17 Aug 2008 07:54:14 +0000 (07:54 +0000)]
I found a better place for this optz'n.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54877 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoXor'ing both sides of icmp by sign-bit is equivalent to swapping signedness of
Nick Lewycky [Sun, 17 Aug 2008 07:34:14 +0000 (07:34 +0000)]
Xor'ing both sides of icmp by sign-bit is equivalent to swapping signedness of
the predicate.

Also, make this optz'n apply in more cases where it's safe to do so.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54876 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoavoid an extraneous std::string construction
Chris Lattner [Sun, 17 Aug 2008 07:24:08 +0000 (07:24 +0000)]
avoid an extraneous std::string construction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54875 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRework the routines that convert AP[S]Int into a string. Now, instead of
Chris Lattner [Sun, 17 Aug 2008 07:19:36 +0000 (07:19 +0000)]
Rework the routines that convert AP[S]Int into a string.  Now, instead of
returning an std::string by value, it fills in a SmallString/SmallVector
passed in.  This significantly reduces string thrashing in some cases.

More specifically, this:
 - Adds an operator<< and a print method for APInt that allows you to
   directly send them to an ostream.
 - Reimplements APInt::toString to be much simpler and more efficient
   algorithmically in addition to not thrashing strings quite as much.

This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the
asmprinter.  This also fixes a bug I introduced into the asmwriter in a
previous patch w.r.t. alias printing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54873 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix build on GCC 4.3.
Nick Lewycky [Sun, 17 Aug 2008 06:40:16 +0000 (06:40 +0000)]
Fix build on GCC 4.3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54870 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoremove a dead APInt ctor.
Chris Lattner [Sun, 17 Aug 2008 04:58:58 +0000 (04:58 +0000)]
remove a dead APInt ctor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54869 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoavoid string thrashing when formatting names in output. This
Chris Lattner [Sun, 17 Aug 2008 04:40:13 +0000 (04:40 +0000)]
avoid string thrashing when formatting names in output.  This
speeds up release-asserts llvm-dis on kc++ from 1.86s to 1.04s (~79%)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54868 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agorandom cleanups.
Chris Lattner [Sun, 17 Aug 2008 04:17:45 +0000 (04:17 +0000)]
random cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54866 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd support for a cout/cerr analog (outs()/errs()) as well as
Chris Lattner [Sun, 17 Aug 2008 04:13:37 +0000 (04:13 +0000)]
add support for a cout/cerr analog (outs()/errs()) as well as
a simple adaptor class to give raw output capabilities to
something that wants to write to an ostream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54865 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoopening "-" automatically yields stdout.
Chris Lattner [Sun, 17 Aug 2008 03:53:23 +0000 (03:53 +0000)]
opening "-" automatically yields stdout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54863 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agorename OutputData to 'write' to match ostream.
Chris Lattner [Sun, 17 Aug 2008 01:46:05 +0000 (01:46 +0000)]
rename OutputData to 'write' to match ostream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54857 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoremove accidental comment.
Chris Lattner [Sun, 17 Aug 2008 01:35:54 +0000 (01:35 +0000)]
remove accidental comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54856 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd a new raw_ostream class which is an extremely high performance ostream that
Chris Lattner [Sun, 17 Aug 2008 01:35:29 +0000 (01:35 +0000)]
add a new raw_ostream class which is an extremely high performance ostream that
can *only* output data (no seeking, reading, etc).  This is adapted from the
clang "-E outputter", and is roughly 10% faster than stdio on darwin and 30%
(or more) faster than std::ostream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54855 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPPC/Linux normally uses named section for bss
Anton Korobeynikov [Sat, 16 Aug 2008 12:59:02 +0000 (12:59 +0000)]
PPC/Linux normally uses named section for bss

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54847 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse proper strings section name for PPC
Anton Korobeynikov [Sat, 16 Aug 2008 12:58:46 +0000 (12:58 +0000)]
Use proper strings section name for PPC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54846 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse correct name for TLS address resolution routine on x86-64
Anton Korobeynikov [Sat, 16 Aug 2008 12:58:29 +0000 (12:58 +0000)]
Use correct name for TLS address resolution routine on x86-64

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54845 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd interface for section override. Use this for Sparc, since it should use named...
Anton Korobeynikov [Sat, 16 Aug 2008 12:58:12 +0000 (12:58 +0000)]
Add interface for section override. Use this for Sparc, since it should use named BSS section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54844 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove SLEB/ULEB size calculation routines from AsmPrinter to TargetAsmInfo. This makes...
Anton Korobeynikov [Sat, 16 Aug 2008 12:57:46 +0000 (12:57 +0000)]
Move SLEB/ULEB size calculation routines from AsmPrinter to TargetAsmInfo. This makes JIT asmprinter-free.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54843 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReduce heap trashing due to std::string construction / concatenation via caching...
Anton Korobeynikov [Sat, 16 Aug 2008 12:57:07 +0000 (12:57 +0000)]
Reduce heap trashing due to std::string construction / concatenation via caching of section flags string representations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54842 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove GCSE and LoadVN from the testsuite.
Owen Anderson [Sat, 16 Aug 2008 00:00:54 +0000 (00:00 +0000)]
Remove GCSE and LoadVN from the testsuite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54832 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated...
Owen Anderson [Fri, 15 Aug 2008 21:31:02 +0000 (21:31 +0000)]
Remove GCSE, ValueNumbering, and LoadValueNumbering.  These have been deprecated for almost a year; it's finally time for them to go away.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54822 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReapply 54786. Add overflow and number of mantissa bits checks.
Devang Patel [Fri, 15 Aug 2008 21:21:34 +0000 (21:21 +0000)]
Reapply 54786. Add overflow and number of mantissa bits checks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54821 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConvert several std::vectors over to SmallVector, and use reserve() as appropriate...
Owen Anderson [Fri, 15 Aug 2008 18:49:41 +0000 (18:49 +0000)]
Convert several std::vectors over to SmallVector, and use reserve() as appropriate for cases where std::vector is still used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54820 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a value_type typedef to SmallVector, to make it more compatible with STL adapters.
Owen Anderson [Fri, 15 Aug 2008 18:45:51 +0000 (18:45 +0000)]
Add a value_type typedef to SmallVector, to make it more compatible with STL adapters.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54819 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInline the fastpath of PATypeHolder::get(). This is a small speedup in
Chris Lattner [Fri, 15 Aug 2008 15:16:50 +0000 (15:16 +0000)]
Inline the fastpath of PATypeHolder::get().  This is a small speedup in
instcombine among other things.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54814 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert 54786. It's not checking for overflows, etc.
Evan Cheng [Fri, 15 Aug 2008 08:12:11 +0000 (08:12 +0000)]
Revert 54786. It's not checking for overflows, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54813 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agouse smallvector instead of vector for a couple worklists. This speeds up instcombine
Chris Lattner [Fri, 15 Aug 2008 04:03:01 +0000 (04:03 +0000)]
use smallvector instead of vector for a couple worklists.  This speeds up instcombine
by ~10% on some testcases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54811 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse SmallSet instead of std::set to save allocations.
Owen Anderson [Thu, 14 Aug 2008 23:41:38 +0000 (23:41 +0000)]
Use SmallSet instead of std::set to save allocations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54810 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRenaming LLVMC/dg.exp to LLVM/llvmc.exp
Bill Wendling [Thu, 14 Aug 2008 23:37:58 +0000 (23:37 +0000)]
Renaming LLVMC/dg.exp to LLVM/llvmc.exp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54809 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove MachineInstr::getOpcode inline.
Owen Anderson [Thu, 14 Aug 2008 23:25:30 +0000 (23:25 +0000)]
Move MachineInstr::getOpcode inline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54807 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBuild the X86GenFastISel.inc file.
Dan Gohman [Thu, 14 Aug 2008 23:18:11 +0000 (23:18 +0000)]
Build the X86GenFastISel.inc file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54806 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThe pass manager is not able to schedule -loop-deletion -loop-index-split.
Devang Patel [Thu, 14 Aug 2008 23:07:48 +0000 (23:07 +0000)]
The pass manager is not able to schedule -loop-deletion -loop-index-split.

The loop-deletion pass does not preserve dom frontier, which is required by
loop-index-split. When the PM checks dom frontier for loop-index-split, it has
already verified that lcssa is availalble. However, new dom frontier forces new
loop pass manager, which does not  have lcssa yet.

The PM should recheck availability of required analysis passes in such cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54805 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemporarily revert r54792. It's causing an ICE during bootstrapping.
Bill Wendling [Thu, 14 Aug 2008 23:05:24 +0000 (23:05 +0000)]
Temporarily revert r54792. It's causing an ICE during bootstrapping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54804 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAlso avoid pinsrw and pinsrb with a variable insertelement index.
Dan Gohman [Thu, 14 Aug 2008 22:53:18 +0000 (22:53 +0000)]
Also avoid pinsrw and pinsrb with a variable insertelement index.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54803 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConvert uses of std::vector in TargetInstrInfo to SmallVector. This change had to...
Owen Anderson [Thu, 14 Aug 2008 22:49:33 +0000 (22:49 +0000)]
Convert uses of std::vector in TargetInstrInfo to SmallVector.  This change had to be propoagated down into all the targets and up into all clients of this API.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54802 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't try to use the insertps instruction for vector
Dan Gohman [Thu, 14 Aug 2008 22:43:26 +0000 (22:43 +0000)]
Don't try to use the insertps instruction for vector
element inserts with non-constant indices. This fixes
CodeGen/X86/vector-variable-idx.ll on machines that
have SSE4.1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54801 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake FastISel's constructor protected, and give it a destructor.
Dan Gohman [Thu, 14 Aug 2008 21:51:29 +0000 (21:51 +0000)]
Make FastISel's constructor protected, and give it a destructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54793 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse DenseMap. Patch by Pratik Solanki.
Devang Patel [Thu, 14 Aug 2008 21:31:10 +0000 (21:31 +0000)]
Use DenseMap. Patch by Pratik Solanki.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54792 91177308-0d34-0410-b5e6-96231b3b80d8