Commit Graph

174103 Commits

Author SHA1 Message Date
Jonathan Roelofs bce1e4d60e Fix broken build from r208135
llvm-svn: 208350
2014-05-08 18:48:43 +00:00
Jyotsna Verma 38901ca4f6 [Hexagon] Add new InstrItinClass to support timing classes.
This patch doesn't introduce any functionality change. Test cases will be
added later when v5 support is added.

llvm-svn: 208349
2014-05-08 18:47:08 +00:00
Rafael Espindola 331380a291 Use for range loops.
llvm-svn: 208348
2014-05-08 18:40:06 +00:00
Sebastian Pop 45dd14bac2 add testcase for r208237: do not collect undef terms
llvm-svn: 208347
2014-05-08 18:38:58 +00:00
Rafael Espindola 49bb65a48d Use range loop.
llvm-svn: 208346
2014-05-08 18:17:44 +00:00
Ben Langmuir 46b02e3edd Remove -Wnon-modular-include
But keep -Wnon-modular-include-in-[framework-]module

This warning is too noisy and doesn't really indicate a problem for most
people.  Even though it would only really affect people using
-Weverything, that seems bad so remove it.

llvm-svn: 208345
2014-05-08 18:09:29 +00:00
Matt Arsenault e8a076a253 R600: Promote f64 vector load/stores to i64 for consistency
llvm-svn: 208344
2014-05-08 18:01:56 +00:00
Rafael Espindola 0c4eea74d7 Use a range loop.
llvm-svn: 208343
2014-05-08 17:57:50 +00:00
Andrea Di Biagio e85ba4df52 [X86] Add target specific combine rules to fold SSE2/AVX2 packed arithmetic shift intrinsics.
This patch teaches the backend how to combine packed SSE2/AVX2 arithmetic shift
intrinsics.

The rules are:
 - Always fold a packed arithmetic shift by zero to its first operand;
 - Convert a packed arithmetic shift intrinsic dag node into a ISD::SRA only if
   the shift count is known to be smaller than the vector element size.

This patch also teaches to function 'getTargetVShiftByConstNode' how fold
target specific vector shifts by zero.

Added two new tests to verify that the DAGCombiner is able to fold
sequences of SSE2/AVX2 packed arithmetic shift calls.

llvm-svn: 208342
2014-05-08 17:44:04 +00:00
Saleem Abdulrasool 39a939d7d2 test: fix test on Windows
When building on Windows, the default target is Windows.  Windows on ARM does
not support ARM mode compilation, resulting in test failures.  Simply specify a
triple to ensure that we are testing the correct behaviour.

llvm-svn: 208340
2014-05-08 17:11:29 +00:00
Greg Clayton 1fd43846a1 Revert bad checkin that use incorrect member field.
llvm-svn: 208339
2014-05-08 17:10:54 +00:00
Greg Clayton 153e7c7207 Set the current line to invalid when done getting multiple lines.
llvm-svn: 208338
2014-05-08 17:06:33 +00:00
NAKAMURA Takumi cc648f75eb Mark test/TableGen/listconcat.td as XFAIL:vg_leak. llvm-tblgen is ignorant of vg_leak.
llvm-svn: 208337
2014-05-08 17:06:10 +00:00
Greg Clayton c3d874a584 lldb TOT is dropping the last entry for multi-line IOHandlers that use the IOHandlerDelegateMultiline.
<rdar://problem/16844164>

llvm-svn: 208336
2014-05-08 16:59:00 +00:00
Saleem Abdulrasool 61449c6b9a CodeGen: fix code model mapping
Large is CodeModel::Model::Large, not CodeModel::Model::Medium.  Thanks to
majnemer for pointing out the typo!  Its unclear how to test the mapped value in
the compiler, the tests already cover the driver side.

llvm-svn: 208335
2014-05-08 16:28:48 +00:00
Daniel Sanders 7d290b0974 [mips] Add PredicateControl to InstAlias's
Summary:
No functional change

Depends on D3649

Reviewers: vmedic

Reviewed By: vmedic

Differential Revision: http://reviews.llvm.org/D3672

llvm-svn: 208334
2014-05-08 16:12:31 +00:00
Sergey Matveev 76e02e90c5 [ASan] Fix coverage behavior when a PC belongs to an unknown address range.
This happens, e.g., when coverage data is collected for a module which is then
dlclose()'d. Currently this causes CovDump() to ignore all PCs that are greater
than the unrecognized PC. In other words, unloading a module causes ASan to
silently ignore any coverage data for modules loaded at higher addresses.
Instead we should just skip the unrecognized PCs.

llvm-svn: 208333
2014-05-08 16:09:54 +00:00
Timur Iskhodzhanov e153347cc5 [ASan tests] Fix non-Windows breakage
llvm-svn: 208332
2014-05-08 15:59:35 +00:00
Rafael Espindola bf6e67f2e9 Simplify a few cast<>s.
llvm-svn: 208331
2014-05-08 15:44:45 +00:00
Bradley Smith 340ba0c5fe [ARM64] Add diagnostics for expected arithmetic shifts
llvm-svn: 208330
2014-05-08 15:40:39 +00:00
Bradley Smith afaab0a78a [ARM64] Re-work parsing of ADD/SUB shifted immediate operands
The parsing of ADD/SUB shifted immediates needs to be done explicitly so
that better diagnostics can be emitted, as a side effect this also
removes some of the hacks in the current method of handling this operand
type.

Additionally remove manual CMP aliasing to ADD/SUB and use InstAlias
instead.

llvm-svn: 208329
2014-05-08 15:39:58 +00:00
Rafael Espindola e033c8c58c Cleanup setFunctionDefinitionAttributes.
Use more specific type, update comments and name style.

llvm-svn: 208328
2014-05-08 15:26:12 +00:00
Daniel Sanders f72791e464 [mips] Correct tests that are meant to test valid assembly. They were actually rejected by GAS.
Summary:
I've noticed a bug in my test generator script that caused 64-bit objects
to be disassembled as if it were using the O32 ABI, giving the wrong register
names. As a result, it generated assembly files that are rejected by GAS when
assembling for the correct ABI. This was caused by the generator setting the
ELF e_flags incorrectly before disassembling the object.

This patch corrects the invalid tests that have already been committed by
replacing the ABI-dependent register names with numeric registers. In addition
to fixing the tests this allows the 32-bit and 64-bit ISA tests to be easily diffed
to produce the invalid-*.s tests which test that instructions defined in later ISA's
are not accepted.

Depends on D3648

Reviewers: vmedic

Reviewed By: vmedic

Differential Revision: http://reviews.llvm.org/D3649

llvm-svn: 208327
2014-05-08 15:17:29 +00:00
Timur Iskhodzhanov 21a22d34be [ASan tests] More progress towards Windows support
llvm-svn: 208326
2014-05-08 15:13:26 +00:00
Timur Iskhodzhanov 48253ed689 [ASan tests] More progress towards Windows support
llvm-svn: 208325
2014-05-08 15:05:42 +00:00
Rafael Espindola 8dcd6e767b Replace virtual with override.
llvm-svn: 208324
2014-05-08 15:01:48 +00:00
Timur Iskhodzhanov 498052b8eb [ASan tests] More progress towards Windows support
llvm-svn: 208323
2014-05-08 15:01:29 +00:00
Timur Iskhodzhanov fddadefc33 [ASan tests] Auto-define ASAN_NEEDS_SEGV rather than hardcode it in cmake
llvm-svn: 208322
2014-05-08 14:53:59 +00:00
Rafael Espindola 649263626a Use more specific type.
llvm-svn: 208321
2014-05-08 14:46:46 +00:00
Rafael Espindola 489c66b268 Small simplification: Reduce the use of cast<>.
llvm-svn: 208320
2014-05-08 14:33:38 +00:00
Marshall Clow 5c520bd985 Add Address Sanitizer support to std::vector
llvm-svn: 208319
2014-05-08 14:14:06 +00:00
Bradley Smith 4c0274b663 [ARM64] Ensure immediates in extend operands are in a valid range
Also emit a more useful diagnostic when they are not.

llvm-svn: 208318
2014-05-08 14:12:12 +00:00
Bradley Smith 545caa6fa3 [ARM64] Check for proper immediate in shift/extend operands
llvm-svn: 208317
2014-05-08 14:11:16 +00:00
Christian Pirker b5728191c2 ARM big endian function argument passing
llvm-svn: 208316
2014-05-08 14:06:24 +00:00
Diego Novillo 6dc9c4814f Fix segmentation fault when mixing -Rpass with #line.
Summary:
When using #line directives, FileManager::getFile() will return a nil
entry. This triggers an assert in translateFileLineCol().

This patch handles nil FileEntry instances by emitting a note that the
location could not be translated back to a SourceLocation. I don't
really like this solution, but we are translating presumed locations,
so some information has already been lost.

Reviewers: rsmith

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D3625

llvm-svn: 208315
2014-05-08 13:49:54 +00:00
Hal Finkel e8172d85f9 Fix a spelling error
llvm-svn: 208314
2014-05-08 13:42:57 +00:00
Karthik Bhat 967c13d3fb Fix PR19169 [Crash on invalid attempting to specialize a template method as a template variable].
A template declaration of a template name can be null in case we have a dependent name or a set of function templates.
Hence use dyn_cast_or_null instead of dyn_cast. Also improve the diagnostic emitted in this case.

llvm-svn: 208313
2014-05-08 13:16:20 +00:00
Rafael Espindola c47b0a1b99 Use predicate function to simplify a bit.
llvm-svn: 208312
2014-05-08 13:07:37 +00:00
Daniel Sanders cdbbe08b05 [mips] Implement l[wd]c3, and s[wd]c3.
Summary:
These instructions were added in MIPS-I, and MIPS-II but were removed in
MIPS-III. Interestingly, GAS continues to accept them when assembling for
MIPS-III.

For the moment, these instructions will follow GAS and accept them for
MIPS-III and newer but this will be tightened up when the invalid-*.s
tests are added.

Depends on D3647

Reviewers: vmedic

Reviewed By: vmedic

Differential Revision: http://reviews.llvm.org/D3648

llvm-svn: 208311
2014-05-08 13:02:11 +00:00
Ed Maste 279b97c130 Enable standalone-debug by default on FreeBSD
It was set by default on Darwin in r198655.  The same usability issues
with DTrace and LLDB apply to FreeBSD, so set it by default there too.

rdar://problem/15758808
http://llvm.org/pr19676

Differential Revision: http://reviews.llvm.org/D3448

llvm-svn: 208310
2014-05-08 13:01:26 +00:00
Ed Maste 6b008bf205 Add isOSFreeBSD triple test
For http://reviews.llvm.org/D3448

llvm-svn: 208309
2014-05-08 13:00:15 +00:00
Dario Domizioli 058a8fd36c Revert test commit. Removed blank line.
llvm-svn: 208308
2014-05-08 12:54:43 +00:00
James Molloy c42ea14f74 [ARM64-BE] Teach fast-isel about how to set up sub-word stack arguments for big endian calls.
SelectionDAG already knows about this, but fast-isel was ignorant.

llvm-svn: 208307
2014-05-08 12:53:50 +00:00
Timur Iskhodzhanov 76f43eecb0 [ASan] Update sanitizer_common and asan test_util headers to support building on Windows
llvm-svn: 208306
2014-05-08 12:43:33 +00:00
Daniel Sanders d39320c6b6 [mips] Marked up instructions added in MIPS-II and tested that IAS for -mcpu=mips1 does not accept them
Summary:
A small number of instructions are rejected with the wrong error message.
These have been placed in a separate test for now. There seems to be some
parsing quirk that triggers when these instructions are disabled.

Depends on D3571

Reviewers: vmedic

Reviewed By: vmedic

Differential Revision: http://reviews.llvm.org/D3647

llvm-svn: 208305
2014-05-08 12:40:48 +00:00
Daniel Jasper 05cd586863 clang-format: Cleanup redundant calculation of ParenLevel.
No functional changes intended.

llvm-svn: 208304
2014-05-08 12:21:30 +00:00
Evgeniy Stepanov c5e51926dc [msan] Intercept strxfrm.
llvm-svn: 208303
2014-05-08 12:04:01 +00:00
Daniel Jasper 04a71a45ff clang-format: Initial support for try-catch.
Most of this patch was created by Alexander Rojas in
http://reviews.llvm.org/D2555
Thank you!

Synced and addressed review comments.

llvm-svn: 208302
2014-05-08 11:58:24 +00:00
Daniel Sanders 8dcb116a3e [mips] Implement tlbp, tlbr, tlbwi, and tlbwr
Reviewers: vmedic, dsanders

Reviewed By: dsanders

Differential Revision: http://reviews.llvm.org/D3571

llvm-svn: 208301
2014-05-08 11:51:18 +00:00
Manuel Klimek b33bded176 Explicitly keep track of temporaries during the consumed analysis.
This makes the consumed analysis less dependent on the CFG layout and fixes
a bug where we wouldn't warn on an unconsumed value.

llvm-svn: 208300
2014-05-08 11:50:00 +00:00