Bill Wendling
82aa8d4926
Revert for now:
...
--- Reverse-merging r174010 into '.':
U include/llvm/IR/Attributes.h
U lib/IR/Verifier.cpp
U lib/IR/Attributes.cpp
llvm-svn: 174012
2013-01-31 01:04:51 +00:00
Bill Wendling
b8b16b567c
Remove the AttrBuilder version of the Attribute::get function.
...
The AttrBuilder is there to build up multiple attributes. The Attribute class
represents only one attribute at a time. So remove this unnecessary builder
creator method.
llvm-svn: 174010
2013-01-31 00:53:21 +00:00
Eric Christopher
258c867c0b
Whitespace.
...
llvm-svn: 174009
2013-01-31 00:50:48 +00:00
Eric Christopher
4e3e94c13d
Check and allow floating point registers to select the size of the
...
register for inline asm. This conforms to how gcc allows for effective
casting of inputs into gprs (fprs is already handled).
llvm-svn: 174008
2013-01-31 00:50:46 +00:00
Dan Gohman
0838bf7f32
Minor code simplification.
...
llvm-svn: 174005
2013-01-31 00:32:11 +00:00
Bill Wendling
fe0021a2f9
Make sure that the Attribute object represents one attribute only.
...
Several places were still treating the Attribute object as respresenting
multiple attributes. Those places now use the AttributeSet to represent
multiple attributes.
llvm-svn: 174003
2013-01-31 00:29:54 +00:00
Dan Gohman
ed4029bae8
stripAndComputeConstantOffsets is only called on pointers; check this
...
with an assert instead of failing and requiring callers to check for failure.
llvm-svn: 173998
2013-01-31 00:12:20 +00:00
Dan Gohman
6a61fccb96
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.
llvm-svn: 173995
2013-01-31 00:01:45 +00:00
Hal Finkel
e1df90958d
PPC QPX requires a 32-byte aligned stack
...
On systems which support the QPX vector instructions, the stack must be
32-byte aligned.
llvm-svn: 173993
2013-01-30 23:43:27 +00:00
Bill Wendling
785afdf3a4
Remove addRetAttributes and addFnAttributes, which aren't useful abstractions.
...
llvm-svn: 173992
2013-01-30 23:40:31 +00:00
Bill Wendling
d219675c2a
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.
llvm-svn: 173990
2013-01-30 23:07:40 +00:00
Evan Cheng
d2ca4e2ed9
Restrict sin/cos optimization to 64-bit only for now. 32-bit is a bit messy and less critical.
...
llvm-svn: 173987
2013-01-30 22:56:35 +00:00
Hal Finkel
b3fc509b23
Initialize hasQPX in PPCSubtarget
...
This should have gone in with r173973.
llvm-svn: 173984
2013-01-30 22:43:44 +00:00
Bill Wendling
6f18ae1ec8
Remove redundant code.
...
It was creating a new AttrBuilder when we could just fill in the AttrBuilder
we're building.
llvm-svn: 173975
2013-01-30 21:22:59 +00:00
Hal Finkel
efb305e54c
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.
llvm-svn: 173973
2013-01-30 21:17:42 +00:00
Eli Bendersky
faf5e3e6b0
Clean up whitespace and indentation a bit
...
llvm-svn: 173960
2013-01-30 19:24:23 +00:00
Manman Ren
81dcc62805
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.
llvm-svn: 173946
2013-01-30 17:42:15 +00:00
Eli Bendersky
2e2ce49e59
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
llvm-svn: 173943
2013-01-30 16:30:19 +00:00
Logan Chien
a436e4c7e4
Add missing header and test cases for r173939.
...
llvm-svn: 173941
2013-01-30 15:48:50 +00:00
Logan Chien
2bcc42c730
Override virtual function for ARM EH directives.
...
llvm-svn: 173939
2013-01-30 15:39:04 +00:00
Dmitri Gribenko
b311f4e84a
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
0aed1135fc
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
513bd8a73c
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
24f44ac53a
Removing initializer for the field removed in r173887
...
llvm-svn: 173888
2013-01-30 03:04:07 +00:00
David Blaikie
b7fa813373
Remove unused variable (introduced in r173884) to clear clang -Werror build
...
llvm-svn: 173887
2013-01-30 02:56:02 +00:00
Jack Carter
b01a90ce40
Forgot to add new file to CMakeLists
...
llvm-svn: 173886
2013-01-30 02:32:36 +00:00
Jack Carter
718da0b53b
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
7f378104b6
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
1bd90ff6cc
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
c0b020690b
[mips] Lower EH_RETURN.
...
Patch by Sasa Stankovic.
llvm-svn: 173862
2013-01-30 00:26:49 +00:00
Renato Golin
5e9d55eca0
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
01edb9d7d1
Remove unused variable (unused since r173839)
...
llvm-svn: 173847
2013-01-29 23:27:45 +00:00
Michael Gottesman
e52dec1695
Made certain small functions in PtrState inlined.
...
llvm-svn: 173842
2013-01-29 22:29:59 +00:00
Michael J. Spencer
54b24e1000
[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
f50ab84bb1
LoopVectorize: convert TinyTripCountVectorThreshold constant
...
to a command line switch.
llvm-svn: 173837
2013-01-29 21:42:08 +00:00
Michael Gottesman
9bdab2bf6b
Removed trailing comma in last element of enum declaration.
...
llvm-svn: 173836
2013-01-29 21:41:44 +00:00
Michael Gottesman
386241ce5b
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
4a0b4fb9a5
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
23cda0cd39
Fixed a few debug messages and some 80+ violations.
...
llvm-svn: 173832
2013-01-29 21:07:53 +00:00
Michael Gottesman
53fd20bdbd
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
774d2c014e
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
03eefb3a38
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
c3c714ba7e
s/Data/Kind/g. No functionality change.
...
llvm-svn: 173827
2013-01-29 20:37:10 +00:00
David Blaikie
9a7a7a9a6f
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
b16a9cb132
Use multiclass for post-increment store instructions.
...
llvm-svn: 173816
2013-01-29 18:42:41 +00:00
Jyotsna Verma
a609b1c89d
Add constant extender support for MInst type instructions.
...
llvm-svn: 173813
2013-01-29 18:18:50 +00:00
Evan Cheng
27e41c9f70
Remove dead code.
...
llvm-svn: 173812
2013-01-29 18:08:22 +00:00
Edwin Vane
82f80d4967
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
cf406756ce
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
978b5a0e02
R600/AMDILPeepholeOptimizer.cpp: Tweak std::make_pair to satisfy C++11.
...
llvm-svn: 173807
2013-01-29 16:31:56 +00:00