Craig Topper
36e55db0c3
More x86 disassembler filtering cleanup.
...
llvm-svn: 192279
2013-10-09 06:12:53 +00:00
Andrew Trick
6456fd444d
Add missing HasAVX512 predicate.
...
This was only working because AVX had cheaper rules in all cases.
I'm sure there are other places in this file where predicates are missing.
llvm-svn: 192276
2013-10-09 05:11:10 +00:00
Craig Topper
78a2070f4a
Remove some old filters from the x86 disassembler table builder.
...
llvm-svn: 192275
2013-10-09 05:02:29 +00:00
Craig Topper
bd2eef914f
Replace a couple instructions with patterns referring to other instructions with same encoding and operands. Mark a couple other instructions as CodeGenOnly since we have FR and VR instructions and only one of them is needed by the assembler/disassembler.
...
llvm-svn: 192274
2013-10-09 04:54:21 +00:00
Craig Topper
ae27a7b281
Use AVX512PIi8 for the alt forms of vcmp instructions. This adds the TB prefix and keeps the mnemonic from starting with an extra 'v'
...
llvm-svn: 192272
2013-10-09 04:24:38 +00:00
Craig Topper
718df5110c
Mark some instructions as CodeGenOnly since they aren't needed by the assembler or disassembler. Disassembler already filtered them, but asm parser still had them in its tables.
...
llvm-svn: 192271
2013-10-09 03:56:16 +00:00
Craig Topper
d5082631e1
Add in64BitMode/in32BitMode to the MMX/SSE2/AVX maskmovq/dq instructions. This way the asm parser will pick the right one based on the mode. Instruction selection already did the right thing based on the pointer size.
...
llvm-svn: 192266
2013-10-09 02:18:34 +00:00
Rafael Espindola
a6f424f877
Add a paragraph about MCTargetStreamer.
...
llvm-svn: 192265
2013-10-09 02:05:08 +00:00
NAKAMURA Takumi
942a2fc0cb
llvm/test/LTO should run also on cygwin.
...
llvm-svn: 192262
2013-10-09 01:07:31 +00:00
Manman Ren
15624ed0ea
Debug Info: In DIBuilder, the context field of a DICompositeType is updated
...
to use DIScopeRef.
A paired commit at clang is required due to changes to DIBuilder.
llvm-svn: 192256
2013-10-09 00:17:04 +00:00
Manman Ren
e31c6f626f
Debug Info: In DIBuilder, the context fields of a static member and a
...
typedef are updated to use DIScopeRef.
llvm-svn: 192254
2013-10-08 23:49:38 +00:00
Manman Ren
7259773e8e
Debug Info: In DIBuilder, the derived-from field of DICompositeType
...
is updated to use DITypeRef.
A paired commit at clang is required due to changes to DIBuilder.
llvm-svn: 192251
2013-10-08 23:28:51 +00:00
Manman Ren
d3dd477f4b
Debug Info: In DIBuilder, the derived-from field of DIDerivedType
...
is updated to use DITypeRef.
A paired commit at clang is required due to changes to DIBuilder.
llvm-svn: 192246
2013-10-08 22:56:31 +00:00
Chad Rosier
d30c4af71b
[AArch64] Add support for NEON scalar floating-point reciprocal estimate,
...
reciprocal exponent, and reciprocal square root estimate instructions.
llvm-svn: 192242
2013-10-08 22:09:04 +00:00
Matt Arsenault
f3a608f7ff
Fix duplicated assertions.
...
Do what some other instructions do, and add an assert method.
llvm-svn: 192236
2013-10-08 21:11:12 +00:00
Chad Rosier
e281a17b84
[AArch64] Add support for NEON scalar signed/unsigned integer to floating-point
...
convert instructions.
llvm-svn: 192231
2013-10-08 20:43:30 +00:00
Reid Kleckner
0aaac9bca6
Explicitly request unsigned enum types when desired
...
This fixes repeated -Wmicrosoft warnings when self-hosting clang on
Windows, and gets us real unsigned enum types with MSVC.
llvm-svn: 192227
2013-10-08 20:15:11 +00:00
Manman Ren
5b259edab8
Debug Info: update testing to reflect r192018.
...
llvm-svn: 192224
2013-10-08 20:06:43 +00:00
Reed Kotler
0b1b97d48b
Add fabsf to the list of inlined functions; otherwise
...
Mips16 will try and create a stub for it and this will
result in a link error because that function does not exist in libc.
llvm-svn: 192223
2013-10-08 19:55:01 +00:00
Manman Ren
3634a1bde6
Add DbgVariable::resolve per Eric's suggestion.
...
llvm-svn: 192218
2013-10-08 19:07:44 +00:00
Manman Ren
b3b1ba7540
Debug Info: rename getOriginalTypeSize to getBaseTypeSize.
...
llvm-svn: 192216
2013-10-08 18:46:58 +00:00
Manman Ren
12c5557523
Debug Info: take advantage of the existing CU::resolve.
...
llvm-svn: 192215
2013-10-08 18:42:58 +00:00
Manman Ren
0a43904dc9
Move DIRef::getName out of line.
...
llvm-svn: 192214
2013-10-08 18:42:03 +00:00
Akira Hatanaka
27a2b4e26a
[mips] Simplify and optimize code.
...
No intended functionality change.
llvm-svn: 192213
2013-10-08 18:13:24 +00:00
Matt Arsenault
ed8ec1a52a
Add some xfaild R600 tests.
...
These are bugs to fix later.
llvm-svn: 192212
2013-10-08 18:06:36 +00:00
Benjamin Kramer
f9db6465f7
IRBuilder: Downgrade InsertPointGuard's instruction pointer to a raw pointer.
...
Sadly this loses the checking from AssertingVH, but apparently storing the
end() of a BasicBlock into an AssertingVH has bad consequences as it's not
really an instruction.
llvm-svn: 192209
2013-10-08 17:44:56 +00:00
Reed Kotler
57455fdc7c
Let rotr and bswap be handled by expansion for Mips16 since we don't
...
have native instructions for this.
llvm-svn: 192207
2013-10-08 17:32:33 +00:00
Andrew Kaylor
d7a81f88ad
Removing unintended code block from lli
...
llvm-svn: 192205
2013-10-08 17:15:11 +00:00
Eric Christopher
033ddf451a
Grammar.
...
llvm-svn: 192199
2013-10-08 16:47:11 +00:00
Rafael Espindola
b9b01ea30e
Fix build on Solaris 11.
...
Patch by Vladimir Voskresensky. The erros were:
Path.inc:274:3: error: ‘Dl_info’ was not declared in this scope
...
and
usr/include/spawn.h:52:14: error: expected ‘,’ or ‘...’ before ‘argv’
llvm-svn: 192185
2013-10-08 16:12:58 +00:00
Rafael Espindola
9393b75d84
Only modify lto.exports.def when contents have changed.
...
Patch by Greg Bedwell.
llvm-svn: 192182
2013-10-08 15:07:00 +00:00
Rafael Espindola
6267c79fdb
Add a MCTargetStreamer interface.
...
This patch fixes an old FIXME by creating a MCTargetStreamer interface
and moving the target specific functions for ARM, Mips and PPC to it.
The ARM streamer is still declared in a common place because it is
used from lib/CodeGen/ARMException.cpp, but the Mips and PPC are
completely hidden in the corresponding Target directories.
I will send an email to llvmdev with instructions on how to use this.
llvm-svn: 192181
2013-10-08 13:08:17 +00:00
NAKAMURA Takumi
f37e42a504
SparcJITInfo.cpp: Prune "default:" label to fix a warning. [-Wcovered-switch-default]
...
llvm-svn: 192179
2013-10-08 10:29:09 +00:00
NAKAMURA Takumi
18fc7c1446
Prune trailing linefeeds.
...
llvm-svn: 192178
2013-10-08 10:29:03 +00:00
Venkatraman Govindaraju
6abd2b0367
[Sparc] Implement JIT for SPARC.
...
No new testcases. However, this patch makes all supported JIT testcases in
test/ExecutionEngine pass on Sparc.
llvm-svn: 192176
2013-10-08 07:15:22 +00:00
Craig Topper
4c3cbfbbbc
Remove unneeded MMX instruction definition by moving pattern to an equivalent instruction definition and removing the filtering from the disassembler table building.
...
llvm-svn: 192175
2013-10-08 06:30:39 +00:00
Craig Topper
2d70555027
Fix a typo in the mattr part of the run line.
...
llvm-svn: 192174
2013-10-08 06:12:26 +00:00
Craig Topper
3d7c6afb79
Explicitly disable AVX on a bunch of tests so they won't fail on AVX machines post r192171.
...
llvm-svn: 192173
2013-10-08 06:06:57 +00:00
Craig Topper
aa1a4d51f0
Remove some instructions that existed to provide aliases to the assembler. Can be done with InstAlias instead. Unfortunately, this was causing printer to use 'vmovq' or 'vmovd' based on what was parsed. To cleanup the inconsistencies convert all 'vmovd' with 64-bit registers to 'vmovq', but provide an alias so that 'vmovd' will still parse.
...
llvm-svn: 192171
2013-10-08 05:53:50 +00:00
Venkatraman Govindaraju
72515ccf89
[Sparc] Do not hardcode nop in the delay slot of TLS_CALL. Use DelaySlotFiller to fill the delay slot instead.
...
llvm-svn: 192160
2013-10-08 02:50:29 +00:00
Adrian Prantl
c584bc7266
typo.
...
llvm-svn: 192158
2013-10-08 02:30:54 +00:00
Adrian Prantl
82c328eb30
typo.
...
llvm-svn: 192157
2013-10-08 02:28:20 +00:00
Adrian Prantl
e399829d39
Reduce testcase from 1r92011.
...
llvm-svn: 192156
2013-10-08 02:21:44 +00:00
Nick Kledzik
53133391cd
update mach-o EXPORT_SYMBOL_* names
...
llvm-svn: 192151
2013-10-08 00:59:13 +00:00
Hans Wennborg
8c515c229e
cmake: don't set LLVM_COMPILER_IS_GCC_COMPATIBLE when using clang-cl
...
Tip-of-tree CMake has become clang-cl aware [1]. In this case,
CMAKE_CXX_COMPILER_ID will still be Clang, but MSVC will be true.
[1] See http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d8356d4
llvm-svn: 192139
2013-10-07 22:03:23 +00:00
David Majnemer
39a2e35dbc
Windows: Avoiding resizing, use uninitialized data() instead
...
This is ever-so faster but more importantly matches what we have elsewhere.
llvm-svn: 192137
2013-10-07 21:57:07 +00:00
Akira Hatanaka
6c2bf15c93
[mips] Test case for r192124.
...
llvm-svn: 192135
2013-10-07 21:32:57 +00:00
Arnold Schwaighofer
bfe48b104a
LoopVectorize: External uses must use the last value in a reduction cycle
...
Otherwise, we don't perform operations that would have been performed on
the scalar version.
Fixes PR17498.
llvm-svn: 192133
2013-10-07 21:05:43 +00:00
Reed Kotler
33301878d0
Add Mips16 patterns for sign extend byte and sign extend halfword.
...
llvm-svn: 192130
2013-10-07 20:46:19 +00:00
Manman Ren
b284db0070
Struct byval: use the correct alignment for loads generated to load
...
from struct byval to registers.
We used to pass 0 which means the alignment of PtrVT. Even when the alignment
of the struct is smaller than 4, the LOADs would have alignment of 4, and
further optimizations could combine the LOADs into a ldm, which would
cause crash.
The fix is to pass the alignment of the struct byval.
rdar://problem/15144402
llvm-svn: 192126
2013-10-07 19:47:53 +00:00