oota-llvm.git
11 years agostripAndComputeConstantOffsets is only called on pointers; check this
Dan Gohman [Thu, 31 Jan 2013 00:12:20 +0000 (00:12 +0000)]
stripAndComputeConstantOffsets is only called on pointers; check this
with an assert instead of failing and requiring callers to check for failure.

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

11 years agoRewrite this test properly with a FileCheck instead of greps
Eli Bendersky [Thu, 31 Jan 2013 00:11:52 +0000 (00:11 +0000)]
Rewrite this test properly with a FileCheck instead of greps

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

11 years agoFix ConstantFold's folding of icmp instructions to recognize that,
Dan Gohman [Thu, 31 Jan 2013 00:01:45 +0000 (00:01 +0000)]
Fix ConstantFold's folding of icmp instructions to recognize that,
for example, a one-past-the-end pointer from one global variable may
be equal to the base pointer of another global variable.

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

11 years agoAdded a unit test for r173983 that verifies that Target.isiOS() works correctly.
Michael Gottesman [Wed, 30 Jan 2013 23:48:13 +0000 (23:48 +0000)]
Added a unit test for r173983 that verifies that Target.isiOS() works correctly.

As a bonus I put in some extra checks to make sure that we are identifying the
machine word of various Mac OS X/iOS targets appropriately.

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

11 years agoPPC QPX requires a 32-byte aligned stack
Hal Finkel [Wed, 30 Jan 2013 23:43:27 +0000 (23:43 +0000)]
PPC QPX requires a 32-byte aligned stack

On systems which support the QPX vector instructions, the stack must be
32-byte aligned.

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

11 years agoRemove addRetAttributes and addFnAttributes, which aren't useful abstractions.
Bill Wendling [Wed, 30 Jan 2013 23:40:31 +0000 (23:40 +0000)]
Remove addRetAttributes and addFnAttributes, which aren't useful abstractions.

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

11 years agoConvert typeIncompatible to return an AttributeSet.
Bill Wendling [Wed, 30 Jan 2013 23:07:40 +0000 (23:07 +0000)]
Convert typeIncompatible to return an AttributeSet.

There are still places which treat the Attribute object as a collection of
attributes. I'm systematically removing them.

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

11 years agoForgot the test case before.
Evan Cheng [Wed, 30 Jan 2013 22:57:00 +0000 (22:57 +0000)]
Forgot the test case before.

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

11 years agoRestrict sin/cos optimization to 64-bit only for now. 32-bit is a bit messy and less...
Evan Cheng [Wed, 30 Jan 2013 22:56:35 +0000 (22:56 +0000)]
Restrict sin/cos optimization to 64-bit only for now. 32-bit is a bit messy and less critical.

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

11 years agoDoxygenified some comments in IRBuilder.h.
Michael Gottesman [Wed, 30 Jan 2013 22:56:31 +0000 (22:56 +0000)]
Doxygenified some comments in IRBuilder.h.

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

11 years agoRemoved CreateFPExtOrFPTrunc for now until I have the time to get in my vector conver...
Michael Gottesman [Wed, 30 Jan 2013 22:53:21 +0000 (22:53 +0000)]
Removed CreateFPExtOrFPTrunc for now until I have the time to get in my vector convert patch.

What I thought was going to be a quick thing has extended out a little bit in
time *sigh*. So after some thought in order to not cruft up the tree I am
removing this for now since it is the right thing to do.

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

11 years agoInitialize hasQPX in PPCSubtarget
Hal Finkel [Wed, 30 Jan 2013 22:43:44 +0000 (22:43 +0000)]
Initialize hasQPX in PPCSubtarget

This should have gone in with r173973.

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

11 years agoEncapsulate testing that we have an iOS Triple in Triple.h in the method isiOS
Michael Gottesman [Wed, 30 Jan 2013 22:38:19 +0000 (22:38 +0000)]
Encapsulate testing that we have an iOS Triple in Triple.h in the method isiOS
so we follow the convention that all other platforms follow by having an is*
test method.

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

11 years agoRemove redundant code.
Bill Wendling [Wed, 30 Jan 2013 21:22:59 +0000 (21:22 +0000)]
Remove redundant code.

It was creating a new AttrBuilder when we could just fill in the AttrBuilder
we're building.

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

11 years ago...in light of recent activity related to llvm.memcpy flags. I want to
Andrew Trick [Wed, 30 Jan 2013 21:19:35 +0000 (21:19 +0000)]
...in light of recent activity related to llvm.memcpy flags. I want to
prevent an llvm developer from mistakenly thinking that just because the
intrinsic has volatile flags that volatile operations can be converted
to or folded into them.

Platforms may rely on volatile loads and stores of natively supported
data width to be executed as single instruction. When compiling
C, this expectation likely holds for l-values of volatile primitive
types with native hardware support, but not necessarily for aggregate
types. The frontend upholds these expectations, which are not
specified in the IR.

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

11 years agoAdd definitions for the PPC a2q core marked as having QPX available
Hal Finkel [Wed, 30 Jan 2013 21:17:42 +0000 (21:17 +0000)]
Add definitions for the PPC a2q core marked as having QPX available

This is the first commit of a large series which will add support for the
QPX vector instruction set to the PowerPC backend. This instruction set is
used on the IBM Blue Gene/Q supercomputers.

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

11 years agoRemove a mention of TargetInstrDescriptor, which no longer exists in the code
Eli Bendersky [Wed, 30 Jan 2013 20:54:21 +0000 (20:54 +0000)]
Remove a mention of TargetInstrDescriptor, which no longer exists in the code

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

11 years ago[docs] Guide prospective TableGen backend writers.
Sean Silva [Wed, 30 Jan 2013 20:39:46 +0000 (20:39 +0000)]
[docs] Guide prospective TableGen backend writers.

Boilerplate is often the hardest part of getting started with these
kinds of things, so throw them a bone.

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

11 years agoUse the number of 'slots' in the AttributeSetImpl being 0 to indicate that the Attrib...
Bill Wendling [Wed, 30 Jan 2013 19:39:21 +0000 (19:39 +0000)]
Use the number of 'slots' in the AttributeSetImpl being 0 to indicate that the AttributeSet is empty.

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

11 years agoClean up whitespace and indentation a bit
Eli Bendersky [Wed, 30 Jan 2013 19:24:23 +0000 (19:24 +0000)]
Clean up whitespace and indentation a bit

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

11 years agoLinker: correctly link in dbg.declare
Manman Ren [Wed, 30 Jan 2013 17:42:15 +0000 (17:42 +0000)]
Linker: correctly link in dbg.declare

Given source IR:
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14), !dbg !15
we used to generate
call void @llvm.dbg.declare(metadata !27, metadata !28), !dbg !29
!27 = metadata !{null}

With this patch, we will correctly generate
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27), !dbg !28

Looking up %argc.addr in ValueMap will return null, since %argc.addr is already
correctly set up, we can use identity mapping.

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

11 years agoAdd a special ARM trap encoding for NaCl.
Eli Bendersky [Wed, 30 Jan 2013 16:30:19 +0000 (16:30 +0000)]
Add a special ARM trap encoding for NaCl.
More details in this thread: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130128/163783.html

Patch by JF Bastien

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

11 years agoAdd missing header and test cases for r173939.
Logan Chien [Wed, 30 Jan 2013 15:48:50 +0000 (15:48 +0000)]
Add missing header and test cases for r173939.

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

11 years agoOverride virtual function for ARM EH directives.
Logan Chien [Wed, 30 Jan 2013 15:39:04 +0000 (15:39 +0000)]
Override virtual function for ARM EH directives.

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

11 years agoLLDB uses ConvertUTF16toUTF8, remove #ifdef
Dmitri Gribenko [Wed, 30 Jan 2013 15:10:12 +0000 (15:10 +0000)]
LLDB uses ConvertUTF16toUTF8, remove #ifdef

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

11 years agoMove UTF conversion routines from clang/lib/Basic to llvm/lib/Support
Dmitri Gribenko [Wed, 30 Jan 2013 12:05:05 +0000 (12:05 +0000)]
Move UTF conversion routines from clang/lib/Basic to llvm/lib/Support

This is required to use them in TableGen.

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

11 years agoDocumentation: Updating the data layout default specifications to
Patrik Hagglund [Wed, 30 Jan 2013 09:02:06 +0000 (09:02 +0000)]
Documentation: Updating the data layout default specifications to
correspond to the code.

Patch by Stephen McGruer.

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

11 years ago[lit] Make GoogleTest test runner correctly discover tests in the source root
Alexey Samsonov [Wed, 30 Jan 2013 07:27:45 +0000 (07:27 +0000)]
[lit] Make GoogleTest test runner correctly discover tests in the source root

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

11 years agoAttempt to fix dragonegg. Use the number of slots to determine if the AttributeSet...
Bill Wendling [Wed, 30 Jan 2013 06:54:41 +0000 (06:54 +0000)]
Attempt to fix dragonegg. Use the number of slots to determine if the AttributeSet has attributes or not.

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

11 years agoInstCombine: canonicalize sext-and --> select
Nadav Rotem [Wed, 30 Jan 2013 06:35:22 +0000 (06:35 +0000)]
InstCombine: canonicalize sext-and --> select
                          sext-not-and --> select.

Patch by Muhammad Tauqir Ahmad.

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

11 years agobuild: regenerate configure
Saleem Abdulrasool [Wed, 30 Jan 2013 04:44:17 +0000 (04:44 +0000)]
build: regenerate configure

Regenerate configure script for new option to make the buildbots happy.

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173893 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agobuild: add --with-python option
Saleem Abdulrasool [Wed, 30 Jan 2013 04:07:37 +0000 (04:07 +0000)]
build: add --with-python option

This adds a new --with-python option to allow configuration of the python binary
for building.  If not specified, $PATH will be searched for common python binary
names (python, python2, python3).  If specified, and the path is not executable,
it will attempt to search $PATH.

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
Reviewed-by: Eric Christopher <echristo@gmail.com>, Daniel Dunbar <daniel@zuster.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173890 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemoving initializer for the field removed in r173887
David Blaikie [Wed, 30 Jan 2013 03:04:07 +0000 (03:04 +0000)]
Removing initializer for the field removed in r173887

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

11 years agoRemove unused variable (introduced in r173884) to clear clang -Werror build
David Blaikie [Wed, 30 Jan 2013 02:56:02 +0000 (02:56 +0000)]
Remove unused variable (introduced in r173884) to clear clang -Werror build

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

11 years agoForgot to add new file to CMakeLists
Jack Carter [Wed, 30 Jan 2013 02:32:36 +0000 (02:32 +0000)]
Forgot to add new file to CMakeLists

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

11 years agoThis patch implements runtime ARM specific
Jack Carter [Wed, 30 Jan 2013 02:24:33 +0000 (02:24 +0000)]
This patch implements runtime ARM specific
setting of ELF header e_flags.

Contributer: Jack Carter

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

11 years agoThis patch implements runtime Mips specific
Jack Carter [Wed, 30 Jan 2013 02:16:36 +0000 (02:16 +0000)]
This patch implements runtime Mips specific
setting of ELF header e_flags.

Contributer: Jack Carter

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

11 years agoThis patch reworks how llvm targets set
Jack Carter [Wed, 30 Jan 2013 02:09:52 +0000 (02:09 +0000)]
This patch reworks how llvm targets set
and update ELF header e_flags.

Currently gathering information such as symbol,
section and data is done by collecting it in an
MCAssembler object. From MCAssembler and MCAsmLayout
objects ELFObjectWriter::WriteObject() forms and
streams out the ELF object file.

This patch just adds a few members to the MCAssember
class to store and access the e_flag settings. It
allows for runtime additions to the e_flag by
assembler directives. The standalone assembler can
get to MCAssembler from getParser().getStreamer().getAssembler().

This patch is the generic infrastructure and will be
followed by patches for ARM and Mips for their target
specific use.

Contributer: Jack Carter

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

11 years ago[autoconf]: Fix description in HAVE_CRASHREPORTER_INFO.
NAKAMURA Takumi [Wed, 30 Jan 2013 01:38:03 +0000 (01:38 +0000)]
[autoconf]: Fix description in HAVE_CRASHREPORTER_INFO.

http://llvm-reviews.chandlerc.com/D332

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173879 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[autoconf] Fix m4 quoting for newer autotools
NAKAMURA Takumi [Wed, 30 Jan 2013 01:37:55 +0000 (01:37 +0000)]
[autoconf] Fix m4 quoting for newer autotools

This simply fixes up quoting of macro invocations to appease newer versions of autotools.

http://llvm-reviews.chandlerc.com/D332

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173878 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[autoconf] Fix 80+ and quoting.
NAKAMURA Takumi [Wed, 30 Jan 2013 01:37:49 +0000 (01:37 +0000)]
[autoconf] Fix 80+ and quoting.

Additional quoting for safety and satisfying newer autotools.  Fix a couple of 80 column violations.

http://llvm-reviews.chandlerc.com/D333

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173877 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[mips] Test case for r173862.
Akira Hatanaka [Wed, 30 Jan 2013 00:28:15 +0000 (00:28 +0000)]
[mips] Test case for r173862.

Patch by Sasa Stankovic.

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

11 years ago[mips] Lower EH_RETURN.
Akira Hatanaka [Wed, 30 Jan 2013 00:26:49 +0000 (00:26 +0000)]
[mips] Lower EH_RETURN.

Patch by Sasa Stankovic.

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

11 years ago[lit] Add some TODO notes to myself.
Daniel Dunbar [Wed, 30 Jan 2013 00:12:24 +0000 (00:12 +0000)]
[lit] Add some TODO notes to myself.

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

11 years agoAdding simple cast cost to ARM
Renato Golin [Tue, 29 Jan 2013 23:31:38 +0000 (23:31 +0000)]
Adding simple cast cost to ARM

Changing ARMBaseTargetMachine to return ARMTargetLowering intead of
the generic one (similar to x86 code).

Tests showing which instructions were added to cast when necessary
or cost zero when not. Downcast to 16 bits are not lowered in NEON,
so costs are not there yet.

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

11 years agoRemove unused variable (unused since r173839)
Dmitri Gribenko [Tue, 29 Jan 2013 23:27:45 +0000 (23:27 +0000)]
Remove unused variable (unused since r173839)

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

11 years agoDocumentation: add empty lines so that lists are properly recognized
Dmitri Gribenko [Tue, 29 Jan 2013 23:14:41 +0000 (23:14 +0000)]
Documentation: add empty lines so that lists are properly recognized

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

11 years agoMade certain small functions in PtrState inlined.
Michael Gottesman [Tue, 29 Jan 2013 22:29:59 +0000 (22:29 +0000)]
Made certain small functions in PtrState inlined.

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

11 years ago[MC][COFF] Delay handling symbol aliases when writing
Michael J. Spencer [Tue, 29 Jan 2013 22:10:07 +0000 (22:10 +0000)]
[MC][COFF] Delay handling symbol aliases when writing

Fixes PR14447 and PR9034. Patch by Nico Rieck!

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

11 years agoLoopVectorize: convert TinyTripCountVectorThreshold constant
Pekka Jaaskelainen [Tue, 29 Jan 2013 21:42:08 +0000 (21:42 +0000)]
LoopVectorize: convert TinyTripCountVectorThreshold constant
to a command line switch.

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

11 years agoRemoved trailing comma in last element of enum declaration.
Michael Gottesman [Tue, 29 Jan 2013 21:41:44 +0000 (21:41 +0000)]
Removed trailing comma in last element of enum declaration.

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

11 years agoMoved S_Stop back to its previous position in the sequence order.
Michael Gottesman [Tue, 29 Jan 2013 21:39:02 +0000 (21:39 +0000)]
Moved S_Stop back to its previous position in the sequence order.

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

11 years agoAdd a special handling case for untyped CopyFromReg node in GetCostForDef() of Schedu...
Weiming Zhao [Tue, 29 Jan 2013 21:18:43 +0000 (21:18 +0000)]
Add a special handling case for untyped CopyFromReg node in GetCostForDef() of ScheduleDAGRRList

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

11 years agoFixed a few debug messages and some 80+ violations.
Michael Gottesman [Tue, 29 Jan 2013 21:07:53 +0000 (21:07 +0000)]
Fixed a few debug messages and some 80+ violations.

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

11 years agoAdded some periods to some comments and added an overload for operator<< for type...
Michael Gottesman [Tue, 29 Jan 2013 21:07:51 +0000 (21:07 +0000)]
Added some periods to some comments and added an overload for operator<< for type Sequence so I can print out Sequences in debug statements.

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

11 years agoChanged DoesObjCBlockEscape => DoesRetainableObjPtrEscape so I can use it to perform...
Michael Gottesman [Tue, 29 Jan 2013 21:00:52 +0000 (21:00 +0000)]
Changed DoesObjCBlockEscape => DoesRetainableObjPtrEscape so I can use it to perform escape analysis of other retainable object pointers in other locations.

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

11 years agoAdd a couple of accessor methods to get the kind and values of an attribute.
Bill Wendling [Tue, 29 Jan 2013 20:45:34 +0000 (20:45 +0000)]
Add a couple of accessor methods to get the kind and values of an attribute.

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

11 years agos/Data/Kind/g. No functionality change.
Bill Wendling [Tue, 29 Jan 2013 20:37:10 +0000 (20:37 +0000)]
s/Data/Kind/g. No functionality change.

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

11 years agoSupport artificial parameters in function types.
David Blaikie [Tue, 29 Jan 2013 19:35:24 +0000 (19:35 +0000)]
Support artificial parameters in function types.

Provides the functionality for Clang change r172911 - I just had this still
lying around.

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

11 years agoUse multiclass for post-increment store instructions.
Jyotsna Verma [Tue, 29 Jan 2013 18:42:41 +0000 (18:42 +0000)]
Use multiclass for post-increment store instructions.

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

11 years agoAdd constant extender support for MInst type instructions.
Jyotsna Verma [Tue, 29 Jan 2013 18:18:50 +0000 (18:18 +0000)]
Add constant extender support for MInst type instructions.

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

11 years agoRemove dead code.
Evan Cheng [Tue, 29 Jan 2013 18:08:22 +0000 (18:08 +0000)]
Remove dead code.

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

11 years agoFixing warnings revealed by gcc release build
Edwin Vane [Tue, 29 Jan 2013 17:42:24 +0000 (17:42 +0000)]
Fixing warnings revealed by gcc release build

Fixed set-but-not-used warnings.

Reviewer: gribozavr

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

11 years agoLoopVectorize: Clean up ValueMap a bit and avoid double lookups.
Benjamin Kramer [Tue, 29 Jan 2013 17:31:33 +0000 (17:31 +0000)]
LoopVectorize: Clean up ValueMap a bit and avoid double lookups.

No intended functionality change.

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

11 years agoR600/AMDILPeepholeOptimizer.cpp: Tweak std::make_pair to satisfy C++11.
NAKAMURA Takumi [Tue, 29 Jan 2013 16:31:56 +0000 (16:31 +0000)]
R600/AMDILPeepholeOptimizer.cpp: Tweak std::make_pair to satisfy C++11.

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

11 years agoAttributeSet::get(): Fix a valgrind error. It doesn't affect actual behavior, though.
NAKAMURA Takumi [Tue, 29 Jan 2013 15:18:16 +0000 (15:18 +0000)]
AttributeSet::get(): Fix a valgrind error. It doesn't affect actual behavior, though.

Don't touch I->first on the end iterator, I == E!

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

11 years agoFix typo in X86BaseInfo.h that I introduced in r157818.
Hans Wennborg [Tue, 29 Jan 2013 14:05:57 +0000 (14:05 +0000)]
Fix typo in X86BaseInfo.h that I introduced in r157818.

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

11 years agoHopefully fix the Windows build failure introduced in r173769
Timur Iskhodzhanov [Tue, 29 Jan 2013 09:09:27 +0000 (09:09 +0000)]
Hopefully fix the Windows build failure introduced in r173769

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

11 years agoFix 64-bit atomic operations in Thumb mode.
Tim Northover [Tue, 29 Jan 2013 09:06:13 +0000 (09:06 +0000)]
Fix 64-bit atomic operations in Thumb mode.

The ARM and Thumb variants of LDREXD and STREXD have different constraints and
take different operands. Previously the code expanding atomic operations didn't
take this into account and asserted in Thumb mode.

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

11 years agoMerge SSE and AVX shuffle instructions in the comment printer.
Craig Topper [Tue, 29 Jan 2013 07:54:31 +0000 (07:54 +0000)]
Merge SSE and AVX shuffle instructions in the comment printer.

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

11 years agoMIsched: cleanup code. Use isBoundaryNode().
Andrew Trick [Tue, 29 Jan 2013 06:26:35 +0000 (06:26 +0000)]
MIsched: cleanup code. Use isBoundaryNode().

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

11 years agoFixed 2 more header comments...
Michael Gottesman [Tue, 29 Jan 2013 05:07:18 +0000 (05:07 +0000)]
Fixed 2 more header comments...

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

11 years agoFixed header comment.
Michael Gottesman [Tue, 29 Jan 2013 05:05:17 +0000 (05:05 +0000)]
Fixed header comment.

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

11 years agoFixed some whitespace/80+ violations. Also added a space after a namespace declaration.
Michael Gottesman [Tue, 29 Jan 2013 04:58:30 +0000 (04:58 +0000)]
Fixed some whitespace/80+ violations. Also added a space after a namespace declaration.

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

11 years agoAdded missing dashes from header declaration comment.
Michael Gottesman [Tue, 29 Jan 2013 04:53:55 +0000 (04:53 +0000)]
Added missing dashes from header declaration comment.

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

11 years agoJuggled Debug.h from ObjCARC.h to only the including cpp files that
Michael Gottesman [Tue, 29 Jan 2013 04:51:59 +0000 (04:51 +0000)]
Juggled Debug.h from ObjCARC.h to only the including cpp files that
actually have DEBUG statements. Also changed raw_ostream in said header
to be a forward declaration (removing an include).

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

11 years agoSorted includes using utils/sort_includes.
Michael Gottesman [Tue, 29 Jan 2013 04:20:52 +0000 (04:20 +0000)]
Sorted includes using utils/sort_includes.

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

11 years agoAdded two missing headers from ObjCARCAliasAnalysis.h.
Michael Gottesman [Tue, 29 Jan 2013 04:09:24 +0000 (04:09 +0000)]
Added two missing headers from ObjCARCAliasAnalysis.h.

This was missed since whenever I was including ObjCARCAliasAnalysis.h, I
was including ObjCARC.h before it which included these includes
(resulting in no compilation breakage).

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

11 years agoRemoved InstCombine/Targets as library dependencies for libObjCARCOpts since they...
Michael Gottesman [Tue, 29 Jan 2013 04:05:17 +0000 (04:05 +0000)]
Removed InstCombine/Targets as library dependencies for libObjCARCOpts since they are unnecessary.

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

11 years agoConvert getAttributes() to return an AttributeSetNode.
Bill Wendling [Tue, 29 Jan 2013 03:20:31 +0000 (03:20 +0000)]
Convert getAttributes() to return an AttributeSetNode.

The AttributeSetNode contains all of the attributes. This removes one (hopefully
last) use of the Attribute class as a container of multiple attributes.

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

11 years agoExtracted ObjCARCContract from ObjCARCOpts into its own file.
Michael Gottesman [Tue, 29 Jan 2013 03:03:03 +0000 (03:03 +0000)]
Extracted ObjCARCContract from ObjCARCOpts into its own file.

This also required adding 2x headers Dependency Analysis.h/Provenance Analysis.h
and a .cpp file DependencyAnalysis.cpp to unentangle the dependencies inbetween
ObjCARCContract and ObjCARCOpts.

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

11 years agoRemoved some cruft from ObjCARCAliasAnalysis.cpp.
Michael Gottesman [Tue, 29 Jan 2013 03:02:59 +0000 (03:02 +0000)]
Removed some cruft from ObjCARCAliasAnalysis.cpp.

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

11 years agoTeach SDISel to combine fsin / fcos into a fsincos node if the following
Evan Cheng [Tue, 29 Jan 2013 02:32:37 +0000 (02:32 +0000)]
Teach SDISel to combine fsin / fcos into a fsincos node if the following
conditions are met:
1. They share the same operand and are in the same BB.
2. Both outputs are used.
3. The target has a native instruction that maps to ISD::FSINCOS node or
   the target provides a sincos library call.

Implemented the generic optimization in sdisel and enabled it for
Mac OSX. Also added an additional optimization for x86_64 Mac OSX by
using an alternative entry point __sincos_stret which returns the two
results in xmm0 / xmm1.

rdar://13087969
PR13204

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

11 years agoUse an AttrBuilder to generate the correct AttributeSet.
Bill Wendling [Tue, 29 Jan 2013 01:43:29 +0000 (01:43 +0000)]
Use an AttrBuilder to generate the correct AttributeSet.

We no longer accept an encoded integer as representing all of the
attributes. Convert this via the AttrBuilder class into an AttributeSet with the
correct representation (an AttributeSetImpl that holds a list of Attribute
objects).

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

11 years agoConvert the AttrBuilder into a list of Attributes instead of one Attribute object...
Bill Wendling [Tue, 29 Jan 2013 01:02:03 +0000 (01:02 +0000)]
Convert the AttrBuilder into a list of Attributes instead of one Attribute object that holds all of its attributes.

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

11 years agoFormatting correction
Andrew Kaylor [Tue, 29 Jan 2013 00:50:18 +0000 (00:50 +0000)]
Formatting correction

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

11 years agoS'more small non-functional changes in comments and #includes.
Bill Wendling [Tue, 29 Jan 2013 00:48:16 +0000 (00:48 +0000)]
S'more small non-functional changes in comments and #includes.

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

11 years agoReorder some functions and add comments. No functionality change.
Bill Wendling [Tue, 29 Jan 2013 00:34:06 +0000 (00:34 +0000)]
Reorder some functions and add comments. No functionality change.

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

11 years agoUnroll again after running BBVectorize
Hal Finkel [Tue, 29 Jan 2013 00:22:49 +0000 (00:22 +0000)]
Unroll again after running BBVectorize

Because BBVectorize may significantly shorten a loop body, unroll
again after vectorization. This is especially important when using
runtime or partial unrolling.

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

11 years agoAdd isBGQ method to PPCSubtarget
Hal Finkel [Tue, 29 Jan 2013 00:22:47 +0000 (00:22 +0000)]
Add isBGQ method to PPCSubtarget

This function will be used in future commits.

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

11 years agoTry to appease some broken compilers by using 'unsigned' instead of 'uint64_t'.
Bill Wendling [Mon, 28 Jan 2013 22:33:39 +0000 (22:33 +0000)]
Try to appease some broken compilers by using 'unsigned' instead of 'uint64_t'.

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

11 years agoAvoid Unnecessary Builds
David Greene [Mon, 28 Jan 2013 22:05:50 +0000 (22:05 +0000)]
Avoid Unnecessary Builds

By default, stop the universe build if a key component fails.  This
avoids useless builds when we know a package is broken anyway.
Provide a --keep-going option to override this behavior.

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

11 years agoRemove the AttributeWithIndex class.
Bill Wendling [Mon, 28 Jan 2013 21:55:20 +0000 (21:55 +0000)]
Remove the AttributeWithIndex class.

The AttributeWithIndex class exposed the interior structure of the AttributeSet
class. That was gross. Remove it and all of the code that relied upon it.

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

11 years agoAdd a comment mentioning that InstructionSimplify routines do,
Dan Gohman [Mon, 28 Jan 2013 21:45:32 +0000 (21:45 +0000)]
Add a comment mentioning that InstructionSimplify routines do,
in fact, resolve undef uses.

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

11 years agodocs: reorganize front page slightly
Sean Silva [Mon, 28 Jan 2013 21:28:10 +0000 (21:28 +0000)]
docs: reorganize front page slightly

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

11 years agoAdd support for source and line information to IntelJITEventListener for object emitt...
Andrew Kaylor [Mon, 28 Jan 2013 19:52:37 +0000 (19:52 +0000)]
Add support for source and line information to IntelJITEventListener for object emitted by MCJIT.

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

11 years agoFix gcc/printf/ISO C++ warning
Edwin Vane [Mon, 28 Jan 2013 19:34:42 +0000 (19:34 +0000)]
Fix gcc/printf/ISO C++ warning

Remove the use of the 't' length modifier to avoid a gcc warning. Based
on usage, 32 bits of precision is good enough for printing a stack
offset for a stack trace.

't' length modifier isn't in C++03 but it *is* in C++11. Added a FIXME
to reintroduce once LLVM makes the switch to C++11.

Reviewer: gribozavr

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

11 years agoThis patch addresses bug 15031.
Bill Schmidt [Mon, 28 Jan 2013 18:36:58 +0000 (18:36 +0000)]
This patch addresses bug 15031.

The common code in the post-RA scheduler to break anti-dependencies on the
critical path contained a flaw.  In the reported case, an anti-dependency
between the overlapping registers %X4 and %R4 exists:

%X29<def> = OR8 %X4, %X4
%R4<def>, %X3<def,dead,tied3> = LBZU 1, %X3<kill,tied1>

The unpatched code breaks the dependency by replacing %R4 and its uses
with %R3, the first register on the available list.  However, %R3 and
%X3 overlap, so this creates two overlapping definitions on the same
instruction.

The fix is straightforward, preventing selection of a register that
overlaps any other defined register on the same instruction.

The test case is reduced from the bug report, and verifies that we no
longer produce "lbzu 3, 1(3)" when breaking this anti-dependency.

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

11 years agoFix comment.
Eric Christopher [Mon, 28 Jan 2013 17:33:26 +0000 (17:33 +0000)]
Fix comment.

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

11 years agoVectorization Factor clarification
Renato Golin [Mon, 28 Jan 2013 16:02:45 +0000 (16:02 +0000)]
Vectorization Factor clarification

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