Robert Lytton
e453888379
XCore target: fix weak linkage attribute handling
...
llvm-svn: 190298
2013-09-09 10:41:57 +00:00
Bill Wendling
58e2d3d856
Generate compact unwind encoding from CFI directives.
...
We used to generate the compact unwind encoding from the machine
instructions. However, this had the problem that if the user used `-save-temps'
or compiled their hand-written `.s' file (with CFI directives), we wouldn't
generate the compact unwind encoding.
Move the algorithm that generates the compact unwind encoding into the
MCAsmBackend. This way we can generate the encoding whether the code is from a
`.ll' or `.s' file.
<rdar://problem/13623355>
llvm-svn: 190290
2013-09-09 02:37:14 +00:00
Jiangning Liu
2878dc8fe7
Implement aarch64 neon instruction set AdvSIMD (3V Diff), covering the following 26 instructions,
...
SADDL, UADDL, SADDW, UADDW, SSUBL, USUBL, SSUBW, USUBW, ADDHN, RADDHN, SABAL, UABAL, SUBHN, RSUBHN, SABDL, UABDL, SMLAL, UMLAL, SMLSL, UMLSL, SQDMLAL, SQDMLSL, SMULL, UMULL, SQDMULL, PMULL
llvm-svn: 190288
2013-09-09 02:20:27 +00:00
Manman Ren
7e9448f728
Debug Info Testing: use null instead of an empty string in context field.
...
llvm-svn: 190284
2013-09-09 00:12:17 +00:00
Renato Golin
d24899bfc2
Cross-compilation doc
...
llvm-svn: 190282
2013-09-08 20:44:48 +00:00
Sylvestre Ledru
65ebb58524
Bring back the build of libprofile_rt on Sparc. It is now working correctly. See:
...
https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-3.3&arch=sparc&ver=1%3A3.3-9&stamp=1378398308
Thanks to Luca Falavigna for the patch
llvm-svn: 190273
2013-09-08 09:15:09 +00:00
Manman Ren
b09878728f
Revert r190269 to fix dragonegg failures.
...
llvm-svn: 190271
2013-09-08 06:02:56 +00:00
Manman Ren
8ddddadb0b
Debug Info: use null instead of "i32 0" in DIBuilder.
...
For context field of subroutine_type and when creating artificial types.
llvm-svn: 190270
2013-09-08 06:00:42 +00:00
Manman Ren
93da987ea4
Debug Info: pass in DIScope instead of DIDescriptor in createMemberType.
...
Improve readability. No functionality change.
llvm-svn: 190269
2013-09-08 04:07:59 +00:00
Manman Ren
f2a88f3622
Debug Info Testing: update context from empty string to null.
...
Context should be either null or MDNode.
llvm-svn: 190267
2013-09-08 03:11:54 +00:00
Craig Topper
adbb9a121f
Add neverHasSideEffects=1 on a couple move instructions.
...
llvm-svn: 190259
2013-09-08 00:50:45 +00:00
Craig Topper
0a63e1da92
Using popcount should check the popcount feature flag not the SSE41 feature flag.
...
llvm-svn: 190258
2013-09-08 00:47:31 +00:00
Bill Wendling
d14f153a7e
Run clang-format on these header files. Part of a WIP.
...
llvm-svn: 190250
2013-09-07 11:55:36 +00:00
Akira Hatanaka
9f9bc4f770
[mips] Fix typos.
...
llvm-svn: 190236
2013-09-07 01:14:42 +00:00
Akira Hatanaka
6379121694
[mips] Enhance command line option "-mno-ldc1-sdc1" to expand base+index double
...
precision loads and stores as well as reg+imm double precision loads and stores.
Previously, expansion of loads and stores was done after register allocation,
but now it takes place during legalization. As a result, users will see double
precision stores and loads being emitted to spill and restore 64-bit FP registers.
llvm-svn: 190235
2013-09-07 00:52:30 +00:00
Akira Hatanaka
92ec3bd50b
[mips] Place parentheses around && to silence warning.
...
llvm-svn: 190234
2013-09-07 00:26:26 +00:00
Richard Smith
d9e5ff24e6
Remove verifier check that attribute 'builtin' is only applied to calls to
...
functions marked 'nobuiltin'. That approach doesn't play well with LTO, and
there's no harm in marking a call as 'builtin' if it was going to be a builtin
regardless.
llvm-svn: 190233
2013-09-07 00:25:48 +00:00
Akira Hatanaka
6a3fe57444
[mips] Add definition of instruction "drotr32" (double rotate right plus 32).
...
llvm-svn: 190232
2013-09-07 00:18:01 +00:00
Manman Ren
c4ae9b3aeb
Debug Info: Use identifier to reference DIType in containing type field of
...
a DISubprogram.
Verifier is updated accordingly.
llvm-svn: 190229
2013-09-07 00:04:05 +00:00
Akira Hatanaka
3121353c99
[mips] Use uimm5 and uimm6 instead of shamt and imm, if the immediate has to fit
...
into a 5-bit or 6-bit field.
llvm-svn: 190226
2013-09-07 00:02:02 +00:00
Manman Ren
275520608b
Debug Info: pass in VTableHolder as DIType instead of MDNode *.
...
Remove one cast and improve readability. No functionality change.
llvm-svn: 190225
2013-09-06 23:54:23 +00:00
Akira Hatanaka
79e38cde37
[mips] Define "trap" as a pseudo instruction that turns into "break 0, 0".
...
llvm-svn: 190224
2013-09-06 23:52:46 +00:00
Akira Hatanaka
50eebac68b
[mips] Delete unused classes and defs.
...
llvm-svn: 190221
2013-09-06 23:42:58 +00:00
Akira Hatanaka
2c544d8ed5
[mips] Make "b" (unconditional branch) a pseudo. "b" is an assembly idiom, which is
...
equivalent to "beq $zero, $zero, offset".
llvm-svn: 190220
2013-09-06 23:40:15 +00:00
Akira Hatanaka
dffc542123
[mips] Set instruction itineraries of loads, stores and conditional moves.
...
llvm-svn: 190219
2013-09-06 23:28:24 +00:00
Manman Ren
d8c68b1852
TBAA: add isTBAAVtableAccess to MDNode so clients can call the function
...
instead of having its own implementation.
The implementation of isTBAAVtableAccess is in TypeBasedAliasAnalysis.cpp
since it is related to the format of TBAA metadata.
The path for struct-path tbaa will be exercised by
test/Instrumentation/ThreadSanitizer/read_from_global.ll, vptr_read.ll, and
vptr_update.ll when struct-path tbaa is on by default.
llvm-svn: 190216
2013-09-06 22:47:05 +00:00
Manman Ren
deeafd8a58
Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields.
...
Field 2 of DIType (Context), field 9 of DIDerivedType (TypeDerivedFrom),
field 12 of DICompositeType (ContainingType), fields 2, 7, 12 of DISubprogram
(Context, Type, ContainingType).
llvm-svn: 190205
2013-09-06 21:03:58 +00:00
Aaron Watry
372cecf642
R600: Add support for LDS atomic subtract
...
Signed-off-by: Aaron Watry <awatry@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 190200
2013-09-06 20:17:42 +00:00
Manman Ren
d8f798ea97
Debug Info: Use identifier to reference DIType in containing type field of
...
a DICompositeType.
Verifier is updated accordingly.
llvm-svn: 190190
2013-09-06 18:46:00 +00:00
Manman Ren
277206fa28
Debug Info: Move a helper function getTypeIdentifier from DIBuilder to be part
...
of DIType.
Implement DIType::generateRef to return a type reference. This function will be
used in setContaintingType and in DIBuilder to generete the type reference.
No functionality change.
llvm-svn: 190188
2013-09-06 18:27:00 +00:00
Manman Ren
4c12bf5ac7
Debug Info Testing: Updated to use null instead of "i32 0" for containing-type
...
field of DICompositeType.
This will help the follow-on patch of using DITypeRef for containing-type field.
llvm-svn: 190187
2013-09-06 18:13:59 +00:00
Adrian Prantl
e8010fa54c
debuginfo-tests: Add support for an lldb wrapper script
...
to be used on darwin in lieu of gdb.
llvm-svn: 190186
2013-09-06 18:12:01 +00:00
Andrew Trick
b248b4a1de
mi-sched: cleanup register pressure update, remove a FIXME.
...
llvm-svn: 190181
2013-09-06 17:32:47 +00:00
Andrew Trick
c573cd905a
mi-sched: improve regpressure tracing.
...
llvm-svn: 190180
2013-09-06 17:32:44 +00:00
Andrew Trick
7609b7d1b5
mi-sched: print tree size in -view-misched-dags
...
llvm-svn: 190179
2013-09-06 17:32:42 +00:00
Andrew Trick
ffdbefb90c
mi-sched: register pressure update tracing.
...
llvm-svn: 190178
2013-09-06 17:32:39 +00:00
Andrew Trick
ddffae9027
mi-sched: Reorder Cyclicpath (latency) and CriticalMax (pressure) heuristics.
...
The latency based scheduling could induce spills in some cases.
llvm-svn: 190177
2013-09-06 17:32:36 +00:00
Andrew Trick
75e411cc8e
Added MachineSchedPolicy.
...
Allow subtargets to customize the generic scheduling strategy.
This is convenient for targets that don't need to add new heuristics
by specializing the strategy.
llvm-svn: 190176
2013-09-06 17:32:34 +00:00
Hans Wennborg
8df6417683
msbuild integration: provide separate files for VS2010 and VS2012
...
The previous msbuild integration only worked if VS2010 was installed. This patch
renames the current integration to LLVM-vs2010 and adds LLVM-vs2012.
Differential Revision: http://llvm-reviews.chandlerc.com/D1614
llvm-svn: 190173
2013-09-06 17:05:46 +00:00
Matthias Braun
305ef7f5b0
avoid unnecessary direct access to LiveInterval::ranges
...
llvm-svn: 190170
2013-09-06 16:44:32 +00:00
Matthias Braun
90e0d3c03a
remove unused argument from LiveRanges::join()
...
llvm-svn: 190169
2013-09-06 16:44:29 +00:00
Matthias Braun
c0ad7bfa62
remove pointless assert
...
The if above it ensures the property anyway.
llvm-svn: 190168
2013-09-06 16:44:27 +00:00
Matthias Braun
b348d9703c
fix comment
...
There's no 'B3' in the example.
llvm-svn: 190167
2013-09-06 16:44:25 +00:00
Matthias Braun
9804f81fde
fix typo in comment
...
llvm-svn: 190165
2013-09-06 16:19:22 +00:00
Daniel Sanders
af7f805b96
[mips][msa] Indentation
...
llvm-svn: 190156
2013-09-06 13:25:06 +00:00
Daniel Sanders
636f72fc08
[mips][msa] Requires<[HasMSA]> is redundant, it is also supplied via inheritance
...
Tested with 'llvm-tblgen -print-records' which outputs identical records before
and after this patch.
llvm-svn: 190155
2013-09-06 13:15:05 +00:00
Vladimir Medic
b936da159e
This patch adds support for microMIPS Multiply and Add/Sub instructions. Test cases are included in patch.
...
llvm-svn: 190154
2013-09-06 13:08:00 +00:00
Daniel Sanders
563e5eabe5
[mips][msa] Made the operand register sets optional for the VEC formats
...
Their default is to be the same as the result register set.
No functional change
llvm-svn: 190153
2013-09-06 13:01:47 +00:00
Vladimir Medic
457ba56b05
This patch adds support for microMIPS Move to/from HI/LO instructions. Test cases are included in patch.
...
llvm-svn: 190152
2013-09-06 12:53:21 +00:00
Daniel Sanders
41fb2c0d0e
[mips][msa] Made the operand register sets optional for the ELM_INSVE formats
...
Their default is to be the same as the result register set.
No functional change
llvm-svn: 190151
2013-09-06 12:50:52 +00:00