platform/upstream/llvm.git
9 years agoSimple test for file & line dummy breakpoints.
Jim Ingham [Tue, 9 Dec 2014 01:28:22 +0000 (01:28 +0000)]
Simple test for file & line dummy breakpoints.

llvm-svn: 223731

9 years ago[asan] move GetRSS from tsan to sanitizer_common
Kostya Serebryany [Tue, 9 Dec 2014 01:22:59 +0000 (01:22 +0000)]
[asan] move GetRSS from tsan to sanitizer_common

llvm-svn: 223730

9 years agoRevert r223709, "[PowerPC]Activate FeatureVSX for the Power target", to unbreak bots.
NAKAMURA Takumi [Tue, 9 Dec 2014 01:03:27 +0000 (01:03 +0000)]
Revert r223709, "[PowerPC]Activate FeatureVSX for the Power target", to unbreak bots.

CodeGen/PowerPC/vsx-p8.ll was failing.

  '+power8-vector' is not a recognized feature for this target (ignoring feature)
  llvm/test/CodeGen/PowerPC/vsx-p8.ll:33:14: error: expected string not found in input
  ; CHECK-REG: lxvw4x 34, 0, 3
               ^
  <stdin>:50:2: note: scanning from here
   .align 3
   ^
  <stdin>:61:2: note: possible intended match here
   lvx 3, 0, 3
   ^

llvm-svn: 223729

9 years agoOptimize comparisons to empty string.
Peter Collingbourne [Tue, 9 Dec 2014 01:02:12 +0000 (01:02 +0000)]
Optimize comparisons to empty string.

Geo-mean performance improvement of 0.2% (-0.3% - 0.9% @ 95% CI).

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

llvm-svn: 223728

9 years agoHandle early-clobber registers in the aggressive anti-dep breaker
Hal Finkel [Tue, 9 Dec 2014 01:00:59 +0000 (01:00 +0000)]
Handle early-clobber registers in the aggressive anti-dep breaker

The aggressive anti-dep breaker, used by the PowerPC backend during post-RA
scheduling (but is available to all targets), did not handle early-clobber MI
operands (at all). When constructing the list of available registers for the
replacement of some def operand, check the using instructions, and remove
registers assigned to early-clobbered defs from the set.

Fixes PR21452.

llvm-svn: 223727

9 years agoDebugInfo: Correctly identify the location of C++ member initializer list elements
David Blaikie [Tue, 9 Dec 2014 00:32:22 +0000 (00:32 +0000)]
DebugInfo: Correctly identify the location of C++ member initializer list elements

This particularly helps the fidelity of ASan reports (which can occur
even in these examples - if, for example, one uses placement new over a
buffer of insufficient size - now ASan will correctly identify which
member's initialization went over the end of the buffer).

This doesn't cover all types of members - more coming.

llvm-svn: 223726

9 years agoAdd argument variable support to the debug info tutorial
Eric Christopher [Tue, 9 Dec 2014 00:28:24 +0000 (00:28 +0000)]
Add argument variable support to the debug info tutorial
and rearrange the prologue source location hack to immediately
after it.

llvm-svn: 223725

9 years ago[modules] If the same .pcm file is imported via two different paths, don't
Richard Smith [Tue, 9 Dec 2014 00:14:36 +0000 (00:14 +0000)]
[modules] If the same .pcm file is imported via two different paths, don't
complain that the contained modules are defined twice.

llvm-svn: 223724

9 years agoRevert "Driver: Objective-C should respect -fno-exceptions"
David Majnemer [Tue, 9 Dec 2014 00:12:30 +0000 (00:12 +0000)]
Revert "Driver: Objective-C should respect -fno-exceptions"

This reverts commit r223455.  It's been succesfully argued that
-fexceptions (at the driver level) is a misnomer and has little to do
with -fobjc-exceptions.

llvm-svn: 223723

9 years agoR600/SI: Set MayStore = 0 on MUBUF loads
Tom Stellard [Tue, 9 Dec 2014 00:03:54 +0000 (00:03 +0000)]
R600/SI: Set MayStore = 0 on MUBUF loads

llvm-svn: 223722

9 years agoR600/SI: Move setting of the lds bit to the base MUBUF class
Tom Stellard [Tue, 9 Dec 2014 00:03:51 +0000 (00:03 +0000)]
R600/SI: Move setting of the lds bit to the base MUBUF class

llvm-svn: 223721

9 years ago[Hexagon] Removing old def versions and replacing usages with versions that have...
Colin LeMahieu [Mon, 8 Dec 2014 23:55:43 +0000 (23:55 +0000)]
[Hexagon] Removing old def versions and replacing usages with versions that have encodings.

llvm-svn: 223720

9 years agoMISched: Fix moving stores across barriers
Tom Stellard [Mon, 8 Dec 2014 23:36:48 +0000 (23:36 +0000)]
MISched: Fix moving stores across barriers

This fixes an issue with ScheduleDAGInstrs::buildSchedGraph
where stores without an underlying object would not be added
as a predecessor to the current BarrierChain.

llvm-svn: 223717

9 years agoUpdate bogus file permissions.
Alexey Samsonov [Mon, 8 Dec 2014 23:28:07 +0000 (23:28 +0000)]
Update bogus file permissions.

Suggested in http://reviews.llvm.org/D6547.

llvm-svn: 223715

9 years agoAdd a test for MS-ABI this adjustment for virtual calls to member operators.
Nico Weber [Mon, 8 Dec 2014 23:25:55 +0000 (23:25 +0000)]
Add a test for MS-ABI this adjustment for virtual calls to member operators.

They too were fixed by r223185, despite the commit message saying otherwise.
Add a test that makes sure they don't regress.

llvm-svn: 223714

9 years agoAdd the ability for an SBValue to create a persisted version of itself.
Enrico Granata [Mon, 8 Dec 2014 23:13:56 +0000 (23:13 +0000)]
Add the ability for an SBValue to create a persisted version of itself.
Such a persisted version is equivalent to evaluating the value via the expression evaluator, and holding on to the $n result of the expression, except this API can be used on SBValues that do not obviously come from an expression (e.g. are the result of a memory lookup)

Expose this via SBValue::Persist() in our public API layer, and ValueObject::Persist() in the lldb_private layer

Includes testcase

Fixes rdar://19136664

llvm-svn: 223711

9 years ago[Hexagon] Adding any8, all8, and/or/xor/andn/orn/not predicate register forms, mask...
Colin LeMahieu [Mon, 8 Dec 2014 23:07:59 +0000 (23:07 +0000)]
[Hexagon] Adding any8, all8, and/or/xor/andn/orn/not predicate register forms, mask, and vitpack instructions and patterns.

llvm-svn: 223710

9 years ago[PowerPC]Activate FeatureVSX for the Power target
Bill Seurer [Mon, 8 Dec 2014 23:07:12 +0000 (23:07 +0000)]
[PowerPC]Activate FeatureVSX for the Power target

This change activates FeatureVSX for Power 7 and Power 8 in PPC.td.

http://reviews.llvm.org/D6570

llvm-svn: 223709

9 years ago[PowerPC] Don't use a non-allocatable register to implement the 'cc' alias
Hal Finkel [Mon, 8 Dec 2014 22:54:22 +0000 (22:54 +0000)]
[PowerPC] Don't use a non-allocatable register to implement the 'cc' alias

GCC accepts 'cc' as an alias for 'cr0', and we need to do the same when
processing inline asm constraints. This had previously been implemented using a
non-allocatable register, named 'cc', that was listed as an alias of 'cr0', but
the infrastructure does not seem to support this properly (neither the register
allocator nor the scheduler properly accounts for the alias). Instead, we can
just process this as a naming alias inside of the inline asm
constraint-processing code, so we'll do that instead.

There are two regression tests, one where the post-RA scheduler did the wrong
thing with the non-allocatable alias, and one where the register allocator did
the wrong thing. Fixes PR21742.

llvm-svn: 223708

9 years agoHandle possible TypoExprs in member initializers.
Kaelyn Takata [Mon, 8 Dec 2014 22:41:42 +0000 (22:41 +0000)]
Handle possible TypoExprs in member initializers.

Includes a new test case since none of the existing tests were hitting
this code path.

llvm-svn: 223705

9 years ago[Hexagon] Fixing broken test.
Colin LeMahieu [Mon, 8 Dec 2014 22:29:06 +0000 (22:29 +0000)]
[Hexagon] Fixing broken test.

llvm-svn: 223704

9 years ago[Hexagon] Adding xtype doubleword add, sub, and, or, xor and patterns.
Colin LeMahieu [Mon, 8 Dec 2014 22:19:14 +0000 (22:19 +0000)]
[Hexagon] Adding xtype doubleword add, sub, and, or, xor and patterns.

llvm-svn: 223702

9 years ago[Hexagon] Adding xtype doubleword comparisons. Removing unused multiclass.
Colin LeMahieu [Mon, 8 Dec 2014 21:56:47 +0000 (21:56 +0000)]
[Hexagon] Adding xtype doubleword comparisons.  Removing unused multiclass.

llvm-svn: 223701

9 years agoFix platform shell test to run "dir c:\" instead of "ls /" on Windows.
Zachary Turner [Mon, 8 Dec 2014 21:50:05 +0000 (21:50 +0000)]
Fix platform shell test to run "dir c:\" instead of "ls /" on Windows.

llvm-svn: 223700

9 years agoDebugInfo: Ensure the store for an assignment is attributed to the beginning of the...
David Blaikie [Mon, 8 Dec 2014 21:48:57 +0000 (21:48 +0000)]
DebugInfo: Ensure the store for an assignment is attributed to the beginning of the assignment expression

llvm-svn: 223699

9 years agoFix some posix assumptions related to running shell commands.
Zachary Turner [Mon, 8 Dec 2014 21:36:42 +0000 (21:36 +0000)]
Fix some posix assumptions related to running shell commands.

This is a resubmit of r223548, which was reverted due to breaking
tests on Linux and Mac.

This resubmit fixes the reason for the revert by adding back some
accidentally removed code which appends -c to the command line
when running /bin/sh.

This resubmit also differs from the original patch in that it sets
the architecture on the ProcessLaunchInfo.  A follow-up patch will
refactor this to separate the logic for different platforms.

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

Reviewed By: Greg Clayton

llvm-svn: 223695

9 years agoclang-format: Indent correctly in conditional expressions after return.
Daniel Jasper [Mon, 8 Dec 2014 21:28:31 +0000 (21:28 +0000)]
clang-format: Indent correctly in conditional expressions after return.

This only applies when not aligning after the return itself (which is
commonly done for C++.

Before:
  return aaaaaaaaaa
      ? bbbbbbbbbb(
             bbbbbb)  // This is indented relative to aaaaaaaaaa.
      : b;

After:
  return aaaaaaaaaa
      ? bbbbbbbbbb(
            bbbbbb)
      : b;

llvm-svn: 223694

9 years ago[Hexagon] Adding xtype parity, min, minu, max, maxu instructions.
Colin LeMahieu [Mon, 8 Dec 2014 21:19:18 +0000 (21:19 +0000)]
[Hexagon] Adding xtype parity, min, minu, max, maxu instructions.

llvm-svn: 223693

9 years ago[Hexagon] Adding xtype halfword add/sub ll/hl/lh/hh/sat/<<16 instructions.
Colin LeMahieu [Mon, 8 Dec 2014 20:33:01 +0000 (20:33 +0000)]
[Hexagon] Adding xtype halfword add/sub ll/hl/lh/hh/sat/<<16 instructions.

llvm-svn: 223692

9 years agoMake myself the code owner for llgo.
Peter Collingbourne [Mon, 8 Dec 2014 20:30:39 +0000 (20:30 +0000)]
Make myself the code owner for llgo.

llvm-svn: 223691

9 years agoFix isInstantiated and isInTemplateInstantiation to not recreate the matchers on...
Samuel Benzaquen [Mon, 8 Dec 2014 20:17:58 +0000 (20:17 +0000)]
Fix isInstantiated and isInTemplateInstantiation to not recreate the matchers on each call.

Summary:
Store the result matcher after the first call and reuse it later on.
Recreating the matchers just to use them once incurs in a lot of
unnecessary temporary memory allocations.
This change speeds up our clang-tidy benchmarks by ~2%.

Reviewers: klimek

Subscribers: klimek, cfe-commits

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

llvm-svn: 223690

9 years agoAdd .arcconfig file.
Peter Collingbourne [Mon, 8 Dec 2014 20:12:22 +0000 (20:12 +0000)]
Add .arcconfig file.

llvm-svn: 223689

9 years agoclang-format: [Java] Always break after annotations of multiline decls.
Daniel Jasper [Mon, 8 Dec 2014 20:08:04 +0000 (20:08 +0000)]
clang-format: [Java] Always break after annotations of multiline decls.

Before:
  @Mock DataLoader loooooooooooooooooooooooader =
      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;

After:
  @Mock
  DataLoader loooooooooooooooooooooooader =
      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;

llvm-svn: 223688

9 years agoRemove use of GCC-style intrinsics, as they are non-portable.
Zachary Turner [Mon, 8 Dec 2014 20:00:33 +0000 (20:00 +0000)]
Remove use of GCC-style intrinsics, as they are non-portable.

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

llvm-svn: 223687

9 years agoR600/SI: Move continue after checking s_mov_b32.
Matt Arsenault [Mon, 8 Dec 2014 19:55:43 +0000 (19:55 +0000)]
R600/SI: Move continue after checking s_mov_b32.

There's nothing else to bother trying to shrink these.

llvm-svn: 223686

9 years agoclang-format: Make clang-format-diff.py format java files.
Daniel Jasper [Mon, 8 Dec 2014 19:39:03 +0000 (19:39 +0000)]
clang-format: Make clang-format-diff.py format java files.

llvm-svn: 223685

9 years agoConstantFold: Zero-sized globals might land on top of another global
David Majnemer [Mon, 8 Dec 2014 19:35:31 +0000 (19:35 +0000)]
ConstantFold: Zero-sized globals might land on top of another global

A zero sized array is zero sized and might share its address with
another global.

llvm-svn: 223684

9 years agoInstrProf: Use LLVM's -instrprof pass for profiling
Justin Bogner [Mon, 8 Dec 2014 19:04:51 +0000 (19:04 +0000)]
InstrProf: Use LLVM's -instrprof pass for profiling

The logic for lowering profiling counters has been moved to an LLVM
pass. Emit the intrinsics rather than duplicating the whole pass in
clang.

llvm-svn: 223683

9 years agoClean up the rst for the debug info tutorial
Eric Christopher [Mon, 8 Dec 2014 18:48:08 +0000 (18:48 +0000)]
Clean up the rst for the debug info tutorial

llvm-svn: 223682

9 years agoLazily link GlobalVariables and GlobalAliases.
Rafael Espindola [Mon, 8 Dec 2014 18:45:16 +0000 (18:45 +0000)]
Lazily link GlobalVariables and GlobalAliases.

We were already lazily linking functions, but all GlobalValues can be treated
uniformly for this.

The test updates are to ensure that a given GlobalValue is still linked in.

This fixes pr21494.

llvm-svn: 223681

9 years ago[Hexagon] Adding add/sub with saturation. Removing unused def. Cleaning up shift...
Colin LeMahieu [Mon, 8 Dec 2014 18:33:49 +0000 (18:33 +0000)]
[Hexagon] Adding add/sub with saturation.  Removing unused def.  Cleaning up shift patterns.

llvm-svn: 223680

9 years agoInstSimplify: Try to bring back the rest of r223583
David Majnemer [Mon, 8 Dec 2014 18:30:43 +0000 (18:30 +0000)]
InstSimplify: Try to bring back the rest of r223583

This reverts r223624 with a small tweak, hopefully this will make stage3
equivalent.

llvm-svn: 223679

9 years agoOnce more on the cmake build. nativecodegen->native on the dependencies.
Eric Christopher [Mon, 8 Dec 2014 18:24:06 +0000 (18:24 +0000)]
Once more on the cmake build. nativecodegen->native on the dependencies.

Thanks to Rafael Espindola for testing assistance.

llvm-svn: 223678

9 years agoAttempt to fix the cmake build by requiring mcjit on the cmake
Eric Christopher [Mon, 8 Dec 2014 18:20:50 +0000 (18:20 +0000)]
Attempt to fix the cmake build by requiring mcjit on the cmake
dependencies for the KS tutorials

llvm-svn: 223677

9 years ago[CompactUnwind] Fix register encoding logic
Bruno Cardoso Lopes [Mon, 8 Dec 2014 18:18:32 +0000 (18:18 +0000)]
[CompactUnwind] Fix register encoding logic

Fix a compact unwind encoding logic bug which would try to encode
more callee saved registers than it should, leading to early bail out
in the encoding logic and abusive use of DWARF frame mode unnecessarily.

Also remove no-compact-unwind.ll which was testing the wrong thing
based on this bug and move it to valid 'compact unwind' tests. Added
other few more tests too.

llvm-svn: 223676

9 years agoFix KS tutorial build failure.
Eric Christopher [Mon, 8 Dec 2014 18:12:28 +0000 (18:12 +0000)]
Fix KS tutorial build failure.

make all doesn't build the examples and it was uniquified since
last build.

llvm-svn: 223675

9 years agoFix a bug where global variable can be reported as local.
Hafiz Abid Qadeer [Mon, 8 Dec 2014 18:07:40 +0000 (18:07 +0000)]
Fix a bug where global variable can be reported as local.

There was an error in ORing mask which is used for getting a list of variables.
Previously, these constants were unnamed, and possible it become the reason of this
bug. Also added test case for -stack-list-local and -stack-list_arguments.

Patch from Ilia K <ki.stfu@gmail.com>.

llvm-svn: 223674

9 years agoDon't crash when the key of a comdat is lazily linked.
Rafael Espindola [Mon, 8 Dec 2014 18:05:48 +0000 (18:05 +0000)]
Don't crash when the key of a comdat is lazily linked.

llvm-svn: 223673

9 years agoInstrProf: An intrinsic and lowering for instrumentation based profiling
Justin Bogner [Mon, 8 Dec 2014 18:02:35 +0000 (18:02 +0000)]
InstrProf: An intrinsic and lowering for instrumentation based profiling

Introduce the ``llvm.instrprof_increment`` intrinsic and the
``-instrprof`` pass. These provide the infrastructure for writing
counters for profiling, as in clang's ``-fprofile-instr-generate``.

The implementation of the instrprof pass is ported directly out of the
CodeGenPGO classes in clang, and with the followup in clang that rips
that code out to use these new intrinsics this ends up being NFC.

Doing the instrumentation this way opens some doors in terms of
improving the counter performance. For example, this will make it
simple to experiment with alternate lowering strategies, and allows us
to try handling profiling specially in some optimizations if we want
to.

Finally, this drastically simplifies the frontend and puts all of the
lowering logic in one place.

llvm-svn: 223672

9 years agoAdd Chapter 8 to the Kaleidoscope tutorial. This chapter adds
Eric Christopher [Mon, 8 Dec 2014 18:00:47 +0000 (18:00 +0000)]
Add Chapter 8 to the Kaleidoscope tutorial. This chapter adds
a description of how to add debug information using DWARF and
DIBuilder to the language.

Thanks to David Blaikie for his assistance with this tutorial.

llvm-svn: 223671

9 years agoFix the JIT code for the Kaleidoscope tutorial.
Eric Christopher [Mon, 8 Dec 2014 18:00:38 +0000 (18:00 +0000)]
Fix the JIT code for the Kaleidoscope tutorial.

llvm-svn: 223670

9 years agoAArch64: treat HFAs containing "half" types as blocks too.
Tim Northover [Mon, 8 Dec 2014 17:54:58 +0000 (17:54 +0000)]
AArch64: treat HFAs containing "half" types as blocks too.

llvm-svn: 223669

9 years ago[X86] Improved tablegen patters for matching TZCNT/LZCNT.
Andrea Di Biagio [Mon, 8 Dec 2014 17:47:18 +0000 (17:47 +0000)]
[X86] Improved tablegen patters for matching TZCNT/LZCNT.

Teach ISel how to match a TZCNT/LZCNT from a conditional move if the
condition code is X86_COND_NE.
Existing tablegen patterns only allowed to match TZCNT/LZCNT from a
X86cond with condition code equal to X86_COND_E. To avoid introducing
extra rules, I added an 'ImmLeaf' definition that checks if the
condition code is COND_E or COND_NE.

llvm-svn: 223668

9 years ago[Hexagon] Adding combine reg, reg with predicated forms.
Colin LeMahieu [Mon, 8 Dec 2014 17:33:06 +0000 (17:33 +0000)]
[Hexagon] Adding combine reg, reg with predicated forms.

llvm-svn: 223667

9 years agoSimplify the test. NFC.
Rafael Espindola [Mon, 8 Dec 2014 17:22:06 +0000 (17:22 +0000)]
Simplify the test. NFC.

Since the main file was empty, we can just copy the content of the Input file
into it.

llvm-svn: 223666

9 years agoSimplify test. NFC.
Rafael Espindola [Mon, 8 Dec 2014 17:02:50 +0000 (17:02 +0000)]
Simplify test. NFC.

This is just testing the largest merge mode for comdats. No need to use
hard to read names and fancy types.

llvm-svn: 223665

9 years ago[Hexagon] Adding packhl instruction.
Colin LeMahieu [Mon, 8 Dec 2014 17:01:18 +0000 (17:01 +0000)]
[Hexagon] Adding packhl instruction.

llvm-svn: 223664

9 years agoUse CHECK-DAG to reduce the noise in an upcoming patch.
Rafael Espindola [Mon, 8 Dec 2014 16:46:52 +0000 (16:46 +0000)]
Use CHECK-DAG to reduce the noise in an upcoming patch.

llvm-svn: 223663

9 years ago[mips] Add Mips-specific CCIf's for accessing the MipsCCState. NFC.
Daniel Sanders [Mon, 8 Dec 2014 15:40:09 +0000 (15:40 +0000)]
[mips] Add Mips-specific CCIf's for accessing the MipsCCState. NFC.

Reviewers: vmedic

Reviewed By: vmedic

Subscribers: llvm-commits

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

llvm-svn: 223662

9 years agoExplicitly include <sched.h> for sched_yield()
Sergey Dmitrouk [Mon, 8 Dec 2014 14:50:21 +0000 (14:50 +0000)]
Explicitly include <sched.h> for sched_yield()

It might be implicitly included by <pthread.h> (and that's why it worked
so far), but it's not guaranteed (for example, this is not the case with
newlib).

llvm-svn: 223661

9 years ago[X86] Improved lowering of packed v8i16 vector shifts by non-constant count.
Andrea Di Biagio [Mon, 8 Dec 2014 14:36:51 +0000 (14:36 +0000)]
[X86] Improved lowering of packed v8i16 vector shifts by non-constant count.

Before this patch, the backend sub-optimally expanded the non-constant shift
count of a v8i16 shift into a sequence of two 'movd' plus 'movzwl'.

With this patch the backend checks if the target features sse4.1. If so, then
it lets the shuffle legalizer deal with the expansion of the shift amount.

Example:
;;
define <8 x i16> @test(<8 x i16> %A, <8 x i16> %B) {
  %shamt = shufflevector <8 x i16> %B, <8 x i16> undef, <8 x i32> zeroinitializer
  %shl = shl <8 x i16> %A, %shamt
  ret <8 x i16> %shl
}
;;

Before (with -mattr=+avx):
  vmovd  %xmm1, %eax
  movzwl  %ax, %eax
  vmovd  %eax, %xmm1
  vpsllw  %xmm1, %xmm0, %xmm0
  retq

Now:
  vpxor  %xmm2, %xmm2, %xmm2
  vpblendw  $1, %xmm1, %xmm2, %xmm1
  vpsllw  %xmm1, %xmm0, %xmm0
  retq

llvm-svn: 223660

9 years agoMove the ValueMap lookup inside linkFunctionBody. NFC.
Rafael Espindola [Mon, 8 Dec 2014 14:25:26 +0000 (14:25 +0000)]
Move the ValueMap lookup inside linkFunctionBody. NFC.

llvm-svn: 223659

9 years agoUse range loops. NFC.
Rafael Espindola [Mon, 8 Dec 2014 14:20:10 +0000 (14:20 +0000)]
Use range loops. NFC.

llvm-svn: 223658

9 years agoUse range loops. NFC.
Rafael Espindola [Mon, 8 Dec 2014 14:05:33 +0000 (14:05 +0000)]
Use range loops. NFC.

llvm-svn: 223657

9 years agoFix linking of prologue data.
Rafael Espindola [Mon, 8 Dec 2014 13:44:38 +0000 (13:44 +0000)]
Fix linking of prologue data.

It would crash when the function was lazy linked.

llvm-svn: 223656

9 years ago[CMake] Fix installation of llvm-ranlib on multiconfig builder.
NAKAMURA Takumi [Mon, 8 Dec 2014 13:43:38 +0000 (13:43 +0000)]
[CMake] Fix installation of llvm-ranlib on multiconfig builder.

Introduce install_symlink.cmake from clang/tools/driver/clang_symlink.cmake.

FIXME: Would it be generalized?
llvm-svn: 223655

9 years agoSimple style fixes.
Rafael Espindola [Mon, 8 Dec 2014 13:35:09 +0000 (13:35 +0000)]
Simple style fixes.

* Use a range loop.
* Move simple continue checks earlier.
* clang-format.

llvm-svn: 223654

9 years agoMove materialize/Dematerialize calls to linkFunctionBody. NFC.
Rafael Espindola [Mon, 8 Dec 2014 13:29:33 +0000 (13:29 +0000)]
Move materialize/Dematerialize calls to linkFunctionBody. NFC.

Just less code duplication.

llvm-svn: 223653

9 years agoclang-format: Support commas in lambda return types.
Daniel Jasper [Mon, 8 Dec 2014 13:22:37 +0000 (13:22 +0000)]
clang-format: Support commas in lambda return types.

Before:
  auto next_pair = [](A * a) -> pair<A*, A*>{};

After:
  auto next_pair = [](A* a) -> pair<A*, A*>{};

llvm-svn: 223652

9 years ago[clang-tidy] google-runtime-int: Don't check C code.
Alexander Kornienko [Mon, 8 Dec 2014 11:17:25 +0000 (11:17 +0000)]
[clang-tidy] google-runtime-int: Don't check C code.

llvm-svn: 223651

9 years ago[msan] Intercept wcsto*.
Evgeniy Stepanov [Mon, 8 Dec 2014 10:41:28 +0000 (10:41 +0000)]
[msan] Intercept wcsto*.

Intercept wcstod, wcstof, wcstold, wcstol, wcstoul, wcstoll, wcstoull.

llvm-svn: 223650

9 years agoclang/test/Index/usrs.cpp: Appease targeting msvc.
NAKAMURA Takumi [Mon, 8 Dec 2014 10:20:33 +0000 (10:20 +0000)]
clang/test/Index/usrs.cpp: Appease targeting msvc.

llvm-svn: 223649

9 years agoRemoval Of Duplicate Test Case from shift.ll file
Sonam Kumari [Mon, 8 Dec 2014 09:40:43 +0000 (09:40 +0000)]
Removal Of Duplicate Test Case from shift.ll file

llvm-svn: 223648

9 years ago[libclang] Use same USR encoding for 'char' regardless of what the target considers...
Argyrios Kyrtzidis [Mon, 8 Dec 2014 09:09:05 +0000 (09:09 +0000)]
[libclang] Use same USR encoding for 'char' regardless of what the target considers the sign to be.

Should fix the clang-hexagon-elf bot.

llvm-svn: 223642

9 years agoX86 intrinsics moved form X86ISelLowering.cpp to X86IntrinsicsInfo.h
Elena Demikhovsky [Mon, 8 Dec 2014 09:03:08 +0000 (09:03 +0000)]
X86 intrinsics moved form X86ISelLowering.cpp to X86IntrinsicsInfo.h
X86ISelLowering.cpp has a long switch for intrinsics. I moved a part of
this long switch to the new intrinsics table in X86IntrinsicsInfo.h.
No functional changes, just code and compile time optimization.

llvm-svn: 223641

9 years ago[libclang] Encode InjectedClassNameType in the USR.
Argyrios Kyrtzidis [Mon, 8 Dec 2014 08:48:43 +0000 (08:48 +0000)]
[libclang] Encode InjectedClassNameType in the USR.

llvm-svn: 223634

9 years ago[libclang] Encode location info for anonymous embedded tag decls.
Argyrios Kyrtzidis [Mon, 8 Dec 2014 08:48:37 +0000 (08:48 +0000)]
[libclang] Encode location info for anonymous embedded tag decls.

Otherwise the USR will conflict with different embedded tag decls.

llvm-svn: 223633

9 years ago[libclang] Use same USR encoding for 'class' as 'struct'.
Argyrios Kyrtzidis [Mon, 8 Dec 2014 08:48:33 +0000 (08:48 +0000)]
[libclang] Use same USR encoding for 'class' as 'struct'.

'class' and 'struct' can be used interchangebly for forward references.
Use the same encoding otherwise we may get into a weird situation where the USR for the same
declaration is different based on whether the definition of the tag reference is visible or not.

llvm-svn: 223632

9 years ago[libclang] Encode C++11 rvalue reference types in the USR.
Argyrios Kyrtzidis [Mon, 8 Dec 2014 08:48:27 +0000 (08:48 +0000)]
[libclang] Encode C++11 rvalue reference types in the USR.

llvm-svn: 223631

9 years ago[libclang] Encode the C++11 method reference qualifier in the USR.
Argyrios Kyrtzidis [Mon, 8 Dec 2014 08:48:21 +0000 (08:48 +0000)]
[libclang] Encode the C++11 method reference qualifier in the USR.

llvm-svn: 223630

9 years ago[libclang] Reflect in USR generation that 'signed char' and 'unsigned char' can overl...
Argyrios Kyrtzidis [Mon, 8 Dec 2014 08:48:17 +0000 (08:48 +0000)]
[libclang] Reflect in USR generation that 'signed char' and 'unsigned char' can overload a 'char' in C++, by giving them distinct encodings.

llvm-svn: 223629

9 years ago[libclang] Function templates can be 'overloaded' by return type, so encode the retur...
Argyrios Kyrtzidis [Mon, 8 Dec 2014 08:48:11 +0000 (08:48 +0000)]
[libclang] Function templates can be 'overloaded' by return type, so encode the return type in the USR
and handle DependentNameType in order to be able to distinguish them.

llvm-svn: 223628

9 years agolit: Don't use python 2.6 features
David Majnemer [Mon, 8 Dec 2014 08:33:30 +0000 (08:33 +0000)]
lit: Don't use python 2.6 features

LLVM supports python 2.5, this fixes a (somewhat) recent regression.

llvm-svn: 223626

9 years agoThe lldb unwinder can now use the unwind information from the compact-unwind
Jason Molenda [Mon, 8 Dec 2014 03:09:00 +0000 (03:09 +0000)]
The lldb unwinder can now use the unwind information from the compact-unwind
section for x86_64 and i386 targets on Darwin systems.  Currently only the
compact unwind encoding for normal frame-using functions is supported but it
will be easy handle frameless functions when I have a bit more free time to
test it.  The LSDA and personality routines for functions are also retrieved
correctly for functions from the compact unwind section.

This new code is very fresh -- it passes the lldb testsuite and I've done
by-hand inspection of many functions and am getting correct behavior for all
of them.  There may need to be some bug fixing over the next couple weeks as
I exercise and test it further.  But I think it's fine right now so I'm
committing it.

<rdar://problem/13220837>

llvm-svn: 223625

9 years agoRevert a part of r223583, for now. It seems causing different emission between stage2...
NAKAMURA Takumi [Mon, 8 Dec 2014 02:07:22 +0000 (02:07 +0000)]
Revert a part of r223583, for now. It seems causing different emission between stage2(gcc-clang) and stage3 clang. Investigating.

llvm-svn: 223624

9 years agoIR: Fix bitcode compatability filenames
Duncan P. N. Exon Smith [Mon, 8 Dec 2014 00:41:39 +0000 (00:41 +0000)]
IR: Fix bitcode compatability filenames

As a fixup to r223616, follow the convention of naming the files after
the LLVM release whose bitcode they're maintaining compatability with.

llvm-svn: 223623

9 years agoSimplify computation of reduction dependences
Tobias Grosser [Sun, 7 Dec 2014 22:51:45 +0000 (22:51 +0000)]
Simplify computation of reduction dependences

This simplifies the construction of the input for the reduction dependence
computation and at the same time removes an assumption that expects the schedule
to be of 2D + 1 form (the odd dimensions giving textual order, the even
dimensions the loop iterations).

llvm-svn: 223621

9 years agoStop relying on MDNode::get() returning self-references
Duncan P. N. Exon Smith [Sun, 7 Dec 2014 21:12:10 +0000 (21:12 +0000)]
Stop relying on MDNode::get() returning self-references

Update for LLVM API change, wherein self-references are not uniqued (and
will never be returned by `MDNode::get()`).  We already have `Id`; just
return it.

This should fix the failing buildbot:

  http://lab.llvm.org:8011/builders/polly-amd64-linux/builds/25167
  http://lab.llvm.org:8011/builders/polly-amd64-linux/builds/25168

llvm-svn: 223620

9 years agoIR: Revert r223618 behaviour of MDNode::concatenate()
Duncan P. N. Exon Smith [Sun, 7 Dec 2014 20:32:11 +0000 (20:32 +0000)]
IR: Revert r223618 behaviour of MDNode::concatenate()

r223618 including special handling of `MDNode::intersect()`: if the
first operand is a self-reference with the same operands you're trying
to return, return it instead.

Reuse that handling in `MDNode::concatenate()` in the hopes that it
fixes a polly test that seems to rely on the old behaviour [1].

[1]: http://lab.llvm.org:8011/builders/polly-amd64-linux/builds/25167

llvm-svn: 223619

9 years agoIR: Drop uniquing for self-referencing MDNodes
Duncan P. N. Exon Smith [Sun, 7 Dec 2014 19:52:06 +0000 (19:52 +0000)]
IR: Drop uniquing for self-referencing MDNodes

It doesn't make sense to unique self-referencing nodes.  Drop uniquing
for them.

Note that `MDNode::intersect()` occasionally returns self-referencing
nodes.  Previously these would be returned by `MDNode::get()`.  I'm not
convinced this was intended behaviour -- to me it seems it should return
a node whose only operand is the self-reference -- but I don't know much
about alias scopes so I'm preserving it for now.

This is part of PR21532.

llvm-svn: 223618

9 years agoIR: Remove reference to ENABLE_MDNODE_UNIQUING
Duncan P. N. Exon Smith [Sun, 7 Dec 2014 19:02:48 +0000 (19:02 +0000)]
IR: Remove reference to ENABLE_MDNODE_UNIQUING

Apparently `MDNode` uniquing used to be optional.  I suppose the
configure flag must have disappeared at some point.  Change the test so
it actually tests uniquing, and remove the check for
`ENABLE_MDNODE_UNIQUING`.

llvm-svn: 223617

9 years agoIR: Add missing tests for function-local metadata
Duncan P. N. Exon Smith [Sun, 7 Dec 2014 17:56:16 +0000 (17:56 +0000)]
IR: Add missing tests for function-local metadata

Add assembly and bitcode tests that I neglected to add in r223564 (IR:
Disallow complicated function-local metadata) and r223574 (IR: Disallow
function-local metadata attachments).

Found a couple of bugs:

  - The error message for function-local attachments gave the wrong line
    number -- it indicated the next token (typically on the next line)
    instead of the token that started the attachment.  Fixed.

  - Metadata arguments of the form `!{i32 0, i32 %v}` (or with the
    arguments reversed) fired an assertion in `ValueEnumerator` in LLVM
    v3.5, so I suppose this never really worked.  I suppose this was
    "fixed" by r223564.

(Thanks to dblaikie for pointing out my omission.)

Part of PR21532.

llvm-svn: 223616

9 years agoR600/SI: Disable VMEM and SMEM clauses by breaking them with S_NOP
Marek Olsak [Sun, 7 Dec 2014 17:17:43 +0000 (17:17 +0000)]
R600/SI: Disable VMEM and SMEM clauses by breaking them with S_NOP

This is only a workaround.

llvm-svn: 223615

9 years agoR600/SI: Set 20-bit immediate byte offset for SMRD on VI
Marek Olsak [Sun, 7 Dec 2014 17:17:38 +0000 (17:17 +0000)]
R600/SI: Set 20-bit immediate byte offset for SMRD on VI

llvm-svn: 223614

9 years ago[x86] Clean up the SSE1 test to use a slightly different pattern for
Chandler Carruth [Sun, 7 Dec 2014 17:16:00 +0000 (17:16 +0000)]
[x86] Clean up the SSE1 test to use a slightly different pattern for
matching offsets. I don't expect this to really matter, but its what the
latest incarnation of my script for maintaining these tests happens to
produce, and so its simpler for me if everything matches.

llvm-svn: 223613

9 years ago[x86] Switch a constant selection test to use positive assertions and to
Chandler Carruth [Sun, 7 Dec 2014 17:15:58 +0000 (17:15 +0000)]
[x86] Switch a constant selection test to use positive assertions and to
store to real pointers so that its clear that the right code is in fact
being generated.

llvm-svn: 223612

9 years ago[x86] Cleanup the combining vector shuffle tests a bit by merging
Chandler Carruth [Sun, 7 Dec 2014 17:15:56 +0000 (17:15 +0000)]
[x86] Cleanup the combining vector shuffle tests a bit by merging
identical checks for different SSE variants into a single block.

llvm-svn: 223611

9 years ago[x86] Clean up the shift lowering vector shuffle tests a bit using my
Chandler Carruth [Sun, 7 Dec 2014 17:15:53 +0000 (17:15 +0000)]
[x86] Clean up the shift lowering vector shuffle tests a bit using my
script. Notably this folds all the SSE cases together into a single
FileCheck block. It also adds a vex prefix.

llvm-svn: 223610

9 years agoclang-format: Don't merge lines with comments.
Daniel Jasper [Sun, 7 Dec 2014 16:44:49 +0000 (16:44 +0000)]
clang-format: Don't merge lines with comments.

Before:
  int f() { // comment return 42; }

After:
  int f() { // comment
    return 42;
  }

This fixes llvm.org/PR21769.

llvm-svn: 223609

9 years agoDrop unused 'docs' directory
Tobias Grosser [Sun, 7 Dec 2014 16:04:33 +0000 (16:04 +0000)]
Drop unused 'docs' directory

llvm-svn: 223608