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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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