Bob Wilson [Fri, 14 Aug 2009 05:13:08 +0000 (05:13 +0000)]
Create a new ARM-specific DAG node, VDUP, to represent a splat from a
scalar_to_vector. Generate these VDUP nodes during legalization instead
of trying to recognize the pattern during selection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78994
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 14 Aug 2009 05:08:32 +0000 (05:08 +0000)]
During legalization, change Neon vdup_lane operations from shuffles to
target-specific VDUPLANE nodes. This allows the subreg handling for the
quad-register version to be done easily with Pats in the .td file, instead
of with custom code in ARMISelDAGToDAG.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78993
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 14 Aug 2009 04:55:21 +0000 (04:55 +0000)]
CMake: Corrected indentation on a block of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78992
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 14 Aug 2009 04:38:57 +0000 (04:38 +0000)]
CMake: Use LLVM_COMMON_DEPENDS on add_llvm_executable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78990
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 14 Aug 2009 04:29:33 +0000 (04:29 +0000)]
CMake: propagate to the parent scope LLVM_COMMON_DEPENDS. This is
necessary for the changes being effective on the successive targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78989
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 14 Aug 2009 04:14:45 +0000 (04:14 +0000)]
CMake: updated list of source files for library MC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78988
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 14 Aug 2009 03:48:55 +0000 (03:48 +0000)]
Update llvm-mc / MCAsmStreamer to print the instruction using the actual target
specific printer (this only works on x86, for now).
- This makes it possible to do some correctness checking of the parsing and
matching, since we can compare the results of 'as' on the original input, to
those of 'as' on the output from llvm-mc.
- In theory, we could now have an easy ATT -> Intel syntax converter. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78986
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 14 Aug 2009 03:43:57 +0000 (03:43 +0000)]
Add virtual printMCInst method to AsmPrinter, as a quick way to expose the API
to print one instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78985
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 14 Aug 2009 03:42:12 +0000 (03:42 +0000)]
Add X86 instruction printer support for printing MCValue operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78984
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 14 Aug 2009 03:41:23 +0000 (03:41 +0000)]
Add MCSymbol::{print, dump}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78983
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 14 Aug 2009 03:11:09 +0000 (03:11 +0000)]
Add MCValue::{print, dump}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78982
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 14 Aug 2009 02:18:40 +0000 (02:18 +0000)]
llvm-mc: Move MCAsmToken::getLoc() into MC library where it belongs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78980
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Aug 2009 01:56:37 +0000 (01:56 +0000)]
Indentation change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78978
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 14 Aug 2009 01:55:28 +0000 (01:55 +0000)]
CMake: updated library dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78976
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 14 Aug 2009 01:55:05 +0000 (01:55 +0000)]
CMake: build llvm-config before the other tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78975
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Aug 2009 00:32:16 +0000 (00:32 +0000)]
Shrink ADR and LDR from constantpool late during constantpool island pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78970
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 14 Aug 2009 00:30:41 +0000 (00:30 +0000)]
Add helpers for fetching basic types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78969
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Aug 2009 00:16:47 +0000 (00:16 +0000)]
New entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78968
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 14 Aug 2009 00:11:03 +0000 (00:11 +0000)]
Make TargetData optional in GlobalOpt and ArgumentPromotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78967
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 14 Aug 2009 00:10:19 +0000 (00:10 +0000)]
Make these matching rules more strict so that they don't
accidentally match unrelated things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78966
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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