platform/upstream/llvm.git
10 years ago[analyzer] Improved checker naming in CFG dump.
Anton Yartsev [Mon, 17 Feb 2014 18:25:34 +0000 (18:25 +0000)]
[analyzer] Improved checker naming in CFG dump.

This implements FIXME from Checker.cpp (FIXME: We want to return the package + name of the checker here.) and replaces hardcoded checker names with the new ones obtained via getCheckName().getName().

llvm-svn: 201525

10 years agoForcing it to be an error when there is no Documentation list specified for an attrib...
Aaron Ballman [Mon, 17 Feb 2014 18:23:02 +0000 (18:23 +0000)]
Forcing it to be an error when there is no Documentation list specified for an attribute. This is a bit of a (harmless) hack, but the FIXME explains why and when this hack can be removed. It's a justified hack because this prevents attribute authors from forgetting to add documentation when they add a new attribute.

llvm-svn: 201524

10 years agoReplaced custom variable arguments to standard library for correcting 64 bit Windows...
Deepak Panickal [Mon, 17 Feb 2014 17:52:22 +0000 (17:52 +0000)]
Replaced custom variable arguments to standard library for correcting 64 bit Windows build

llvm-svn: 201523

10 years agoFix Windows build, broken by the inclusion of sys/ioctl.h and isatty()
Deepak Panickal [Mon, 17 Feb 2014 17:43:39 +0000 (17:43 +0000)]
Fix Windows build, broken by the inclusion of sys/ioctl.h and isatty()

llvm-svn: 201522

10 years agoFix the LLDB prompt for older Editline versions, specifically running on Ubuntu 12.04
Deepak Panickal [Mon, 17 Feb 2014 17:42:25 +0000 (17:42 +0000)]
Fix the LLDB prompt for older Editline versions, specifically running on Ubuntu 12.04

llvm-svn: 201521

10 years agoRevert "Debug info: Make DWARF4 the default for Darwin, too."
Adrian Prantl [Mon, 17 Feb 2014 17:40:52 +0000 (17:40 +0000)]
Revert "Debug info: Make DWARF4 the default for Darwin, too."

I'm holding this change to give maintainers of Darwin buildbots more time
to update their toolchains.

This reverts commit r201375.

llvm-svn: 201520

10 years agoRemove nativecodegen as it forces the native target libraries to be linked in regardl...
Deepak Panickal [Mon, 17 Feb 2014 17:39:27 +0000 (17:39 +0000)]
Remove nativecodegen as it forces the native target libraries to be linked in regardless of whether the target was specified in LLVM_TARGETS_TO_BUILD

llvm-svn: 201519

10 years agoThe default assignment operator could not be generated by all of the bots, but it...
Aaron Ballman [Mon, 17 Feb 2014 16:18:32 +0000 (16:18 +0000)]
The default assignment operator could not be generated by all of the bots, but it's required by std::vector to operate properly.

llvm-svn: 201518

10 years agoRemoving a C++11'ism to also fix the build bots.
Aaron Ballman [Mon, 17 Feb 2014 15:59:37 +0000 (15:59 +0000)]
Removing a C++11'ism to also fix the build bots.

llvm-svn: 201517

10 years agoFixing build bot breakage due to using a local type as a template argument.
Aaron Ballman [Mon, 17 Feb 2014 15:36:08 +0000 (15:36 +0000)]
Fixing build bot breakage due to using a local type as a template argument.

llvm-svn: 201516

10 years agoImplements a declarative approach to documenting individual attributes in Clang via...
Aaron Ballman [Mon, 17 Feb 2014 15:27:10 +0000 (15:27 +0000)]
Implements a declarative approach to documenting individual attributes in Clang via a Documentation tablegen class. Also updates the internals manual with information about how to use this new, required, documentation feature.

This patch adds some very, very sparse initial documentation for some attributes. Additional effort from attribute authors is greatly appreciated.

llvm-svn: 201515

10 years ago[sanitizer] add tests for DeadlockDetector, minor fix in onLock
Kostya Serebryany [Mon, 17 Feb 2014 14:57:49 +0000 (14:57 +0000)]
[sanitizer] add tests for DeadlockDetector, minor fix in onLock

llvm-svn: 201514

10 years agoSimplify defining Clang compile flags in lit configs
Alexey Samsonov [Mon, 17 Feb 2014 13:08:10 +0000 (13:08 +0000)]
Simplify defining Clang compile flags in lit configs

llvm-svn: 201513

10 years agoFix gcc warning about C++ style comments.
Patrik Hagglund [Mon, 17 Feb 2014 11:54:08 +0000 (11:54 +0000)]
Fix gcc warning about C++ style comments.

llvm-svn: 201512

10 years ago[asan] Add a test for stack unwinding in new and delete.
Evgeniy Stepanov [Mon, 17 Feb 2014 11:52:29 +0000 (11:52 +0000)]
[asan] Add a test for stack unwinding in new and delete.

llvm-svn: 201511

10 years agoUpdate license.txt to point to the new code in third_party/android.
Evgeniy Stepanov [Mon, 17 Feb 2014 11:41:22 +0000 (11:41 +0000)]
Update license.txt to point to the new code in third_party/android.

Also remove a reference to mach_override code that is long gone.

llvm-svn: 201510

10 years ago[sanitizer] implement node removal in Deadlock graph
Kostya Serebryany [Mon, 17 Feb 2014 11:21:52 +0000 (11:21 +0000)]
[sanitizer] implement node removal in Deadlock graph

llvm-svn: 201509

10 years agoDarwin: remove buggy assertion
Tim Northover [Mon, 17 Feb 2014 11:12:04 +0000 (11:12 +0000)]
Darwin: remove buggy assertion

We later emit a proper error in the situations where this would trigger, so
there's no need to check.

rdar://problem/16040604

llvm-svn: 201508

10 years agoFix diassembler handling of rex.b when mod=00/01/10 and bbb=101. Mod=00 should ignore...
Craig Topper [Mon, 17 Feb 2014 10:03:43 +0000 (10:03 +0000)]
Fix diassembler handling of rex.b when mod=00/01/10 and bbb=101. Mod=00 should ignore the base register entirely. Mod=01/10 should treat this as R13 plus displacment. Fixes PR18860.

llvm-svn: 201507

10 years ago[compiler-rt] Fix CompilerTargetTriple for non-English locales.
Alexey Samsonov [Mon, 17 Feb 2014 09:14:01 +0000 (09:14 +0000)]
[compiler-rt] Fix CompilerTargetTriple for non-English locales.

When the locale of a shell is set other than English locales or the C locale,
The word 'Target' may be translated. Thus, with e.g. ja_JP locale, compiler-rt
couldn't be built properly. Forcing LANG=C fixes the problem.

Patch by Ogino Masanori.

llvm-svn: 201506

10 years ago[sanitizer] simplify DeadlockDetectorTLS
Kostya Serebryany [Mon, 17 Feb 2014 08:47:48 +0000 (08:47 +0000)]
[sanitizer] simplify DeadlockDetectorTLS

llvm-svn: 201505

10 years agoclang-format: Don't wrap "const" etc. of function declarations.
Daniel Jasper [Mon, 17 Feb 2014 07:57:46 +0000 (07:57 +0000)]
clang-format: Don't wrap "const" etc. of function declarations.

Generally people seem to prefer wrapping the first function parameter
over wrapping the trailing tokens "const", "override" and "final". This
does not extend to function-like annotations and probably not to other
non-standard annotations.

Before:
  void someLongFunction(int SomeLongParameter)
      const { ... }

After:
  void someLongFunction(
      int SomeLongParameter) const { ... }

llvm-svn: 201504

10 years ago[sanitizer] add one more test for deadlock detection stuff
Kostya Serebryany [Mon, 17 Feb 2014 07:39:44 +0000 (07:39 +0000)]
[sanitizer] add one more test for deadlock detection stuff

llvm-svn: 201503

10 years agoAVX-512: implemented zext fron i1 to i16
Elena Demikhovsky [Mon, 17 Feb 2014 07:29:33 +0000 (07:29 +0000)]
AVX-512: implemented zext fron i1 to i16

llvm-svn: 201502

10 years agofix for null VectorizedValue assertion in the SLP Vectorizer (in function vectorizeTr...
Gerolf Hoflehner [Mon, 17 Feb 2014 03:06:16 +0000 (03:06 +0000)]
fix for null VectorizedValue assertion in the SLP Vectorizer (in function vectorizeTree()). radar://16064178

llvm-svn: 201501

10 years agoMCAsmParser: add some mixed argument tests
Saleem Abdulrasool [Mon, 17 Feb 2014 00:40:22 +0000 (00:40 +0000)]
MCAsmParser: add some mixed argument tests

Add some tests to explicitly validate handling of comma and non-comma separated
arguments.

llvm-svn: 201500

10 years agoMCAsmParser: better handling for named arguments
Saleem Abdulrasool [Mon, 17 Feb 2014 00:40:17 +0000 (00:40 +0000)]
MCAsmParser: better handling for named arguments

Until this point only macro definition with named parameters were parsed but the
names were ignored.  This adds support for using that information for named
parameter instantiation.

In order to support the full semantics of the keyword arguments, the arguments
are no longer lazily initialised since the keyword arguments can be specified
out of order and partially if they are defaulted.  Prepopulate the arguments
with the default value for any defaulted parameters, and then parse the
specified arguments.

This simplies some of the handling of the arguments in the inner loop since
empty arguments simply increment the parameter index and move on.

Note that keyword and positional arguments cannot be mixed.

llvm-svn: 201499

10 years agoUse 16 byte stack alignment for NaCl on ARM
Mark Seaborn [Sun, 16 Feb 2014 18:59:48 +0000 (18:59 +0000)]
Use 16 byte stack alignment for NaCl on ARM

NaCl's ARM ABI uses 16 byte stack alignment, so set that in
ARMSubtarget.cpp.

Using 16 byte alignment exposes an issue in code generation in which a
varargs function leaves a 4 byte gap between the values of r1-r3 saved
to the stack and the following arguments that were passed on the
stack.  (Previously, this code only needed to support 4 byte and 8
byte alignment.)

With this issue, llc generated:

varargs_func:
        sub     sp, sp, #16
        push    {lr}
        sub     sp, sp, #12
        add     r0, sp, #16   // Should be 20
        stm     r0, {r1, r2, r3}
        ldr     r0, .LCPI0_0  // Address of va_list
        add     r1, sp, #16
        str     r1, [r0]
        bl      external_func

Fix the bug by checking for "Align > 4".  Also simplify the code by
using OffsetToAlignment(), and update comments.

Differential Revision: http://llvm-reviews.chandlerc.com/D2677

llvm-svn: 201497

10 years agoSCEVExpander: Try hard not to create derived induction variables in other loops
Arnold Schwaighofer [Sun, 16 Feb 2014 15:49:50 +0000 (15:49 +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.

Reapply with a fix for the case of a value derived from a pointer.

radar://15970709

llvm-svn: 201496

10 years agoRemove dead code, we already require cmake 2.8.8.
Rafael Espindola [Sun, 16 Feb 2014 14:36:26 +0000 (14:36 +0000)]
Remove dead code, we already require cmake 2.8.8.

llvm-svn: 201495

10 years agoRemove unnecessary typename.
Rafael Espindola [Sun, 16 Feb 2014 14:12:35 +0000 (14:12 +0000)]
Remove unnecessary typename.

Thanks to Elena Demikhovsky for noticing.

llvm-svn: 201494

10 years agoFix more broken CHECK lines
Nico Rieck [Sun, 16 Feb 2014 13:28:39 +0000 (13:28 +0000)]
Fix more broken CHECK lines

llvm-svn: 201493

10 years agoAdd extra CHECK prefix to tests with explicit prefix
Nico Rieck [Sun, 16 Feb 2014 13:28:15 +0000 (13:28 +0000)]
Add extra CHECK prefix to tests with explicit prefix

These tests mistakenly assume that CHECK is still available even if an
explicit prefix is specified.

llvm-svn: 201492

10 years agoActually call FileCheck in tests
Nico Rieck [Sun, 16 Feb 2014 13:27:39 +0000 (13:27 +0000)]
Actually call FileCheck in tests

llvm-svn: 201491

10 years agollvmbuild: Exclude disabled targets from LLVMExports.cmake.
NAKAMURA Takumi [Sun, 16 Feb 2014 12:14:24 +0000 (12:14 +0000)]
llvmbuild: Exclude disabled targets from LLVMExports.cmake.

llvm-svn: 201490

10 years agoLLVMExports.cmake: Add System libs $(LIBS) to LLVMSupport, corresponding to r201077.
NAKAMURA Takumi [Sun, 16 Feb 2014 12:14:13 +0000 (12:14 +0000)]
LLVMExports.cmake: Add System libs $(LIBS) to LLVMSupport, corresponding to r201077.

llvm-svn: 201489

10 years agoLLVMExports.cmake: Exclude gtest since they are not installed.
NAKAMURA Takumi [Sun, 16 Feb 2014 12:14:03 +0000 (12:14 +0000)]
LLVMExports.cmake: Exclude gtest since they are not installed.

FIXME: gtest might be included if external project could refer to the build tree.
llvm-svn: 201488

10 years agoAVX-512: simpyfied BUILD_VECTOR for masks; fixed cmp/test sequence
Elena Demikhovsky [Sun, 16 Feb 2014 11:34:23 +0000 (11:34 +0000)]
AVX-512: simpyfied BUILD_VECTOR for masks; fixed cmp/test sequence

llvm-svn: 201487

10 years agofixed typo in comment as my test commit
Gerolf Hoflehner [Sun, 16 Feb 2014 10:43:25 +0000 (10:43 +0000)]
fixed typo in comment as my test commit

llvm-svn: 201486

10 years agoclang/unittests/AST,ASTMatchers: Remove _MSC_VER.
NAKAMURA Takumi [Sun, 16 Feb 2014 10:16:09 +0000 (10:16 +0000)]
clang/unittests/AST,ASTMatchers: Remove _MSC_VER.

llvm-svn: 201485

10 years agocheck-clang: Introduce the feature "non-ms-sdk" to suppress Driver/nostdincxx.cpp...
NAKAMURA Takumi [Sun, 16 Feb 2014 10:15:57 +0000 (10:15 +0000)]
check-clang: Introduce the feature "non-ms-sdk" to suppress Driver/nostdincxx.cpp on msvc.

llvm-svn: 201484

10 years agocheck-clang: Introduce the feature "dw2" to suppress CodeGenCXX/debug-info-namespace...
NAKAMURA Takumi [Sun, 16 Feb 2014 10:15:46 +0000 (10:15 +0000)]
check-clang: Introduce the feature "dw2" to suppress CodeGenCXX/debug-info-namespace.cpp with *-win32.

FIXME: Could we add itanium triple here?
llvm-svn: 201483

10 years agoIntroduce the feature "can-remove-opened-file" to suppress tests. [PR18856]
NAKAMURA Takumi [Sun, 16 Feb 2014 10:15:34 +0000 (10:15 +0000)]
Introduce the feature "can-remove-opened-file" to suppress tests. [PR18856]

llvm-svn: 201482

10 years agoAdd a DIELoc class to cover the DW_FORM_exprloc set of expressions
Eric Christopher [Sun, 16 Feb 2014 08:46:55 +0000 (08:46 +0000)]
Add a DIELoc class to cover the DW_FORM_exprloc set of expressions
alongside DIEBlock and replace uses accordingly. Use DW_FORM_exprloc
in DWARF4 and later code. Update testcases.

Adding a DIELoc instead of using extra forms inside DIEBlock so
that we can keep location expressions separate from other uses. No
direct use at the moment, however, it's not a lot of code and
using a separately named class keeps it somewhat more obvious
what's going on in various locations.

llvm-svn: 201481

10 years agoUse -target instead of ignored -arch to fix x86_64 builders
Nico Rieck [Sun, 16 Feb 2014 08:18:13 +0000 (08:18 +0000)]
Use -target instead of ignored -arch to fix x86_64 builders

llvm-svn: 201480

10 years agoFix broken CHECK lines
Nico Rieck [Sun, 16 Feb 2014 07:31:05 +0000 (07:31 +0000)]
Fix broken CHECK lines

llvm-svn: 201479

10 years agoRemove useless XPASS
Nico Rieck [Sun, 16 Feb 2014 07:29:55 +0000 (07:29 +0000)]
Remove useless XPASS

llvm-svn: 201478

10 years agoFix broken CHECK lines
Nico Rieck [Sun, 16 Feb 2014 07:29:41 +0000 (07:29 +0000)]
Fix broken CHECK lines

llvm-svn: 201477

10 years agoFileCheck's -LABEL cannot be combined with -NOT or -DAG
Nico Rieck [Sun, 16 Feb 2014 07:28:50 +0000 (07:28 +0000)]
FileCheck's -LABEL cannot be combined with -NOT or -DAG

llvm-svn: 201476

10 years agoFix broken RUN lines
Nico Rieck [Sun, 16 Feb 2014 07:28:32 +0000 (07:28 +0000)]
Fix broken RUN lines

llvm-svn: 201475

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