Commit Graph

167448 Commits

Author SHA1 Message Date
David Blaikie 3e65d36a8b DebugInfo: imported_decl/using declarations at namespace scope
llvm-svn: 201470
2014-02-15 21:03:07 +00:00
David Blaikie f1a6dea82c 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
2014-02-15 19:34:03 +00:00
Argyrios Kyrtzidis 90181d6180 [Sema] Fix assertion hit while trying to do constant evaluation for a dependent expression
inside a GNU statement expression.

rdar://16064952

llvm-svn: 201468
2014-02-15 18:53:57 +00:00
David Blaikie f28703a181 DwarfDebug: Remove dead code.
llvm-svn: 201467
2014-02-15 18:33:11 +00:00
Arnold Schwaighofer 847d96142c 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
2014-02-15 18:16:56 +00:00
Arnold Schwaighofer 1e12f8563d 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
2014-02-15 17:11:56 +00:00
Nico Rieck c4e7f305df Cleanup docs about lit substitutions
llvm-svn: 201464
2014-02-15 08:35:56 +00:00
Craig Topper 34875ab0b5 Add opcode extension forms of MOV8ri/MOV16ri/MOV32ri.
llvm-svn: 201463
2014-02-15 07:29:18 +00:00
David Majnemer 78bc4d70a1 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
2014-02-15 07:02:11 +00:00
Nico Rieck e52d293854 Fix typo
llvm-svn: 201461
2014-02-15 06:02:36 +00:00
Marshall Clow b1ad26901f Mark issue 2293, 2241 and 2308 as complete
llvm-svn: 201460
2014-02-15 05:41:48 +00:00
Marshall Clow bacc03ef8d First pass at the Issaquah issues list
llvm-svn: 201459
2014-02-15 05:10:39 +00:00
David Blaikie 228f28ca4f Move test inputs into the Inputs directory (improvement/fix to r201419)
llvm-svn: 201458
2014-02-15 05:09:38 +00:00
Ed Maste 8b5e46a159 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
2014-02-15 02:31:22 +00:00
Manman Ren f1a6a2d930 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
2014-02-15 01:29:02 +00:00
Enrico Granata 465f4bc287 <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
2014-02-15 01:24:44 +00:00
David Majnemer 144d9a059b 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
2014-02-15 01:21:20 +00:00
David Majnemer 805d759664 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
2014-02-15 01:09:56 +00:00
Richard Smith efa20ae276 Remove transactional memory from c++ status page; there's no working paper for it yet.
llvm-svn: 201452
2014-02-15 00:48:38 +00:00
Lang Hames bbe27f9f41 Remove tautological test line (unsigneds are always >=0).
llvm-svn: 201451
2014-02-15 00:45:14 +00:00
David Blaikie 18bd6ef667 Remove unnecessary typename introduced in r201440.
llvm-svn: 201450
2014-02-15 00:34:43 +00:00
Richard Smith 78c7bbb430 Add some missing threes.
llvm-svn: 201449
2014-02-15 00:29:44 +00:00
Richard Smith 3a0ed87ed9 Add entries to C++ status page for Technical Specification Working Papers that
WG21 is about to vote on.

llvm-svn: 201448
2014-02-15 00:29:00 +00:00
Jason Molenda 2a6c252df2 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
2014-02-15 00:20:40 +00:00
Fariborz Jahanian 92e3aa2622 [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
2014-02-15 00:04:36 +00:00
David Blaikie 60e6386b87 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
2014-02-14 23:58:13 +00:00
David Blaikie dfade747f0 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
2014-02-14 22:50:59 +00:00
Rafael Espindola 440ffd3957 Hopefully fix the build with gcc.
llvm-svn: 201443
2014-02-14 22:48:49 +00:00
David Blaikie 461c72b7e0 DwarfUnit: Remove unnecessary (void)t; that was previously used to suppress -Wunused-member-variable
llvm-svn: 201442
2014-02-14 22:47:55 +00:00
David Blaikie 2494fdb838 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
2014-02-14 22:41:51 +00:00
Rafael Espindola 30616362d3 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
2014-02-14 22:36:16 +00:00
Quentin Colombet 867c550947 [CodeGenPrepare][AddressingModeMatcher] Give up on type promotion if the
transformation does not bring any immediate benefits and introduce an illegal
operation. 

llvm-svn: 201439
2014-02-14 22:23:22 +00:00
Richard Smith 2add114600 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
2014-02-14 22:17:32 +00:00
David Blaikie 8972f4e966 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
2014-02-14 22:12:54 +00:00
David Blaikie 2e66bfc9a1 Print anonymous namespaces as <anonymous namespace> instead of <anonymous>
llvm-svn: 201436
2014-02-14 22:12:51 +00:00
Ed Maste 92b1f7e4f9 Allow FreeBSD/i386 core files to be loaded
llvm-svn: 201435
2014-02-14 21:57:27 +00:00
Ed Maste 8b4a283234 Correct offset calculation for FreeBSD i386 core NT_PRSTATUS
llvm-svn: 201434
2014-02-14 21:29:05 +00:00
Tom Stellard 728d4172df TargetLowering: n * r where n > 2 should be an illegal addressing mode
llvm-svn: 201433
2014-02-14 21:10:34 +00:00
Howard Hinnant 314bb7d8eb Remove myself as owner of libc++
llvm-svn: 201432
2014-02-14 21:09:01 +00:00
Tom Stellard d873c8e05a Add generic nvptx targets
These do not import the code specific to nvidiacl

Patch by: Jeroen Ketema

llvm-svn: 201431
2014-02-14 20:33:53 +00:00
Eli Bendersky b0a7cb2e3e Remove unused #include
llvm-svn: 201430
2014-02-14 20:15:56 +00:00
David Blaikie 9acebfdd94 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
2014-02-14 19:51:35 +00:00
Fariborz Jahanian 7741101dce [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
2014-02-14 19:37:25 +00:00
Diego Novillo 5b5cf503b5 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
2014-02-14 19:27:53 +00:00
Reed Kotler 4cdaa7d778 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
2014-02-14 19:16:39 +00:00
Rafael Espindola 8eee97ddce Trivial cleanup: reuse existing variable.
Extracted while trying to understand http://llvm-reviews.chandlerc.com/D1764.

Patch by Matt Arsenault.

llvm-svn: 201425
2014-02-14 19:02:01 +00:00
Daniel Jasper 3a122c029d 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
2014-02-14 18:22:40 +00:00
Artyom Skrobov f6830f47b8 Generate the DWARF stack frame decode operations in the function prologue for ARM/Thumb functions.
Patch by Keith Walker!

llvm-svn: 201423
2014-02-14 17:19:07 +00:00
Ed Maste 96d7f449b1 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
2014-02-14 16:06:35 +00:00
Alexey Samsonov f1b7d05558 LSan: Print warning about dynamic linker only in verbose mode
llvm-svn: 201421
2014-02-14 15:12:46 +00:00