platform/upstream/llvm.git
10 years agoMCAsmParser: relax declaration parsing
Saleem Abdulrasool [Sun, 16 Feb 2014 04:56:31 +0000 (04:56 +0000)]
MCAsmParser: relax declaration parsing

The Linux kernel defines empty macros for compatibility with ARM UAL syntax.
The comma after the name is optional, and if present can be safely lexed.  This
improves compatibility with the GNU assembler.

llvm-svn: 201474

10 years agoelf-core: Plug latent memory leak
Ed Maste [Sun, 16 Feb 2014 04:01:54 +0000 (04:01 +0000)]
elf-core: Plug latent memory leak

ProcessElfCore::ParseThreadContextsFromNoteSegment was leaking
ThreadData for each ELF note found in core file.  We now allocate it
only once and use std::unique_ptr to ensure it is always being freed.

While at it make ParseFreeBSDThrMisc and ParseFreeBSDPrStatus take
ThreadData by reference, rather than pointer, since those arguments are
not optional.

Patch by Piotr Rak.

http://llvm-reviews.chandlerc.com/D2813

llvm-svn: 201473

10 years agoRemove tabs that crept in during an earlier refactoring. No functionality change
Marshall Clow [Sun, 16 Feb 2014 01:57:26 +0000 (01:57 +0000)]
Remove tabs that crept in during an earlier refactoring. No functionality change

llvm-svn: 201472

10 years agoARM IAS: (partially) support .arch_extension directive
Saleem Abdulrasool [Sun, 16 Feb 2014 00:16:41 +0000 (00:16 +0000)]
ARM IAS: (partially) support .arch_extension directive

This adds a partial implementation of the .arch_extension directive to the
integrated ARM assembler.  There are a number of limitations to this
implementation arising from the target backend support rather than the
implementation itself.  Namely, iWMMXT (v1 and v2), Maverick, and XScale support
is not present in the ARM backend.  Currently, there is no check for A-class
only (needed for virt), and no ARMv6k detection (needed for os and sec).  The
remainder of the extensions are fully supported.

llvm-svn: 201471

10 years agoDebugInfo: imported_decl/using declarations at namespace scope
David Blaikie [Sat, 15 Feb 2014 21:03:07 +0000 (21:03 +0000)]
DebugInfo: imported_decl/using declarations at namespace scope

llvm-svn: 201470

10 years agoDebugInfo: Deduplicate entries in the fission address table
David Blaikie [Sat, 15 Feb 2014 19:34:03 +0000 (19:34 +0000)]
DebugInfo: Deduplicate entries in the fission address table

This broke in r185459 while TLS support was being generalized to handle
non-symbol TLS representations.

I thought about/tried having an enum rather than a bool to track the
TLS-ness of the address table entry, but namespaces and naming seemed
more hassle than it was worth for only one caller that needed to specify
this.

llvm-svn: 201469

10 years ago[Sema] Fix assertion hit while trying to do constant evaluation for a dependent expre...
Argyrios Kyrtzidis [Sat, 15 Feb 2014 18:53:57 +0000 (18:53 +0000)]
[Sema] Fix assertion hit while trying to do constant evaluation for a dependent expression
inside a GNU statement expression.

rdar://16064952

llvm-svn: 201468

10 years agoDwarfDebug: Remove dead code.
David Blaikie [Sat, 15 Feb 2014 18:33:11 +0000 (18:33 +0000)]
DwarfDebug: Remove dead code.

llvm-svn: 201467

10 years agoRevert "SCEVExpander: Try hard not to create derived induction variables in other...
Arnold Schwaighofer [Sat, 15 Feb 2014 18:16:56 +0000 (18:16 +0000)]
Revert "SCEVExpander: Try hard not to create derived induction variables in other loops"

This reverts commit r201465. It broke an arm bot.

llvm-svn: 201466

10 years agoSCEVExpander: Try hard not to create derived induction variables in other loops
Arnold Schwaighofer [Sat, 15 Feb 2014 17:11:56 +0000 (17:11 +0000)]
SCEVExpander: Try hard not to create derived induction variables in other loops

During LSR of one loop we can run into a situation where we have to expand the
start of a recurrence of a loop induction variable in this loop. This start
value is a value derived of the induction variable of a preceeding loop. SCEV
has cannonicalized this value to a different recurrence than the recurrence of
the preceeding loop's induction variable (the type and/or step direction) has
changed). When we come to instantiate this SCEV we created a second induction
variable in this preceeding loop.  This patch tries to base such derived
induction variables of the preceeding loop's induction variable.

This helps twolf on arm and seems to help scimark2 on x86.

radar://15970709

llvm-svn: 201465

10 years agoCleanup docs about lit substitutions
Nico Rieck [Sat, 15 Feb 2014 08:35:56 +0000 (08:35 +0000)]
Cleanup docs about lit substitutions

llvm-svn: 201464

10 years agoAdd opcode extension forms of MOV8ri/MOV16ri/MOV32ri.
Craig Topper [Sat, 15 Feb 2014 07:29:18 +0000 (07:29 +0000)]
Add opcode extension forms of MOV8ri/MOV16ri/MOV32ri.

llvm-svn: 201463

10 years agoMS ABI: Remove a useless FileCheck line
David Majnemer [Sat, 15 Feb 2014 07:02:11 +0000 (07:02 +0000)]
MS ABI: Remove a useless FileCheck line

1. CHECK-NOT-LABEL is not valid FileCheck.
2. This test would not trigger the CHECK-NOT-LABEL even if 'interface' is
   replaced with 'struct'.

llvm-svn: 201462

10 years agoFix typo
Nico Rieck [Sat, 15 Feb 2014 06:02:36 +0000 (06:02 +0000)]
Fix typo

llvm-svn: 201461

10 years agoMark issue 2293, 2241 and 2308 as complete
Marshall Clow [Sat, 15 Feb 2014 05:41:48 +0000 (05:41 +0000)]
Mark issue 2293, 2241 and 2308 as complete

llvm-svn: 201460

10 years agoFirst pass at the Issaquah issues list
Marshall Clow [Sat, 15 Feb 2014 05:10:39 +0000 (05:10 +0000)]
First pass at the Issaquah issues list

llvm-svn: 201459

10 years agoMove test inputs into the Inputs directory (improvement/fix to r201419)
David Blaikie [Sat, 15 Feb 2014 05:09:38 +0000 (05:09 +0000)]
Move test inputs into the Inputs directory (improvement/fix to r201419)

llvm-svn: 201458

10 years agoSimplify core file register context handling
Ed Maste [Sat, 15 Feb 2014 02:31:22 +0000 (02:31 +0000)]
Simplify core file register context handling

This seems like a more straightforward approach for instantiating the
appropriate RegisterContext* class, made possible by Michael Sartain's
cleanup of the POSIX RegisterContext class hierarchy in r190647.

Better (user-facing) error handling is still needed.

llvm-svn: 201457

10 years agoPGO: fix a bug in parsing pgo data.
Manman Ren [Sat, 15 Feb 2014 01:29:02 +0000 (01:29 +0000)]
PGO: fix a bug in parsing pgo data.

When a function has a single counter, we will offset the pointer by 1 when
parsing the next function. If a function has multiple counters, we are
okay after skipping rest of the counters.

llvm-svn: 201456

10 years ago<rdar://problem/16006373>
Enrico Granata [Sat, 15 Feb 2014 01:24:44 +0000 (01:24 +0000)]
<rdar://problem/16006373>

Revert the spirit of r199857 - a convincing case can be made that overriding a summary's format markers behind its back is not the right thing to do
This commit reverts the behavior of the code to the previous model, and changes the test case to validate the opposite of what it was validating before

llvm-svn: 201455

10 years agoMS ABI: Fix some layout tests
David Majnemer [Sat, 15 Feb 2014 01:21:20 +0000 (01:21 +0000)]
MS ABI: Fix some layout tests

Some lines intended to be used for testing x86_64 ABI compatibility were
not firing because lines were annotated with the wrong FileCheck prefix:
X64 vs 64

llvm-svn: 201454

10 years agoMS ABI: Fix some layout tests
David Majnemer [Sat, 15 Feb 2014 01:09:56 +0000 (01:09 +0000)]
MS ABI: Fix some layout tests

Some lines intended to be used for testing x86_64 ABI compatibility were
not firing because lines were annotated with the wrong FileCheck prefix:
X64 vs C64

llvm-svn: 201453

10 years agoRemove transactional memory from c++ status page; there's no working paper for it...
Richard Smith [Sat, 15 Feb 2014 00:48:38 +0000 (00:48 +0000)]
Remove transactional memory from c++ status page; there's no working paper for it yet.

llvm-svn: 201452

10 years agoRemove tautological test line (unsigneds are always >=0).
Lang Hames [Sat, 15 Feb 2014 00:45:14 +0000 (00:45 +0000)]
Remove tautological test line (unsigneds are always >=0).

llvm-svn: 201451

10 years agoRemove unnecessary typename introduced in r201440.
David Blaikie [Sat, 15 Feb 2014 00:34:43 +0000 (00:34 +0000)]
Remove unnecessary typename introduced in r201440.

llvm-svn: 201450

10 years agoAdd some missing threes.
Richard Smith [Sat, 15 Feb 2014 00:29:44 +0000 (00:29 +0000)]
Add some missing threes.

llvm-svn: 201449

10 years agoAdd entries to C++ status page for Technical Specification Working Papers that
Richard Smith [Sat, 15 Feb 2014 00:29:00 +0000 (00:29 +0000)]
Add entries to C++ status page for Technical Specification Working Papers that
WG21 is about to vote on.

llvm-svn: 201448

10 years agoAdd some additional logging to the Mac OS X SystemRuntime. Fix a bug where lldb...
Jason Molenda [Sat, 15 Feb 2014 00:20:40 +0000 (00:20 +0000)]
Add some additional logging to the Mac OS X SystemRuntime.  Fix a bug where lldb could free an inferior's vm_page.

llvm-svn: 201447

10 years ago[Objective-C Sema]. Warn when an indirectly overridden property
Fariborz Jahanian [Sat, 15 Feb 2014 00:04:36 +0000 (00:04 +0000)]
[Objective-C Sema]. Warn when an indirectly overridden property
mismatches the one declared in current class; in addition to
those that are directly overridden.
// rdar://15967517

llvm-svn: 201446

10 years agoDebugInfo: Implement DW_AT_stmt_list for type units
David Blaikie [Fri, 14 Feb 2014 23:58:13 +0000 (23:58 +0000)]
DebugInfo: Implement DW_AT_stmt_list for type units

Type units will share the statement list of their defining compile unit.
This is a tradeoff that reduces .o debug info size at the cost of some
linked debug info size (since the contents of those string tables won't
be deduplicated along with the type unit) which seems right for now.

llvm-svn: 201445

10 years agoDwarfUnit: Remove unnecessarily explicit/out of line virtual dtors.
David Blaikie [Fri, 14 Feb 2014 22:50:59 +0000 (22:50 +0000)]
DwarfUnit: Remove unnecessarily explicit/out of line virtual dtors.

These types have an out of line virtual function each (emitHeader at
least) so they won't have weak vtables - no need for more than that.

llvm-svn: 201444

10 years agoHopefully fix the build with gcc.
Rafael Espindola [Fri, 14 Feb 2014 22:48:49 +0000 (22:48 +0000)]
Hopefully fix the build with gcc.

llvm-svn: 201443

10 years agoDwarfUnit: Remove unnecessary (void)t; that was previously used to suppress -Wunused...
David Blaikie [Fri, 14 Feb 2014 22:47:55 +0000 (22:47 +0000)]
DwarfUnit: Remove unnecessary (void)t; that was previously used to suppress -Wunused-member-variable

llvm-svn: 201442

10 years agoDwarfUnit: Refactor out DW_AT_stmt_list creation into common function for fission...
David Blaikie [Fri, 14 Feb 2014 22:41:51 +0000 (22:41 +0000)]
DwarfUnit: Refactor out DW_AT_stmt_list creation into common function for fission and non-fission cases

This probably also addresses the FIXME in the fission case regarding
multiple compile units, though I haven't tested that.

This code still confuses me (the literal zero offset makes little sense,
the limitations surrounding asm output I'm not sure about either - but
perhaps we should just always emit one line table? Or should we not rely
on .loc/.file even in assembly so we can produce the same output between
asm and object output?) but this maintains the existing functionality.

llvm-svn: 201441

10 years agoAdd extern template instantiations of llvm::Calculate.
Rafael Espindola [Fri, 14 Feb 2014 22:36:16 +0000 (22:36 +0000)]
Add extern template instantiations of llvm::Calculate.

This should be a small build time improvement in general and fixes
the build on OS X with -DBUILD_SHARED_LIBS=ON.

The issue is that not all users are including GenericDomTreeConstruction.h,
causing undefined references when ld64 managed to hide the
linkonce_odr symbols.

llvm-svn: 201440

10 years ago[CodeGenPrepare][AddressingModeMatcher] Give up on type promotion if the
Quentin Colombet [Fri, 14 Feb 2014 22:23:22 +0000 (22:23 +0000)]
[CodeGenPrepare][AddressingModeMatcher] Give up on type promotion if the
transformation does not bring any immediate benefits and introduce an illegal
operation.

llvm-svn: 201439

10 years agoFix crash-on-invalid if decltype(auto) is used as a deduced return type in
Richard Smith [Fri, 14 Feb 2014 22:17:32 +0000 (22:17 +0000)]
Fix crash-on-invalid if decltype(auto) is used as a deduced return type in
C++11 mode. Continue to disallow return type deduction in C++11 for now.

llvm-svn: 201438

10 years agoConsistently print anonymous namespace names as "<anonymous namespace>"
David Blaikie [Fri, 14 Feb 2014 22:12:54 +0000 (22:12 +0000)]
Consistently print anonymous namespace names as "<anonymous namespace>"

For some reason we have two bits of code handling this printing:

lib/AST/Decl.cpp:        OS << "<anonymous namespace>";
lib/AST/TypePrinter.cpp:      OS << "<anonymous namespace>::";

it would be nice if we only had one...

llvm-svn: 201437

10 years agoPrint anonymous namespaces as <anonymous namespace> instead of <anonymous>
David Blaikie [Fri, 14 Feb 2014 22:12:51 +0000 (22:12 +0000)]
Print anonymous namespaces as <anonymous namespace> instead of <anonymous>

llvm-svn: 201436

10 years agoAllow FreeBSD/i386 core files to be loaded
Ed Maste [Fri, 14 Feb 2014 21:57:27 +0000 (21:57 +0000)]
Allow FreeBSD/i386 core files to be loaded

llvm-svn: 201435

10 years agoCorrect offset calculation for FreeBSD i386 core NT_PRSTATUS
Ed Maste [Fri, 14 Feb 2014 21:29:05 +0000 (21:29 +0000)]
Correct offset calculation for FreeBSD i386 core NT_PRSTATUS

llvm-svn: 201434

10 years agoTargetLowering: n * r where n > 2 should be an illegal addressing mode
Tom Stellard [Fri, 14 Feb 2014 21:10:34 +0000 (21:10 +0000)]
TargetLowering: n * r where n > 2 should be an illegal addressing mode

llvm-svn: 201433

10 years agoRemove myself as owner of libc++
Howard Hinnant [Fri, 14 Feb 2014 21:09:01 +0000 (21:09 +0000)]
Remove myself as owner of libc++

llvm-svn: 201432

10 years agoAdd generic nvptx targets
Tom Stellard [Fri, 14 Feb 2014 20:33:53 +0000 (20:33 +0000)]
Add generic nvptx targets

These do not import the code specific to nvidiacl

Patch by: Jeroen Ketema

llvm-svn: 201431

10 years agoRemove unused #include
Eli Bendersky [Fri, 14 Feb 2014 20:15:56 +0000 (20:15 +0000)]
Remove unused #include

llvm-svn: 201430

10 years agoDebugInfo: Don't include the name of the CU file in the line table file list when...
David Blaikie [Fri, 14 Feb 2014 19:51:35 +0000 (19:51 +0000)]
DebugInfo: Don't include the name of the CU file in the line table file list when it's unneeded

Recommitting r201380 (reverted in r201389)
Recommitting r201351 and r201355 (reverted in r201351 and r201355)

We weren't emitting the an empty (header only) line table when the line
table was empty - this made the DWARF invalid (the compile unit would
point to the zero-size debug_lines section where there should've been an
empty line table but there was nothing at all). Fix that, and as a
consequence this works around/addresses PR18809.

Also, we emit a non-empty line table to workaround a darwin linker bug,
so XFAILing on darwin too.

Also, mark the test as 'REQUIRES: object-emission' because it does.

llvm-svn: 201429

10 years ago[IRGen]. Fixes a crash in using Objective-C array
Fariborz Jahanian [Fri, 14 Feb 2014 19:37:25 +0000 (19:37 +0000)]
[IRGen]. Fixes a crash in using Objective-C array
properties by fixing shouldBindAsLValue to accept arrays
(like record types) because we always manipulate
them in memory. Patch suggested by John MaCall.
// rdar://15610943

llvm-svn: 201428

10 years agoSupport DWARF discriminators in object streamer.
Diego Novillo [Fri, 14 Feb 2014 19:27:53 +0000 (19:27 +0000)]
Support DWARF discriminators in object streamer.

Summary:
This adds support for emitting DWARF path discriminator values in
the object streamer. It also changes the DWARF dumper to show
discriminator values in the line table output.

Reviewers: echristo

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2794

llvm-svn: 201427

10 years agoThis patch has two main functions:
Reed Kotler [Fri, 14 Feb 2014 19:16:39 +0000 (19:16 +0000)]
This patch has two main functions:

1) Fix a specific bug when certain conversion functions are called in a program compiled as mips16 with hard float and
the program is linked as c++. There are two libraries that are reversed in the link order with gcc/g++ and clang/clang++ for
mips16 in this case and the proper stubs will then not be called. These stubs are normally handled in the Mips16HardFloat pass
but in this case we don't know at that time that we need to generate the stubs. This must all be handled later in code generation
and we have moved this functionality to MipsAsmPrinter. When linked as C (gcc or clang) the proper stubs are linked in from libc.

2) Set up the infrastructure to handle 90% of what is in the Mips16HardFloat pass in this new area of MipsAsmPrinter. This is a more
logical place to handle this and we have known for some time that we needed to move the code later and not implement it using
inline asm as we do now but it was not clear exactly where to do this and what mechanism should be used. Now it's clear to us
how to do this and this patch contains the infrastructure to move most of this to MipsAsmPrinter but the actual moving will be done
in a follow on patch. The same infrastructure is used to fix this current bug as described in #1. This change was requested by the list
during the original putback of the Mips16HardFloat pass but was not practical for us do at that time.

llvm-svn: 201426

10 years agoTrivial cleanup: reuse existing variable.
Rafael Espindola [Fri, 14 Feb 2014 19:02:01 +0000 (19:02 +0000)]
Trivial cleanup: reuse existing variable.

Extracted while trying to understand http://llvm-reviews.chandlerc.com/D1764.

Patch by Matt Arsenault.

llvm-svn: 201425

10 years agoclang-format: Fix formatting of class template declaration.
Daniel Jasper [Fri, 14 Feb 2014 18:22:40 +0000 (18:22 +0000)]
clang-format: Fix formatting of class template declaration.

Before:
  template <class R, class C>
  struct Aaaaaaaaaaaaaaaaa<R (C::*)(int)
                           const> : Aaaaaaaaaaaaaaaaa<R (C::*)(int)> {};

After:
  template <class R, class C>
  struct Aaaaaaaaaaaaaaaaa<R (C::*)(int) const>
      : Aaaaaaaaaaaaaaaaa<R (C::*)(int)> {};

llvm-svn: 201424

10 years agoGenerate the DWARF stack frame decode operations in the function prologue for ARM...
Artyom Skrobov [Fri, 14 Feb 2014 17:19:07 +0000 (17:19 +0000)]
Generate the DWARF stack frame decode operations in the function prologue for ARM/Thumb functions.

Patch by Keith Walker!

llvm-svn: 201423

10 years agoAdjust logging test case after r201372
Ed Maste [Fri, 14 Feb 2014 16:06:35 +0000 (16:06 +0000)]
Adjust logging test case after r201372

The final "HandleCommand, command succeeded" for "log disable lldb"
doesn't make it to the log file before the command takes effect.

llvm-svn: 201422

10 years agoLSan: Print warning about dynamic linker only in verbose mode
Alexey Samsonov [Fri, 14 Feb 2014 15:12:46 +0000 (15:12 +0000)]
LSan: Print warning about dynamic linker only in verbose mode

llvm-svn: 201421

10 years ago[asan] Replace posix_memalign with memalign in test.
Evgeniy Stepanov [Fri, 14 Feb 2014 15:02:36 +0000 (15:02 +0000)]
[asan] Replace posix_memalign with memalign in test.

Android does not provide posix_memalign.

llvm-svn: 201420

10 years agoIf the headermap maps the filename to a framework include ("Foo.h" -> "Foo/Foo.h"),
Argyrios Kyrtzidis [Fri, 14 Feb 2014 14:58:28 +0000 (14:58 +0000)]
If the headermap maps the filename to a framework include ("Foo.h" -> "Foo/Foo.h"),
continue header lookup using the framework include as filename.

This allows us to conveniently treat
  #import "Foo.h"
as an implicit module import if we can resolve "Foo/Foo.h" as such.

rdar://16042979

llvm-svn: 201419

10 years agoUpdate decorators for tests that still fail with FreeBSD Watchpoint support
Ed Maste [Fri, 14 Feb 2014 14:52:10 +0000 (14:52 +0000)]
Update decorators for tests that still fail with FreeBSD Watchpoint support

llvm.org/pr18832

Reported by John Wolfe

llvm-svn: 201418

10 years ago[ASan] Rename asan_runtime_libraries to asan. Re-enable tests on Android.
Alexey Samsonov [Fri, 14 Feb 2014 14:45:13 +0000 (14:45 +0000)]
[ASan] Rename asan_runtime_libraries to asan. Re-enable tests on Android.

llvm-svn: 201417

10 years ago[asan] Disabled one more test on Android.
Evgeniy Stepanov [Fri, 14 Feb 2014 14:37:13 +0000 (14:37 +0000)]
[asan] Disabled one more test on Android.

llvm-svn: 201416

10 years ago[asan] Change stack uar test to not use ulimit.
Evgeniy Stepanov [Fri, 14 Feb 2014 14:36:42 +0000 (14:36 +0000)]
[asan] Change stack uar test to not use ulimit.

Because of how Android test runner is implemented, ulimit in RUN: line
gets executed on the host machine and does not affect the test.

llvm-svn: 201415

10 years agoMove TSan lit-tests under test/tsan
Alexey Samsonov [Fri, 14 Feb 2014 14:35:48 +0000 (14:35 +0000)]
Move TSan lit-tests under test/tsan

llvm-svn: 201414

10 years agoMove ASan lit-tests under test/asan
Alexey Samsonov [Fri, 14 Feb 2014 14:06:10 +0000 (14:06 +0000)]
Move ASan lit-tests under test/asan

llvm-svn: 201413

10 years agoMove MSan lit-tests under test/msan
Alexey Samsonov [Fri, 14 Feb 2014 13:02:58 +0000 (13:02 +0000)]
Move MSan lit-tests under test/msan

llvm-svn: 201412

10 years ago[asan] Revert r201402, r201404.
Evgeniy Stepanov [Fri, 14 Feb 2014 12:37:41 +0000 (12:37 +0000)]
[asan] Revert r201402, r201404.

Test fails in bootstrap build.

llvm-svn: 201411

10 years ago[sanitizer] Fix getpwuid_r (and similar) interceptors missing one of the arguments.
Evgeniy Stepanov [Fri, 14 Feb 2014 12:32:15 +0000 (12:32 +0000)]
[sanitizer] Fix getpwuid_r (and similar) interceptors missing one of the arguments.

llvm-svn: 201410

10 years agoRemove empty directories
Alexey Samsonov [Fri, 14 Feb 2014 12:28:05 +0000 (12:28 +0000)]
Remove empty directories

llvm-svn: 201409

10 years agoMove LSan test suite under test/
Alexey Samsonov [Fri, 14 Feb 2014 12:26:05 +0000 (12:26 +0000)]
Move LSan test suite under test/

llvm-svn: 201408

10 years ago[tsan] rudimentary support for deadlock detector in tsan (nothing really works yet...
Kostya Serebryany [Fri, 14 Feb 2014 12:20:42 +0000 (12:20 +0000)]
[tsan] rudimentary support for deadlock detector in tsan (nothing really works yet except for a single tiny test). Also rename tsan's DeadlockDetector to InternalDeadlockDetector

llvm-svn: 201407

10 years agoDelete LSan unit tests
Alexey Samsonov [Fri, 14 Feb 2014 12:13:59 +0000 (12:13 +0000)]
Delete LSan unit tests

llvm-svn: 201406

10 years ago[sanitizer] add iterators to bit vectors; make bit vector operations use little stack...
Kostya Serebryany [Fri, 14 Feb 2014 12:08:23 +0000 (12:08 +0000)]
[sanitizer] add iterators to bit vectors; make bit vector operations use little stack; add common flag 'detect_deadlocks'

llvm-svn: 201405

10 years ago[asan] Disable assembly on windows.
Evgeniy Stepanov [Fri, 14 Feb 2014 12:07:22 +0000 (12:07 +0000)]
[asan] Disable assembly on windows.

llvm-svn: 201404

10 years agoMove DFSan test suite under test/
Alexey Samsonov [Fri, 14 Feb 2014 12:05:41 +0000 (12:05 +0000)]
Move DFSan test suite under test/

llvm-svn: 201403

10 years ago[asan] Added assembly functions for x86/amd64 asan.
Evgeniy Stepanov [Fri, 14 Feb 2014 11:55:53 +0000 (11:55 +0000)]
[asan] Added assembly functions for x86/amd64 asan.

These are runtime support functions for inline assembly instrumentation.

Patch by Yuri Gorshenin.

llvm-svn: 201402

10 years agoMove UBSan test suite under test/
Alexey Samsonov [Fri, 14 Feb 2014 11:42:22 +0000 (11:42 +0000)]
Move UBSan test suite under test/

llvm-svn: 201401

10 years ago[sanitizer] Use mmap to zero-fill large shadow regions.
Evgeniy Stepanov [Fri, 14 Feb 2014 11:41:26 +0000 (11:41 +0000)]
[sanitizer] Use mmap to zero-fill large shadow regions.

This is covered by existing ASan test.
This does not change anything for TSan by default (but provides a flag to
change the threshold size).
Based on a patch by florent.bruneau here:
  https://code.google.com/p/address-sanitizer/issues/detail?id=256

llvm-svn: 201400

10 years agoMove shared configs for lit test suites to test/ and unittests/ directories
Alexey Samsonov [Fri, 14 Feb 2014 11:00:07 +0000 (11:00 +0000)]
Move shared configs for lit test suites to test/ and unittests/ directories

llvm-svn: 201399

10 years agoRemove empty directory
Alexey Samsonov [Fri, 14 Feb 2014 09:50:48 +0000 (09:50 +0000)]
Remove empty directory

llvm-svn: 201398

10 years ago[msan] Replicate mmap-below-shadow check in mmap64 interceptor.
Evgeniy Stepanov [Fri, 14 Feb 2014 09:49:29 +0000 (09:49 +0000)]
[msan] Replicate mmap-below-shadow check in mmap64 interceptor.

llvm-svn: 201397

10 years agoMove tests for BlocksRuntime and builtins to corresponding directories under test/
Alexey Samsonov [Fri, 14 Feb 2014 09:47:31 +0000 (09:47 +0000)]
Move tests for BlocksRuntime and builtins to corresponding directories under test/

llvm-svn: 201396

10 years ago[AArch64 NEON] Fix a bug to avoid using floating type as condition type in lowering...
Kevin Qin [Fri, 14 Feb 2014 09:41:15 +0000 (09:41 +0000)]
[AArch64 NEON] Fix a bug to avoid using floating type as condition type in lowering SELECT_CC.

llvm-svn: 201395

10 years ago[asan] Android test runner for ASan lit tests.
Evgeniy Stepanov [Fri, 14 Feb 2014 09:22:10 +0000 (09:22 +0000)]
[asan] Android test runner for ASan lit tests.

This change replaces 32- and 64- bit config.in-s with a single config template
that is used to generate both 32 and 64 bits configs as well as the new
arm-android config. Arm-android config is special because it can run tests on
a remote device over adb (android debug bridge).

We replace %clang with a script that run the compiler, upload the result to
the device, and replaces it with another script. The second script runs the
binary on the device and delivers stdout/stderr/exitcode back.

llvm-svn: 201394

10 years agoMove original compiler-rt functions (libgcc replacement) to lib/builtins directory
Alexey Samsonov [Fri, 14 Feb 2014 09:20:33 +0000 (09:20 +0000)]
Move original compiler-rt functions (libgcc replacement) to lib/builtins directory

llvm-svn: 201393

10 years ago[libsanitizer] Create SanitizerCommonDecorator which provides the Warning() and EndWa...
Alexander Potapenko [Fri, 14 Feb 2014 08:59:42 +0000 (08:59 +0000)]
[libsanitizer] Create SanitizerCommonDecorator which provides the Warning() and EndWarning() methods
(needed for SEGV handling in sanitizer_common)

llvm-svn: 201392

10 years agoEnable generation of unwind tables when building with sanitizers.
Evgeniy Stepanov [Fri, 14 Feb 2014 08:56:25 +0000 (08:56 +0000)]
Enable generation of unwind tables when building with sanitizers.

llvm-svn: 201391

10 years agoMove BlocksRuntime to lib/ directory
Alexey Samsonov [Fri, 14 Feb 2014 08:38:30 +0000 (08:38 +0000)]
Move BlocksRuntime to lib/ directory

llvm-svn: 201390

10 years agoRevert "DebugInfo: Don't include the name of the CU file in the line table file list...
Eric Christopher [Fri, 14 Feb 2014 05:33:16 +0000 (05:33 +0000)]
Revert "DebugInfo: Don't include the name of the CU file in the line table file list when it's unneeded"

This reverts commit r201380 for now while we investigate.

llvm-svn: 201389

10 years agollvm/test/DebugInfo/empty.ll: Mark it as XFAIL:win32 lacking of line table.
NAKAMURA Takumi [Fri, 14 Feb 2014 05:26:49 +0000 (05:26 +0000)]
llvm/test/DebugInfo/empty.ll: Mark it as XFAIL:win32 lacking of line table.

llvm-svn: 201388

10 years agoFix minor build warning on Mac OS X x86_64.
Jason Molenda [Fri, 14 Feb 2014 05:16:17 +0000 (05:16 +0000)]
Fix minor build warning on Mac OS X x86_64.

llvm-svn: 201387

10 years agoAdd a new target setting, trap-handler-names, where a user can
Jason Molenda [Fri, 14 Feb 2014 05:06:49 +0000 (05:06 +0000)]
Add a new target setting, trap-handler-names, where a user can
specify a list of functions which should be treated as trap handlers.
This will be primarily useful to people working in non-user-level
process debugging - kernels and other standalone environments.
For most people, the trap handler functions provided by the Platform
plugin will be sufficient.

<rdar://problem/15835846>, <rdar://problem/15982682>

llvm-svn: 201386

10 years agoEnable AArch64 NEON by default.
Jiangning Liu [Fri, 14 Feb 2014 04:38:09 +0000 (04:38 +0000)]
Enable AArch64 NEON by default.

llvm-svn: 201385

10 years agoEnable AArch64 NEON by default.
Jiangning Liu [Fri, 14 Feb 2014 04:37:46 +0000 (04:37 +0000)]
Enable AArch64 NEON by default.

llvm-svn: 201384

10 years ago[PR18809] Remove XFAIL from DebugInfo/empty.ll.
NAKAMURA Takumi [Fri, 14 Feb 2014 03:59:43 +0000 (03:59 +0000)]
[PR18809] Remove XFAIL from DebugInfo/empty.ll.

I added it in r201211.

llvm-svn: 201383

10 years ago[AArch64]Fix the assertion failure caused by "v1i1 SETCC" DAG node.
Hao Liu [Fri, 14 Feb 2014 02:21:56 +0000 (02:21 +0000)]
[AArch64]Fix the assertion failure caused by "v1i1 SETCC" DAG node.
As v1i1 is illegal, the type legalizer tries to scalarize such node. But if the type operands of SETCC is legal, the scalarization algorithm will cause an assertion failure.

llvm-svn: 201381

10 years agoDebugInfo: Don't include the name of the CU file in the line table file list when...
David Blaikie [Fri, 14 Feb 2014 01:57:59 +0000 (01:57 +0000)]
DebugInfo: Don't include the name of the CU file in the line table file list when it's unneeded

Recommitting r201351 and r201355 (reverted in r201351 and r201355)

We weren't emitting the an empty (header only) line table when the line
table was empty - this made the DWARF invalid (the compile unit would
point to the zero-size debug_lines section where there should've been an
empty line table but there was nothing at all). Fix that, and as a
consequence this works around/addresses PR18809.

llvm-svn: 201380

10 years agoAdd a command line option -gdwarf-aranges that will turn on emitting
Eric Christopher [Fri, 14 Feb 2014 01:27:03 +0000 (01:27 +0000)]
Add a command line option -gdwarf-aranges that will turn on emitting
the dwarf .debug_aranges section.

llvm-svn: 201379

10 years agoDisable emission of aranges by default and add a command line
Eric Christopher [Fri, 14 Feb 2014 01:26:55 +0000 (01:26 +0000)]
Disable emission of aranges by default and add a command line
option to enable again that will be matched with a commit to enable
in clang.

llvm-svn: 201378

10 years ago[X86] Don't mark movabsq as cheap-as-move - it isn't that cheap.
Juergen Ributzka [Fri, 14 Feb 2014 00:51:13 +0000 (00:51 +0000)]
[X86] Don't mark movabsq as cheap-as-move - it isn't that cheap.

A simple register copy on X86 is just 3 bytes, whereas movabsq is a 10 byte
instruction. Marking movabsq as not beeing cheap will allow LICM to move it
out of the loop and it also prevents unnecessary rematerializations if the
value is needed in more than one register.

llvm-svn: 201377

10 years agoDo more addrspacecast transforms that happen for bitcast.
Matt Arsenault [Fri, 14 Feb 2014 00:49:12 +0000 (00:49 +0000)]
Do more addrspacecast transforms that happen for bitcast.

Makes addrspacecast (gep) do addrspacecast (gep) instead.

llvm-svn: 201376

10 years agoDebug info: Make DWARF4 the default for Darwin, too.
Adrian Prantl [Fri, 14 Feb 2014 00:29:33 +0000 (00:29 +0000)]
Debug info: Make DWARF4 the default for Darwin, too.

llvm-svn: 201375

10 years agoRevert "[CMake] Disable libclangTests.exe on win32 for now."
Juergen Ributzka [Thu, 13 Feb 2014 23:51:55 +0000 (23:51 +0000)]
Revert "[CMake] Disable libclangTests.exe on win32 for now."

Because I also reverted the original commit that required this change.

llvm-svn: 201374