Logan Chien
8155fc64e5
Add missing header and test cases for r173939.
...
llvm-svn: 173941
2013-01-30 15:48:50 +00:00
Logan Chien
88f66a1476
Override virtual function for ARM EH directives.
...
llvm-svn: 173939
2013-01-30 15:39:04 +00:00
Dmitri Gribenko
2eaa3b382c
Move UTF conversion routines from clang/lib/Basic to llvm/lib/Support
...
This is required to use them in TableGen.
llvm-svn: 173923
2013-01-30 12:05:05 +00:00
Bill Wendling
67fe3298b1
Attempt to fix dragonegg. Use the number of slots to determine if the AttributeSet has attributes or not.
...
llvm-svn: 173902
2013-01-30 06:54:41 +00:00
Nadav Rotem
7b1c05a9b7
InstCombine: canonicalize sext-and --> select
...
sext-not-and --> select.
Patch by Muhammad Tauqir Ahmad.
llvm-svn: 173901
2013-01-30 06:35:22 +00:00
David Blaikie
23205ae0d0
Removing initializer for the field removed in r173887
...
llvm-svn: 173888
2013-01-30 03:04:07 +00:00
David Blaikie
db3dd167f9
Remove unused variable (introduced in r173884) to clear clang -Werror build
...
llvm-svn: 173887
2013-01-30 02:56:02 +00:00
Jack Carter
0d5645b2e3
Forgot to add new file to CMakeLists
...
llvm-svn: 173886
2013-01-30 02:32:36 +00:00
Jack Carter
7c25c2553c
This patch implements runtime ARM specific
...
setting of ELF header e_flags.
Contributer: Jack Carter
llvm-svn: 173885
2013-01-30 02:24:33 +00:00
Jack Carter
9054213d30
This patch implements runtime Mips specific
...
setting of ELF header e_flags.
Contributer: Jack Carter
llvm-svn: 173884
2013-01-30 02:16:36 +00:00
Jack Carter
7cd7b1f749
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
llvm-svn: 173882
2013-01-30 02:09:52 +00:00
Akira Hatanaka
553d261207
[mips] Lower EH_RETURN.
...
Patch by Sasa Stankovic.
llvm-svn: 173862
2013-01-30 00:26:49 +00:00
Renato Golin
c99da3a7f4
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.
llvm-svn: 173849
2013-01-29 23:31:38 +00:00
Dmitri Gribenko
bbc618e0fa
Remove unused variable (unused since r173839)
...
llvm-svn: 173847
2013-01-29 23:27:45 +00:00
Michael Gottesman
ab6ee5005b
Made certain small functions in PtrState inlined.
...
llvm-svn: 173842
2013-01-29 22:29:59 +00:00
Michael J. Spencer
264c449666
[MC][COFF] Delay handling symbol aliases when writing
...
Fixes PR14447 and PR9034. Patch by Nico Rieck!
llvm-svn: 173839
2013-01-29 22:10:07 +00:00
Pekka Jaaskelainen
67cddcca8c
LoopVectorize: convert TinyTripCountVectorThreshold constant
...
to a command line switch.
llvm-svn: 173837
2013-01-29 21:42:08 +00:00
Michael Gottesman
ab4288b56e
Removed trailing comma in last element of enum declaration.
...
llvm-svn: 173836
2013-01-29 21:41:44 +00:00
Michael Gottesman
cbf143b3cd
Moved S_Stop back to its previous position in the sequence order.
...
llvm-svn: 173834
2013-01-29 21:39:02 +00:00
Weiming Zhao
280e8fdbef
Add a special handling case for untyped CopyFromReg node in GetCostForDef() of ScheduleDAGRRList
...
llvm-svn: 173833
2013-01-29 21:18:43 +00:00
Michael Gottesman
d28a7d5fc2
Fixed a few debug messages and some 80+ violations.
...
llvm-svn: 173832
2013-01-29 21:07:53 +00:00
Michael Gottesman
98e0318acb
Added some periods to some comments and added an overload for operator<< for type Sequence so I can print out Sequences in debug statements.
...
llvm-svn: 173831
2013-01-29 21:07:51 +00:00
Michael Gottesman
1d2ca1ffd8
Changed DoesObjCBlockEscape => DoesRetainableObjPtrEscape so I can use it to perform escape analysis of other retainable object pointers in other locations.
...
llvm-svn: 173829
2013-01-29 21:00:52 +00:00
Bill Wendling
d6a0aeff10
Add a couple of accessor methods to get the kind and values of an attribute.
...
llvm-svn: 173828
2013-01-29 20:45:34 +00:00
Bill Wendling
06e3c96d61
s/Data/Kind/g. No functionality change.
...
llvm-svn: 173827
2013-01-29 20:37:10 +00:00
David Blaikie
168e35edd8
Support artificial parameters in function types.
...
Provides the functionality for Clang change r172911 - I just had this still
lying around.
llvm-svn: 173820
2013-01-29 19:35:24 +00:00
Jyotsna Verma
189807572e
Use multiclass for post-increment store instructions.
...
llvm-svn: 173816
2013-01-29 18:42:41 +00:00
Jyotsna Verma
e8debd87f4
Add constant extender support for MInst type instructions.
...
llvm-svn: 173813
2013-01-29 18:18:50 +00:00
Evan Cheng
3d095b1549
Remove dead code.
...
llvm-svn: 173812
2013-01-29 18:08:22 +00:00
Edwin Vane
fafd787d1f
Fixing warnings revealed by gcc release build
...
Fixed set-but-not-used warnings.
Reviewer: gribozavr
llvm-svn: 173810
2013-01-29 17:42:24 +00:00
Benjamin Kramer
5142e76f3a
LoopVectorize: Clean up ValueMap a bit and avoid double lookups.
...
No intended functionality change.
llvm-svn: 173809
2013-01-29 17:31:33 +00:00
NAKAMURA Takumi
6f0f8e9c41
R600/AMDILPeepholeOptimizer.cpp: Tweak std::make_pair to satisfy C++11.
...
llvm-svn: 173807
2013-01-29 16:31:56 +00:00
NAKAMURA Takumi
f9f76dc502
AttributeSet::get(): Fix a valgrind error. It doesn't affect actual behavior, though.
...
Don't touch I->first on the end iterator, I == E!
llvm-svn: 173804
2013-01-29 15:18:16 +00:00
Hans Wennborg
4df1f32131
Fix typo in X86BaseInfo.h that I introduced in r157818.
...
llvm-svn: 173798
2013-01-29 14:05:57 +00:00
Timur Iskhodzhanov
8b40231d0a
Hopefully fix the Windows build failure introduced in r173769
...
llvm-svn: 173781
2013-01-29 09:09:27 +00:00
Tim Northover
842599c977
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.
llvm-svn: 173780
2013-01-29 09:06:13 +00:00
Craig Topper
a8c721bc88
Merge SSE and AVX shuffle instructions in the comment printer.
...
llvm-svn: 173777
2013-01-29 07:54:31 +00:00
Andrew Trick
c7578b11dd
MIsched: cleanup code. Use isBoundaryNode().
...
llvm-svn: 173775
2013-01-29 06:26:35 +00:00
Michael Gottesman
2153efb5eb
Fixed 2 more header comments...
...
llvm-svn: 173774
2013-01-29 05:07:18 +00:00
Michael Gottesman
e5970ea945
Fixed header comment.
...
llvm-svn: 173773
2013-01-29 05:05:17 +00:00
Michael Gottesman
28c4bb7fde
Fixed some whitespace/80+ violations. Also added a space after a namespace declaration.
...
llvm-svn: 173772
2013-01-29 04:58:30 +00:00
Michael Gottesman
5dc197578c
Added missing dashes from header declaration comment.
...
llvm-svn: 173770
2013-01-29 04:53:55 +00:00
Michael Gottesman
886be0c46c
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).
llvm-svn: 173769
2013-01-29 04:51:59 +00:00
Michael Gottesman
4a3c5c538f
Sorted includes using utils/sort_includes.
...
llvm-svn: 173767
2013-01-29 04:20:52 +00:00
Michael Gottesman
46b43654b7
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).
llvm-svn: 173764
2013-01-29 04:09:24 +00:00
Michael Gottesman
defa15e39e
Removed InstCombine/Targets as library dependencies for libObjCARCOpts since they are unnecessary.
...
llvm-svn: 173763
2013-01-29 04:05:17 +00:00
Bill Wendling
0bbff6db82
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.
llvm-svn: 173761
2013-01-29 03:20:31 +00:00
Michael Gottesman
c7246c9378
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.
llvm-svn: 173760
2013-01-29 03:03:03 +00:00
Michael Gottesman
35fc159087
Removed some cruft from ObjCARCAliasAnalysis.cpp.
...
llvm-svn: 173759
2013-01-29 03:02:59 +00:00
Evan Cheng
2e2cde560f
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
llvm-svn: 173755
2013-01-29 02:32:37 +00:00