oota-llvm.git
15 years agoExpose LLVMContext to llvm-c.
Erick Tryzelaar [Fri, 14 Aug 2009 00:01:31 +0000 (00:01 +0000)]
Expose LLVMContext to llvm-c.

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

15 years agoFix MCSectionELF::ShouldOmitSectionDirective's matching of .data and
Dan Gohman [Thu, 13 Aug 2009 23:56:34 +0000 (23:56 +0000)]
Fix MCSectionELF::ShouldOmitSectionDirective's matching of .data and
friends so that it doesn't match sections like .data.rel.local, which
should not be emitted as section directives.

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

15 years agoTargetRegistry: Change AsmPrinter constructor to be typed as returning an
Daniel Dunbar [Thu, 13 Aug 2009 23:48:47 +0000 (23:48 +0000)]
TargetRegistry: Change AsmPrinter constructor to be typed as returning an
AsmPrinter instance (instead of just a FunctionPass)

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

15 years agoMark this test as requiring the powerpc target.
Daniel Dunbar [Thu, 13 Aug 2009 23:47:58 +0000 (23:47 +0000)]
Mark this test as requiring the powerpc target.

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

15 years agollvm-mc: Add dummy MCStreamer implementation, (eventually) for use in profiling.
Daniel Dunbar [Thu, 13 Aug 2009 23:36:34 +0000 (23:36 +0000)]
llvm-mc: Add dummy MCStreamer implementation, (eventually) for use in profiling.
 - Currently unused.

 - A few other random comment fixes lumped in.

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

15 years agoRemove HasCrazyBSS and add a flag in TAI to indicate that '.section'
Bruno Cardoso Lopes [Thu, 13 Aug 2009 23:30:21 +0000 (23:30 +0000)]
Remove HasCrazyBSS and add a flag in TAI to indicate that '.section'
must be emitted for PowerPC-Linux '.bss' section

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

15 years agoActually privatize a IntegerTypes, and fix a few bugs exposed by this.
Owen Anderson [Thu, 13 Aug 2009 23:27:32 +0000 (23:27 +0000)]
Actually privatize a IntegerTypes, and fix a few bugs exposed by this.

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

15 years agoWhen standard output is a terminal, set outs() to be unbuffered, to
Dan Gohman [Thu, 13 Aug 2009 23:18:56 +0000 (23:18 +0000)]
When standard output is a terminal, set outs() to be unbuffered, to
mimic the behavior of stdtout, which is line-buffered when the output
is a terminal. This fixes some issues with bugpoint output appearing
being printed out of order.

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

15 years agoMake formatted_raw_ostream restore the buffer settings of the
Dan Gohman [Thu, 13 Aug 2009 23:16:59 +0000 (23:16 +0000)]
Make formatted_raw_ostream restore the buffer settings of the
underlying stream when it is finished, so that clients don't
have to do this manually.

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

15 years agoTake the fast path for any named value and any GlobalValue, which doesn't
Dan Gohman [Thu, 13 Aug 2009 23:07:11 +0000 (23:07 +0000)]
Take the fast path for any named value and any GlobalValue, which doesn't
need TypePrinting despite being a subclass of Constant. This fixes
compile-time problems especially visible on 403.gcc when -asm-verbose is
enabled.

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

15 years agoPush LLVMContexts through the IntegerType APIs.
Owen Anderson [Thu, 13 Aug 2009 21:58:54 +0000 (21:58 +0000)]
Push LLVMContexts through the IntegerType APIs.

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

15 years agoRemove hack used to strip unwanted chars from section name
Bruno Cardoso Lopes [Thu, 13 Aug 2009 21:25:27 +0000 (21:25 +0000)]
Remove hack used to strip unwanted chars from section name
Use MCSectionELF methods as much as possible, removing some
ELFWriter methods which are now unused

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

15 years agoAdd a method to return BSSSection from TargetLoweringObjectFile
Bruno Cardoso Lopes [Thu, 13 Aug 2009 21:10:28 +0000 (21:10 +0000)]
Add a method to return BSSSection from TargetLoweringObjectFile

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

15 years agoAdd a method to return if the ELF section contains only common symbols!
Bruno Cardoso Lopes [Thu, 13 Aug 2009 21:08:56 +0000 (21:08 +0000)]
Add a method to return if the ELF section contains only common symbols!

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

15 years agoAdd unimplemented destructor declarations to hopefully address
Dan Gohman [Thu, 13 Aug 2009 20:43:13 +0000 (20:43 +0000)]
Add unimplemented destructor declarations to hopefully address
compiler warnings on windows (PR4714).

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

15 years agoFix a compiler warning about comparing signed with unsigned.
Dan Gohman [Thu, 13 Aug 2009 20:32:03 +0000 (20:32 +0000)]
Fix a compiler warning about comparing signed with unsigned.

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

15 years ago* Moved all tool version requirements to the same place
Misha Brukman [Thu, 13 Aug 2009 20:29:30 +0000 (20:29 +0000)]
* Moved all tool version requirements to the same place
* Cleaned up multiple uses of literal version numbers and simplified 'cleaning'

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

15 years agoConverted tabs to spaces.
Misha Brukman [Thu, 13 Aug 2009 20:12:48 +0000 (20:12 +0000)]
Converted tabs to spaces.

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

15 years agoGrammar fix.
Misha Brukman [Thu, 13 Aug 2009 20:08:52 +0000 (20:08 +0000)]
Grammar fix.

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

15 years agoTweak svn:ignore
Daniel Dunbar [Thu, 13 Aug 2009 19:55:51 +0000 (19:55 +0000)]
Tweak svn:ignore

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

15 years agoTargetRegistry: Reorganize AsmPrinter construction so that clients pass in the
Daniel Dunbar [Thu, 13 Aug 2009 19:38:51 +0000 (19:38 +0000)]
TargetRegistry: Reorganize AsmPrinter construction so that clients pass in the
TargetAsmInfo. This eliminates a dependency on TargetMachine.h from
TargetRegistry.h, which technically was a layering violation.
 - Clients probably can only sensibly pass in the same TargetAsmInfo as the
   TargetMachine has, but there are only limited clients of this API.

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

15 years agoAdd an assert to check copy_to_buffer's precondition.
Dan Gohman [Thu, 13 Aug 2009 18:38:15 +0000 (18:38 +0000)]
Add an assert to check copy_to_buffer's precondition.

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

15 years agoSet raw_os_ostream, raw_string_ostream, and raw_svector_ostream to be
Dan Gohman [Thu, 13 Aug 2009 17:41:40 +0000 (17:41 +0000)]
Set raw_os_ostream, raw_string_ostream, and raw_svector_ostream to be
unbuffered. std::ostream does its own buffering, and std::string and
SmallVector both have allocation strategies intended to handle frequent
appending.

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

15 years agoAdd support to raw_ostream for sizing the buffer according to the
Dan Gohman [Thu, 13 Aug 2009 17:27:29 +0000 (17:27 +0000)]
Add support to raw_ostream for sizing the buffer according to the
needs of the underlying output mechanism. raw_fd_ostream now uses
st_blksize from fstat to determine a buffer size.

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

15 years agoAdd temporary hack to teach LLVM to reconfigure itself to pick up the new PIC16
Daniel Dunbar [Thu, 13 Aug 2009 17:22:49 +0000 (17:22 +0000)]
Add temporary hack to teach LLVM to reconfigure itself to pick up the new PIC16
AsmPrinter (in AsmPrinters.def).

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

15 years agoReapply pieces of 78914 reverted in 78916, this has been fixed.
Daniel Dunbar [Thu, 13 Aug 2009 17:08:54 +0000 (17:08 +0000)]
Reapply pieces of 78914 reverted in 78916, this has been fixed.

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

15 years agoMake raw_ostream non-copyable.
Dan Gohman [Thu, 13 Aug 2009 17:07:08 +0000 (17:07 +0000)]
Make raw_ostream non-copyable.

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

15 years agoRevert 78892 and 78895, these break generating working executables on
Daniel Dunbar [Thu, 13 Aug 2009 17:03:38 +0000 (17:03 +0000)]
Revert 78892 and 78895, these break generating working executables on
x86_64-apple-darwin10.

--- Reverse-merging r78895 into '.':
U    test/CodeGen/PowerPC/2008-12-12-EH.ll
U    lib/Target/DarwinTargetAsmInfo.cpp
--- Reverse-merging r78892 into '.':
U    include/llvm/Target/DarwinTargetAsmInfo.h
U    lib/Target/X86/X86TargetAsmInfo.cpp
U    lib/Target/X86/X86TargetAsmInfo.h
U    lib/Target/ARM/ARMTargetAsmInfo.h
U    lib/Target/ARM/ARMTargetMachine.cpp
U    lib/Target/ARM/ARMTargetAsmInfo.cpp
U    lib/Target/PowerPC/PPCTargetAsmInfo.cpp
U    lib/Target/PowerPC/PPCTargetAsmInfo.h
U    lib/Target/PowerPC/PPCTargetMachine.cpp
G    lib/Target/DarwinTargetAsmInfo.cpp

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

15 years agoAdd missing defs of R2 and D1.
Jim Grosbach [Thu, 13 Aug 2009 16:59:44 +0000 (16:59 +0000)]
Add missing defs of R2 and D1.

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

15 years agoRemove obsoleted files (from AsmPrinter move)
Daniel Dunbar [Thu, 13 Aug 2009 16:57:03 +0000 (16:57 +0000)]
Remove obsoleted files (from AsmPrinter move)

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

15 years agoRevert r78914, as it was breaking the build.
Owen Anderson [Thu, 13 Aug 2009 16:54:39 +0000 (16:54 +0000)]
Revert r78914, as it was breaking the build.

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

15 years agoSimplify this code so that it doesn't depend on raw_ostream being copyable.
Dan Gohman [Thu, 13 Aug 2009 16:51:51 +0000 (16:51 +0000)]
Simplify this code so that it doesn't depend on raw_ostream being copyable.

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

15 years agoMove PIC16 AsmPrinter to PIC16/AsmPrinter directory.
Sanjiv Gupta [Thu, 13 Aug 2009 16:37:05 +0000 (16:37 +0000)]
Move PIC16 AsmPrinter to PIC16/AsmPrinter directory.
Remove CooperTargetMachine, as currently only one is supported.

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

15 years agoTrack pristine registers as if they were live-in in the register scavenger.
Jakob Stoklund Olesen [Thu, 13 Aug 2009 16:20:04 +0000 (16:20 +0000)]
Track pristine registers as if they were live-in in the register scavenger.

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

15 years agoUse pristine register info in machine code verifier.
Jakob Stoklund Olesen [Thu, 13 Aug 2009 16:19:51 +0000 (16:19 +0000)]
Use pristine register info in machine code verifier.

So far these registers are simply tracked as if they were live-in.

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

15 years agoAdd MachineFrameInfo::getPristineRegisters(MBB) method.
Jakob Stoklund Olesen [Thu, 13 Aug 2009 16:19:33 +0000 (16:19 +0000)]
Add MachineFrameInfo::getPristineRegisters(MBB) method.

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

15 years agoAdd callback to allow target to adjust latency of schedule dependency edge.
David Goodwin [Thu, 13 Aug 2009 16:05:04 +0000 (16:05 +0000)]
Add callback to allow target to adjust latency of schedule dependency edge.

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

15 years agoMove SetBufferSize and SetUnbuffered out of line.
Dan Gohman [Thu, 13 Aug 2009 15:58:55 +0000 (15:58 +0000)]
Move SetBufferSize and SetUnbuffered out of line.

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

15 years agoFinalize itineraries for cortex-a8 integer multiply
David Goodwin [Thu, 13 Aug 2009 15:51:13 +0000 (15:51 +0000)]
Finalize itineraries for cortex-a8 integer multiply

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

15 years agoFix the buffer handling logic so that write_impl is always called with
Dan Gohman [Thu, 13 Aug 2009 15:44:52 +0000 (15:44 +0000)]
Fix the buffer handling logic so that write_impl is always called with
a full buffer, rather than often being called with a
slightly-less-than-full buffer.

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

15 years agoFix a 4x slowdown in llc -asm-verbose caused by the use of
Dan Gohman [Thu, 13 Aug 2009 15:27:57 +0000 (15:27 +0000)]
Fix a 4x slowdown in llc -asm-verbose caused by the use of
WriteAsOperand in more places.

Now that more things are using WriteAsOperand, its behavior of
constructing a TypePrinting object and populating it with strings for all
the numbered types in the Module on each call is a significant bottleneck.
Fancier solutions could be pursued here, but for now, just bypass the
TypePrinting overhead in obvious cases.

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

15 years agoRemove unnecessary newline
Jim Grosbach [Thu, 13 Aug 2009 15:12:16 +0000 (15:12 +0000)]
Remove unnecessary newline

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

15 years agoCorrect comment wording
Jim Grosbach [Thu, 13 Aug 2009 15:11:43 +0000 (15:11 +0000)]
Correct comment wording

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

15 years agoreintroduce support for Mips "small" section handling. This is
Chris Lattner [Thu, 13 Aug 2009 06:28:06 +0000 (06:28 +0000)]
reintroduce support for Mips "small" section handling.  This is
implemented somewhat differently than before, but it should have
the same functionality and the previous testcase passes again.

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

15 years agoFix the N>=64 case in the isInt<> and isUint<> templates.
Jakob Stoklund Olesen [Thu, 13 Aug 2009 06:24:02 +0000 (06:24 +0000)]
Fix the N>=64 case in the isInt<> and isUint<> templates.

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

15 years agotPOP_RET now has predicate operands.
Evan Cheng [Thu, 13 Aug 2009 06:05:07 +0000 (06:05 +0000)]
tPOP_RET now has predicate operands.

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

15 years agoAdd a fixme message about canonicalizing floating-point vector types.
Bob Wilson [Thu, 13 Aug 2009 06:01:30 +0000 (06:01 +0000)]
Add a fixme message about canonicalizing floating-point vector types.

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

15 years agoRevert r78852 for now. I want to do this differently, but I don't have time
Bob Wilson [Thu, 13 Aug 2009 05:58:56 +0000 (05:58 +0000)]
Revert r78852 for now.  I want to do this differently, but I don't have time
to fix it tonight.

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

15 years agofix typo, add 10.6 version of test for my previous patch.
Chris Lattner [Thu, 13 Aug 2009 05:43:33 +0000 (05:43 +0000)]
fix typo, add 10.6 version of test for my previous patch.

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

15 years agoRestore some "small section" support code, reverting my patch from r76936.
Chris Lattner [Thu, 13 Aug 2009 05:41:27 +0000 (05:41 +0000)]
Restore some "small section" support code, reverting my patch from r76936.

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

15 years agoIt's ok to spill a tGPR register as long as it's still allocated a low register.
Evan Cheng [Thu, 13 Aug 2009 05:40:51 +0000 (05:40 +0000)]
It's ok to spill a tGPR register as long as it's still allocated a low register.

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

15 years agofix a minor fixme. When building with SL and later tools, the ".eh" symbols
Chris Lattner [Thu, 13 Aug 2009 05:30:22 +0000 (05:30 +0000)]
fix a minor fixme.  When building with SL and later tools, the ".eh" symbols
don't need to be exported from the .o files.

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

15 years agoWhen InstCombine simplifies a load -> extract element to gep -> load, place
Mon P Wang [Thu, 13 Aug 2009 05:12:13 +0000 (05:12 +0000)]
When InstCombine simplifies a load -> extract element to gep -> load, place
the new load by the old load instead of by the extract element because
a store could have occurred between the load and extract element.

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

15 years agoChange MCSectionELF to represent a section semantically instead of
Bruno Cardoso Lopes [Thu, 13 Aug 2009 05:07:35 +0000 (05:07 +0000)]
Change MCSectionELF to represent a section semantically instead of
syntactically as a string, very similiar to what Chris did with MachO.
The parsing support and validation is not introduced yet.

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

15 years agoSimplify conditional.
Andreas Bolka [Thu, 13 Aug 2009 03:05:20 +0000 (03:05 +0000)]
Simplify conditional.

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

15 years agoSimplify and reduce indentation using early exits.
Andreas Bolka [Thu, 13 Aug 2009 03:00:57 +0000 (03:00 +0000)]
Simplify and reduce indentation using early exits.

No intended functionality change.

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

15 years agoDEBUGify some DOUTs.
Andreas Bolka [Thu, 13 Aug 2009 02:45:03 +0000 (02:45 +0000)]
DEBUGify some DOUTs.

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

15 years agoPrune trailing whitespace.
Andreas Bolka [Thu, 13 Aug 2009 02:40:50 +0000 (02:40 +0000)]
Prune trailing whitespace.

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

15 years agoConvert APint::{fromString,APInt,getBitsNeeded} to use StringRef.
Daniel Dunbar [Thu, 13 Aug 2009 02:33:34 +0000 (02:33 +0000)]
Convert APint::{fromString,APInt,getBitsNeeded} to use StringRef.
 - Patch by Erick Tryzelaar, with some edits (and a bug fix) from me.

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

15 years agoAdd a comment to describe why vector shuffles are legalized to custom DAG nodes.
Bob Wilson [Thu, 13 Aug 2009 02:13:04 +0000 (02:13 +0000)]
Add a comment to describe why vector shuffles are legalized to custom DAG nodes.

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

15 years agoAdd StringRef::front (with some small tweaks while I was in the area).
Daniel Dunbar [Thu, 13 Aug 2009 02:03:30 +0000 (02:03 +0000)]
Add StringRef::front (with some small tweaks while I was in the area).
 - Patch by Erick Tryzelaar

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

15 years agoUse cast<> instead of dyn_cast<> in places where the type is known.
Bob Wilson [Thu, 13 Aug 2009 01:57:47 +0000 (01:57 +0000)]
Use cast<> instead of dyn_cast<> in places where the type is known.

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

15 years agoUpdate llvm-prof for ProfileInfo API changes.
Daniel Dunbar [Thu, 13 Aug 2009 01:55:43 +0000 (01:55 +0000)]
Update llvm-prof for ProfileInfo API changes.
 - Patch by Erick Tryzelaar

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

15 years agoChange the indentation for LLVM Assembly files from 1 tab to 2 spaces.
Dan Gohman [Thu, 13 Aug 2009 01:41:52 +0000 (01:41 +0000)]
Change the indentation for LLVM Assembly files from 1 tab to 2 spaces.
This is vaguely consistent with LLVM's own source code, but more
importantly it lets more lines stay within 80 columns.

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

15 years agoVarious AsmWriter output cleanups. Use WriteAsOperand instead of
Dan Gohman [Thu, 13 Aug 2009 01:36:44 +0000 (01:36 +0000)]
Various AsmWriter output cleanups. Use WriteAsOperand instead of
PrintUnmangledNameSafely.

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

15 years agosink uniquing of sections out of MCContext into the ELF and PECOFF TLOF implementations.
Chris Lattner [Thu, 13 Aug 2009 00:37:15 +0000 (00:37 +0000)]
sink uniquing of sections out of MCContext into the ELF and PECOFF TLOF implementations.

MCContext no longer maintains a string -> section map.

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

15 years agoSymbols with LinkerPrivateLinkage are weak.
Dale Johannesen [Thu, 13 Aug 2009 00:28:52 +0000 (00:28 +0000)]
Symbols with LinkerPrivateLinkage are weak.
This allows WebKit to build again.

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

15 years agomake PIC16 unique its own sections instead of having mcontext do it.
Chris Lattner [Thu, 13 Aug 2009 00:26:52 +0000 (00:26 +0000)]
make PIC16 unique its own sections instead of having mcontext do it.

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

15 years agoadd some comments: MCContext owns the MCSections, but it bump pointer allocates
Chris Lattner [Thu, 13 Aug 2009 00:21:53 +0000 (00:21 +0000)]
add some comments: MCContext owns the MCSections, but it bump pointer allocates
them, so it doesn't have to explicitly free them.

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

15 years agoreject invalid code like:
Chris Lattner [Thu, 13 Aug 2009 00:05:07 +0000 (00:05 +0000)]
reject invalid code like:
int x __attribute__((section("_foo, _bar"))) = 4;
int y __attribute__((section("_foo, _bar, 4byte_literals"))) = 1;

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

15 years agoimplement support for uniquing MachO sections.
Chris Lattner [Wed, 12 Aug 2009 23:55:02 +0000 (23:55 +0000)]
implement support for uniquing MachO sections.

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

15 years agoNow that numbered types have their number printed, it's no longer
Dan Gohman [Wed, 12 Aug 2009 23:54:22 +0000 (23:54 +0000)]
Now that numbered types have their number printed, it's no longer
interesting to print the number in a comment. Numbered instructions
don't need their number in a comment either.

Also, tidy up newline printing.

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

15 years agosome compiler don't get string from TLOF.h implicitly or something.
Chris Lattner [Wed, 12 Aug 2009 23:53:59 +0000 (23:53 +0000)]
some compiler don't get string from TLOF.h implicitly or something.

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

15 years agoreduce #includage
Chris Lattner [Wed, 12 Aug 2009 23:34:27 +0000 (23:34 +0000)]
reduce #includage

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

15 years agoExtend the AsmWriter to print unnamed numbered types as "%0 = type ..."
Dan Gohman [Wed, 12 Aug 2009 23:32:33 +0000 (23:32 +0000)]
Extend the AsmWriter to print unnamed numbered types as "%0 = type ..."
and unnamed numbered global variables as "@0 = global ...". Extend the
AsmParser to recognize these forms.

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

15 years agoMark the callsite intrinsic such that the opimizers know it's not dead.
Jim Grosbach [Wed, 12 Aug 2009 23:03:43 +0000 (23:03 +0000)]
Mark the callsite intrinsic such that the opimizers know it's not dead.

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

15 years agoRecognize Neon VDUP shuffles during legalization instead of selection.
Bob Wilson [Wed, 12 Aug 2009 22:54:19 +0000 (22:54 +0000)]
Recognize Neon VDUP shuffles during legalization instead of selection.

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

15 years agoRecognize Neon VREV shuffles during legalization instead of selection.
Bob Wilson [Wed, 12 Aug 2009 22:31:50 +0000 (22:31 +0000)]
Recognize Neon VREV shuffles during legalization instead of selection.

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

15 years agoAdd a new "SDTCisVec" SDTypeConstraint. This complements the vAny type.
Bob Wilson [Wed, 12 Aug 2009 22:30:59 +0000 (22:30 +0000)]
Add a new "SDTCisVec" SDTypeConstraint.  This complements the vAny type.
There have been a few times where I've wanted this but ended up leaving the
operand type unconstrained.  It is easy to add this now and should help
catch errors in the future.

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

15 years agoThis void is implicit in C++.
Dan Gohman [Wed, 12 Aug 2009 22:10:57 +0000 (22:10 +0000)]
This void is implicit in C++.

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

15 years agoFix counting of Post-RA scheduling stalls. Improve debug output.
David Goodwin [Wed, 12 Aug 2009 21:47:46 +0000 (21:47 +0000)]
Fix counting of Post-RA scheduling stalls. Improve debug output.

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

15 years agoAdd some release notes about ARM v7 support and known problems.
Bob Wilson [Wed, 12 Aug 2009 21:19:49 +0000 (21:19 +0000)]
Add some release notes about ARM v7 support and known problems.

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

15 years agoAdded RegisterCoalescer to required passes for PBQP.
Lang Hames [Wed, 12 Aug 2009 21:04:53 +0000 (21:04 +0000)]
Added RegisterCoalescer to required passes for PBQP.

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

15 years agoUse WriteAsOperand to print BasicBlock names.
Dan Gohman [Wed, 12 Aug 2009 20:56:56 +0000 (20:56 +0000)]
Use WriteAsOperand to print BasicBlock names.

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

15 years agoMake AsmWriter more careful with formatted_raw_ostream so that
Dan Gohman [Wed, 12 Aug 2009 20:56:03 +0000 (20:56 +0000)]
Make AsmWriter more careful with formatted_raw_ostream so that
it doesn't leave the underlying stream in unbuffered mode when
the stream was originally buffered.

Also, change WriteAsOperand back to plain raw_ostream. This
lets it work for either formatted_raw_ostream or plain
raw_ostream, so that it doesn't have to force a buffer flush
on a plain raw_ostream.

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

15 years agoAdd a GetBufferSize() member to raw_ostream and use it to
Dan Gohman [Wed, 12 Aug 2009 20:52:45 +0000 (20:52 +0000)]
Add a GetBufferSize() member to raw_ostream and use it to
simplify some formatted_raw_ostream code.

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

15 years agoGenerate Neon VTBL and VTBX instructions from the corresponding intrinsics.
Bob Wilson [Wed, 12 Aug 2009 20:51:55 +0000 (20:51 +0000)]
Generate Neon VTBL and VTBX instructions from the corresponding intrinsics.

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

15 years agoUse PadToColumn instead of tabs.
Dan Gohman [Wed, 12 Aug 2009 18:55:32 +0000 (18:55 +0000)]
Use PadToColumn instead of tabs.

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

15 years agoFix a few more places to use PadToColumn instead of tabs. And fix
Dan Gohman [Wed, 12 Aug 2009 18:47:05 +0000 (18:47 +0000)]
Fix a few more places to use PadToColumn instead of tabs. And fix
the basic block label printing to check whether a block has a name
before printing a comment character and whitespace for it.

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

15 years agoPredCC is meant to be 2 bits wide, like PredCC1.
Evan Cheng [Wed, 12 Aug 2009 18:35:50 +0000 (18:35 +0000)]
PredCC is meant to be 2 bits wide, like PredCC1.

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

15 years agoUse PadToColumn instead of tabs for aligning comments. Fix one place
Dan Gohman [Wed, 12 Aug 2009 18:32:22 +0000 (18:32 +0000)]
Use PadToColumn instead of tabs for aligning comments. Fix one place
that emitted unnecessary whitespace outside of VerboseAsm mode.

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

15 years agoEnhance the InstrStage object to enable the specification of an Itinerary with overla...
David Goodwin [Wed, 12 Aug 2009 18:31:53 +0000 (18:31 +0000)]
Enhance the InstrStage object to enable the specification of an Itinerary with overlapping stages. The default is to maintain the current behavior that the "next" stage immediately follows the previous one.

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

15 years agoAdd attempted idiotproofing comment per review.
Dale Johannesen [Wed, 12 Aug 2009 18:04:11 +0000 (18:04 +0000)]
Add attempted idiotproofing comment per review.

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

15 years agoimprove win32 path support, patch by Baptiste Lepilleur!
Chris Lattner [Wed, 12 Aug 2009 17:47:06 +0000 (17:47 +0000)]
improve win32 path support, patch by Baptiste Lepilleur!

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

15 years agoTest for 78821, sort of. While that bug is nondeterministic,
Dale Johannesen [Wed, 12 Aug 2009 17:43:47 +0000 (17:43 +0000)]
Test for 78821, sort of.  While that bug is nondeterministic,
this test failed consistently on a Darwin build.

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

15 years agoFix a nondeterministic bug in APInt::roundToDouble;
Dale Johannesen [Wed, 12 Aug 2009 17:42:34 +0000 (17:42 +0000)]
Fix a nondeterministic bug in APInt::roundToDouble;
when !isSingleWord() but getActiveBits() is small,
we were using the pointer value instead of the low
word of the integer value.

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

15 years agoFix whitespace expectations to match the new AsmWriter behavior.
Dan Gohman [Wed, 12 Aug 2009 17:39:04 +0000 (17:39 +0000)]
Fix whitespace expectations to match the new AsmWriter behavior.

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

15 years agoAdd catch block handling to SjLj exception handling.
Jim Grosbach [Wed, 12 Aug 2009 17:38:44 +0000 (17:38 +0000)]
Add catch block handling to SjLj exception handling.

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

15 years agoMake LLVM Assembly dramatically easier to read by aligning the comments,
Dan Gohman [Wed, 12 Aug 2009 17:23:50 +0000 (17:23 +0000)]
Make LLVM Assembly dramatically easier to read by aligning the comments,
using formatted_raw_ostream's PadToColumn.

Before:

bb1:            ; preds = %bb
  %2 = sext i32 %i.01 to i64            ; <i64> [#uses=1]
  %3 = getelementptr double* %p, i64 %2         ; <double*> [#uses=1]
  %4 = load double* %3, align 8         ; <double> [#uses=1]
  %5 = fmul double %4, 1.100000e+00             ; <double> [#uses=1]
  %6 = sext i32 %i.01 to i64            ; <i64> [#uses=1]
  %7 = getelementptr double* %p, i64 %6         ; <double*> [#uses=1]

After:

bb1:                                        ; preds = %bb
  %2 = sext i32 %i.01 to i64                ; <i64> [#uses=1]
  %3 = getelementptr double* %p, i64 %2     ; <double*> [#uses=1]
  %4 = load double* %3, align 8             ; <double> [#uses=1]
  %5 = fmul double %4, 1.100000e+00         ; <double> [#uses=1]
  %6 = sext i32 %i.01 to i64                ; <i64> [#uses=1]
  %7 = getelementptr double* %p, i64 %6     ; <double*> [#uses=1]

Several tests required whitespace adjustments.

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

15 years agoFix TableGen warnings. This partly reverts my previous change to this file,
Bob Wilson [Wed, 12 Aug 2009 17:04:56 +0000 (17:04 +0000)]
Fix TableGen warnings.  This partly reverts my previous change to this file,
leaving the mayLoad and mayStore settings around only the load/store
instructions where those can't be inferred from the patterns.

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