oota-llvm.git
15 years agoCreate a new ARM-specific DAG node, VDUP, to represent a splat from a
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

15 years agoDuring legalization, change Neon vdup_lane operations from shuffles to
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

15 years agoCMake: Corrected indentation on a block of code.
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

15 years agoCMake: Use LLVM_COMMON_DEPENDS on add_llvm_executable.
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

15 years agoCMake: propagate to the parent scope LLVM_COMMON_DEPENDS. This is
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

15 years agoCMake: updated list of source files for library MC.
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

15 years agoUpdate llvm-mc / MCAsmStreamer to print the instruction using the actual target
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

15 years agoAdd virtual printMCInst method to AsmPrinter, as a quick way to expose the API
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

15 years agoAdd X86 instruction printer support for printing MCValue operands.
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

15 years agoAdd MCSymbol::{print, dump}
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

15 years agoAdd MCValue::{print, dump}
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

15 years agollvm-mc: Move MCAsmToken::getLoc() into MC library where it belongs.
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

15 years agoIndentation change.
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

15 years agoCMake: updated library dependencies.
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

15 years agoCMake: build llvm-config before the other tools.
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

15 years agoShrink ADR and LDR from constantpool late during constantpool island pass.
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

15 years agoAdd helpers for fetching basic types.
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

15 years agoNew entry.
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

15 years agoMake TargetData optional in GlobalOpt and ArgumentPromotion.
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

15 years agoMake these matching rules more strict so that they don't
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

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