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
Evgeniy Stepanov [Mon, 28 Jan 2013 11:42:28 +0000 (11:42 +0000)]
[msan] Mostly disable msan-handle-icmp-exact.
It is way too slow. Change the default option value to 0.
Always do exact shadow propagation for unsigned ICmp with constants, it is
cheap (under 1% cpu time) and required for correctness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173682
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Mon, 28 Jan 2013 09:18:40 +0000 (09:18 +0000)]
Revert r173678.
Broken tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173679
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Mon, 28 Jan 2013 09:15:15 +0000 (09:15 +0000)]
[msan] Make msan-handle-icmp-exact=0 by default.
50% slowdown on one of the specs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173678
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 28 Jan 2013 07:41:18 +0000 (07:41 +0000)]
Fix 256-bit PALIGNR comment decoding to understand that it works on independent 256-bit lanes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173674
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Mon, 28 Jan 2013 07:35:33 +0000 (07:35 +0000)]
A bugfix for tblgen, in the function ‘emitSourceFileHeader’.
When the first parameter (‘Desc’) is more than 80 characters long, it will result the header line that contains the description to be more
Than (4GB!) long. Not only it takes forever to produce, the output file cannot be open, since its ginormous.
Patch by Elior Malul.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173672
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 28 Jan 2013 07:19:11 +0000 (07:19 +0000)]
Add missing break in 256-bit palignr comment printing. No test case yet because the comment itself is still wrong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173669
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 28 Jan 2013 06:48:25 +0000 (06:48 +0000)]
Fix inconsistent usage of PALIGN and PALIGNR when referring to the same instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173667
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 06:39:31 +0000 (06:39 +0000)]
Created ObjCARCUtil.cpp for functions which in my humble opinion are too large to static inline and place in a header file such as ObjCARC.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173666
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 28 Jan 2013 06:09:24 +0000 (06:09 +0000)]
Remove addToNoHelperNeeded function that was left unused after r173649. Fixes a -Wunused warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173664
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 05:51:58 +0000 (05:51 +0000)]
Cleaned up includes in various ObjCARC files and removed some whitespace violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173663
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 05:51:54 +0000 (05:51 +0000)]
Refactor ObjCARCAliasAnalysis into its own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173662
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 28 Jan 2013 05:51:40 +0000 (05:51 +0000)]
Mid-air collision. reapply r173656.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173661
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 28 Jan 2013 05:44:14 +0000 (05:44 +0000)]
Rewrite the removeAttr() method.
This now uses the AttributeSet object instead of the Attribute /
AttributeWithIndex objects. It's fairly simple now. It goes through all of the
subsets before the one we're modifying, adds them to the new set. It then adds
the modified subset (with the requested attributes removed). And then adds the
rest of the subsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173660
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 28 Jan 2013 05:23:28 +0000 (05:23 +0000)]
Rewrite the addAttr() method.
This now uses the AttributeSet object instead of the Attribute /
AttributeWithIndex objects. It's fairly simple now. It goes through all of the
subsets before the one we're modifying, adds them to the new set. It then adds
the modified subset. And then adds the rest of the subsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173659
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 28 Jan 2013 04:29:01 +0000 (04:29 +0000)]
Revert r173646, "Use proper type for the index."
Unfortunately, msvc miscompiles it. Investigating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173656
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 04:12:07 +0000 (04:12 +0000)]
Refactored out pass ObjCARCAPElim from ObjCARCOpts.cpp => ObjCARCAPElim.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173654
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 03:35:20 +0000 (03:35 +0000)]
Fixed case insensitive issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173653
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 03:30:34 +0000 (03:30 +0000)]
Removed extraneous doxygen end module statement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173652
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 03:28:38 +0000 (03:28 +0000)]
Extracted pass ObjCARCExpand from ObjCARC.cpp => ObjCARCExpand.cpp.
I also added the local header ObjCARC.h for common functions used by the
various passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173651
91177308-0d34-0410-b5e6-
96231b3b80d8
Edwin Vane [Mon, 28 Jan 2013 03:19:57 +0000 (03:19 +0000)]
Improved svn repo searching for 'make update'
Use a simple recursive bash function to search for svn repos for the 'make
update' target thus including projects like clang-tools-extra.
Reviewers: bkramer, echristo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173650
91177308-0d34-0410-b5e6-
96231b3b80d8
Reed Kotler [Mon, 28 Jan 2013 02:46:49 +0000 (02:46 +0000)]
Make some code a little simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173649
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Mon, 28 Jan 2013 01:35:51 +0000 (01:35 +0000)]
Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173647
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 28 Jan 2013 01:30:29 +0000 (01:30 +0000)]
Use proper type for the index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173646
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 28 Jan 2013 01:11:42 +0000 (01:11 +0000)]
Remove another use of AttributeWithIndex, using the AttributeSetImpl accessors instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173644
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 28 Jan 2013 00:46:02 +0000 (00:46 +0000)]
Remove another use of AttributeWithIndex, using the AttributeSetImpl accessors instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173642
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 28 Jan 2013 00:21:34 +0000 (00:21 +0000)]
Remove a use of AttributeWithIndex.
We want to remove AttributeWithIndex because it provides a non-encapsulated view
of the AttributeSetImpl object. Instead, use accessor methods and iterators.
Eventually, this code can be simplified because the Attribute object will hold
only one attribute instead of multiple attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173641
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 27 Jan 2013 23:53:56 +0000 (23:53 +0000)]
Improve the debug output a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173640
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 27 Jan 2013 23:50:44 +0000 (23:50 +0000)]
Use proper return type for attribute index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173639
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 27 Jan 2013 23:49:44 +0000 (23:49 +0000)]
Use proper return type for attribute index.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173638
91177308-0d34-0410-b5e6-
96231b3b80d8