platform/upstream/llvm.git
10 years agoRe-enable ProcessElfCore for non-FreeBSD/Linux builds; with Greg's fix in r203274
Jason Molenda [Fri, 7 Mar 2014 23:23:10 +0000 (23:23 +0000)]
Re-enable ProcessElfCore for non-FreeBSD/Linux builds; with Greg's fix in r203274
this is not installing itself for Mach-O binaries.

llvm-svn: 203310

10 years agoRemove unnecessary test for Darwin and update testcase to be a little less
Adrian Prantl [Fri, 7 Mar 2014 23:07:21 +0000 (23:07 +0000)]
Remove unnecessary test for Darwin and update testcase to be a little less
horrible/fragile.
rdar://problem/16264854

llvm-svn: 203309

10 years ago[PECOFF] Support a new type of weak symbol.
Rui Ueyama [Fri, 7 Mar 2014 23:05:10 +0000 (23:05 +0000)]
[PECOFF] Support a new type of weak symbol.

Summary:
COMDAT_SELECT_SAME_SIZE is a COMDAT type that I presume exist only in COFF.
The semantics of the type is that linker should merge such COMDAT sections if
their sizes are the same. Otherwise it's an error.

Reviewers: Bigcheese, shankarke, kledzik

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

llvm-svn: 203308

10 years agoAdd a virtual destructor to quiet a warning.
Eric Christopher [Fri, 7 Mar 2014 22:53:36 +0000 (22:53 +0000)]
Add a virtual destructor to quiet a warning.

llvm-svn: 203307

10 years agoRange-ify some for loops.
Owen Anderson [Fri, 7 Mar 2014 22:48:22 +0000 (22:48 +0000)]
Range-ify some for loops.

llvm-svn: 203306

10 years agoActually add the header file.
Eric Christopher [Fri, 7 Mar 2014 22:43:09 +0000 (22:43 +0000)]
Actually add the header file.

llvm-svn: 203305

10 years agoTwo part patch:
Eric Christopher [Fri, 7 Mar 2014 22:40:37 +0000 (22:40 +0000)]
Two part patch:

First: refactor out the emission of entries into the .debug_loc section
into its own routine.

Second: add a new class ByteStreamer that can be used to either emit
using an AsmPrinter or hash using DIEHash the series of bytes that
would be emitted. Use this in all of the location emission routines
for the .debug_loc section.

No functional change intended outside of a few additional comments
in verbose assembly.

llvm-svn: 203304

10 years agoAdd include guards and make public a few routines that add values
Eric Christopher [Fri, 7 Mar 2014 22:40:30 +0000 (22:40 +0000)]
Add include guards and make public a few routines that add values
to the hash.

llvm-svn: 203303

10 years agoReplace "can not" with "cannot" in diagnostics messages.
Ismail Pazarbasi [Fri, 7 Mar 2014 22:36:23 +0000 (22:36 +0000)]
Replace "can not" with "cannot" in diagnostics messages.

llvm-svn: 203302

10 years agoRemove unused method declaration
Eli Bendersky [Fri, 7 Mar 2014 22:19:10 +0000 (22:19 +0000)]
Remove unused method declaration

llvm-svn: 203301

10 years agoRevert "Remove unnecessary check for Darwin. rdar://problem/16264854"
Adrian Prantl [Fri, 7 Mar 2014 22:18:23 +0000 (22:18 +0000)]
Revert "Remove unnecessary check for Darwin. rdar://problem/16264854"

This breaks linux buildbots. Go figure.

llvm-svn: 203300

10 years agoIn my tests, I'm finding that declaring iterators in terms of ranges can sometimes...
Aaron Ballman [Fri, 7 Mar 2014 22:17:20 +0000 (22:17 +0000)]
In my tests, I'm finding that declaring iterators in terms of ranges can sometimes have dangerous side-effects where the range temporary is destroyed, taking the underlying iterators out with it.

This changes the iterators so that they are no longer implemented in terms of ranges (so it's a very partial revert of the existing rangification efforts).

llvm-svn: 203299

10 years agoMoved test file from test/MC/Mips to test/CodeGen/Mips.
Sasa Stankovic [Fri, 7 Mar 2014 22:08:46 +0000 (22:08 +0000)]
Moved test file from test/MC/Mips to test/CodeGen/Mips.

llvm-svn: 203298

10 years agoRemove unnecessary check for Darwin. rdar://problem/16264854
Adrian Prantl [Fri, 7 Mar 2014 22:04:42 +0000 (22:04 +0000)]
Remove unnecessary check for Darwin. rdar://problem/16264854

llvm-svn: 203297

10 years agoDebugInfo: Use DW_FORM_data4 for DW_AT_high_pc in inlined functions
David Blaikie [Fri, 7 Mar 2014 22:00:56 +0000 (22:00 +0000)]
DebugInfo: Use DW_FORM_data4 for DW_AT_high_pc in inlined functions

Suggested by Adrian Prantl in code review for r203187.

llvm-svn: 203296

10 years agoDebugInfo: Update test to cover linux (with a FIXME...) too
David Blaikie [Fri, 7 Mar 2014 22:00:49 +0000 (22:00 +0000)]
DebugInfo: Update test to cover linux (with a FIXME...) too

llvm-svn: 203295

10 years ago[C++11] Revert uses of lambdas with array_pod_sort.
Benjamin Kramer [Fri, 7 Mar 2014 21:52:38 +0000 (21:52 +0000)]
[C++11] Revert uses of lambdas with array_pod_sort.

Looks like GCC implements the lambda->function pointer conversion differently.

llvm-svn: 203294

10 years ago[C++11] Revert uses of lambdas with array_pod_sort.
Benjamin Kramer [Fri, 7 Mar 2014 21:51:58 +0000 (21:51 +0000)]
[C++11] Revert uses of lambdas with array_pod_sort.

Looks like GCC implements the lambda->function pointer conversion differently.

llvm-svn: 203293

10 years agoRemove unused code.
Greg Clayton [Fri, 7 Mar 2014 21:51:19 +0000 (21:51 +0000)]
Remove unused code.

llvm-svn: 203292

10 years agoUpdate status for LWG 2193 and 2344.
Marshall Clow [Fri, 7 Mar 2014 21:47:20 +0000 (21:47 +0000)]
Update status for LWG 2193 and 2344.

llvm-svn: 203291

10 years agoImplement LWG #2344: quoted()'s interaction with padding is unclear. I think that...
Marshall Clow [Fri, 7 Mar 2014 21:45:32 +0000 (21:45 +0000)]
Implement LWG #2344: quoted()'s interaction with padding is unclear. I think that anyone using quoted with padding is really confused, but it should work the way the rest of iostreams works.

llvm-svn: 203290

10 years ago[C++11] Convert sort predicates into lambdas.
Benjamin Kramer [Fri, 7 Mar 2014 21:35:40 +0000 (21:35 +0000)]
[C++11] Convert sort predicates into lambdas.

No functionality change.

llvm-svn: 203289

10 years ago[C++11] Convert sort predicates into lambdas.
Benjamin Kramer [Fri, 7 Mar 2014 21:35:39 +0000 (21:35 +0000)]
[C++11] Convert sort predicates into lambdas.

No functionality change.

llvm-svn: 203288

10 years agoActually include the ArrayRef header rather than rely on the forward
Eric Christopher [Fri, 7 Mar 2014 21:30:49 +0000 (21:30 +0000)]
Actually include the ArrayRef header rather than rely on the forward
declaration.

llvm-svn: 203287

10 years agoFix up formatting.
Eric Christopher [Fri, 7 Mar 2014 21:27:42 +0000 (21:27 +0000)]
Fix up formatting.

llvm-svn: 203286

10 years agoFix EXPECT_* to not produce a compile warning.
Eli Bendersky [Fri, 7 Mar 2014 21:04:24 +0000 (21:04 +0000)]
Fix EXPECT_* to not produce a compile warning.

EXPECT_TRUE/FALSE is also more idiomatic for booleans than EXPECT_EQ

llvm-svn: 203284

10 years ago[-Wunreachable-code] Treat constant globals as configuration values in unreachable...
Ted Kremenek [Fri, 7 Mar 2014 20:51:13 +0000 (20:51 +0000)]
[-Wunreachable-code] Treat constant globals as configuration values in unreachable code heuristics.

This one could possibly be refined even further; e.g. looking
at the initializer and see if it is truly a configuration value.

llvm-svn: 203283

10 years agoZap another dead 'break' statement.
Ted Kremenek [Fri, 7 Mar 2014 20:51:10 +0000 (20:51 +0000)]
Zap another dead 'break' statement.

llvm-svn: 203282

10 years agoR600/SI: Using SGPRs is illegal for instructions that read carry-out from VCC
Tom Stellard [Fri, 7 Mar 2014 20:12:39 +0000 (20:12 +0000)]
R600/SI: Using SGPRs is illegal for instructions that read carry-out from VCC

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 203281

10 years agoR600/SI: Custom lower i1 stores
Tom Stellard [Fri, 7 Mar 2014 20:12:33 +0000 (20:12 +0000)]
R600/SI: Custom lower i1 stores

These are sometimes created by the shrink to boolean optimization in the
globalopt pass.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 203280

10 years agoReplace OwningPtr with std::unique_ptr.
Ahmed Charles [Fri, 7 Mar 2014 20:03:18 +0000 (20:03 +0000)]
Replace OwningPtr with std::unique_ptr.

This compiles cleanly with lldb/lld/clang-tools-extra/llvm.

llvm-svn: 203279

10 years ago[C++11] Replacing DeclBase iterators decls_begin() and decls_end() with iterator_rang...
Aaron Ballman [Fri, 7 Mar 2014 19:56:05 +0000 (19:56 +0000)]
[C++11] Replacing DeclBase iterators decls_begin() and decls_end() with iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops.

llvm-svn: 203278

10 years agoReplace OwningPtr::isValid() with conversion to bool.
Ahmed Charles [Fri, 7 Mar 2014 19:51:06 +0000 (19:51 +0000)]
Replace OwningPtr::isValid() with conversion to bool.

This is a precursor to moving to std::unique_ptr.

llvm-svn: 203277

10 years ago[C++11] DwarfDebug: Turn single-use functors into lambdas.
Benjamin Kramer [Fri, 7 Mar 2014 19:41:22 +0000 (19:41 +0000)]
[C++11] DwarfDebug: Turn single-use functors into lambdas.

No functionality change.

llvm-svn: 203276

10 years agoChange OwningPtr::take() to OwningPtr::release().
Ahmed Charles [Fri, 7 Mar 2014 19:33:25 +0000 (19:33 +0000)]
Change OwningPtr::take() to OwningPtr::release().

This is a precursor to moving to std::unique_ptr.

llvm-svn: 203275

10 years agoVerify we have a correct ELF or Mach core file before we return a valid instace of...
Greg Clayton [Fri, 7 Mar 2014 19:24:39 +0000 (19:24 +0000)]
Verify we have a correct ELF or Mach core file before we return a valid instace of ProcessElfCore or ProcessMachCore respectively.

llvm-svn: 203274

10 years ago[ADT] Update PointerIntPair to handle pointer types with more than 31 bits free.
Jordan Rose [Fri, 7 Mar 2014 19:19:56 +0000 (19:19 +0000)]
[ADT] Update PointerIntPair to handle pointer types with more than 31 bits free.

Previously, the assertions in PointerIntPair would try to calculate the value
(1 << NumLowBitsAvailable); the inferred type here is 'int', so if there were
more than 31 bits available we'd get a shift overflow.

Also, add a rudimentary unit test file for PointerIntPair.

llvm-svn: 203273

10 years ago[docs] Teach CMake docs build how to generate Qt Creator help/documentation files.
Michael Gottesman [Fri, 7 Mar 2014 19:19:28 +0000 (19:19 +0000)]
[docs] Teach CMake docs build how to generate Qt Creator help/documentation files.

Patch by Konrad Kleine.

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

llvm-svn: 203272

10 years agoUse predefined $(RM) in clean rule, and -r only for (expected) directories
Ed Maste [Fri, 7 Mar 2014 19:11:00 +0000 (19:11 +0000)]
Use predefined $(RM) in clean rule, and -r only for (expected) directories

llvm-svn: 203271

10 years ago[C++11] DwarfDebug: Use range-based for loops.
Benjamin Kramer [Fri, 7 Mar 2014 19:09:39 +0000 (19:09 +0000)]
[C++11] DwarfDebug: Use range-based for loops.

It has a lot of them with complex types. C++11 really shines here.

llvm-svn: 203270

10 years agoDon't avoid cfi instructions on the bg/p.
Rafael Espindola [Fri, 7 Mar 2014 19:04:12 +0000 (19:04 +0000)]
Don't avoid cfi instructions on the bg/p.

The integrated assembler now works for ppc. Since this was the last use of the
bg/p predicate and Hal says that it is now dead, drop the predicate too.

llvm-svn: 203269

10 years agoFix malloc thread step-out test on FreeBSD
Ed Maste [Fri, 7 Mar 2014 19:02:20 +0000 (19:02 +0000)]
Fix malloc thread step-out test on FreeBSD

After hitting the malloc() breakpoint on FreeBSD our top frame is actually
an inlined function malloc_init.

  * frame #0: 0x0000000800dcba19 libc.so.7`malloc [inlined] malloc_init at malloc.c:5397
    frame #1: 0x0000000800dcba19 libc.so.7`malloc(size=1024) + 9 at malloc.c:5949
    frame #2: 0x00000000004006e5 test_step_out_of_malloc_into_function_b_with_dwarf`b(val=1) + 37 at main2.cpp:29

Add a heuristic to keep stepping out until we come to a non-malloc caller,
before checking if it is our desired caller from the test code.

llvm.org/pr17944

llvm-svn: 203268

10 years agoRemove dead 'break' (dominated by 'return').
Ted Kremenek [Fri, 7 Mar 2014 18:54:08 +0000 (18:54 +0000)]
Remove dead 'break' (dominated by 'return').

llvm-svn: 203267

10 years agoRemove dead return and simplify code.
Ted Kremenek [Fri, 7 Mar 2014 18:53:05 +0000 (18:53 +0000)]
Remove dead return and simplify code.

llvm-svn: 203266

10 years agoRemove dead 'return'.
Ted Kremenek [Fri, 7 Mar 2014 18:51:16 +0000 (18:51 +0000)]
Remove dead 'return'.

llvm-svn: 203265

10 years agoMC: Use MachO::SectionType for MCSectionMachO::getType's return type
David Majnemer [Fri, 7 Mar 2014 18:49:54 +0000 (18:49 +0000)]
MC: Use MachO::SectionType for MCSectionMachO::getType's return type

This is a straightfoward replacement, it makes debugging a little
easier.

This has no functional impact.

llvm-svn: 203264

10 years agoDebugInfo: Refactor high_pc/low_pc construction into reusable function
David Blaikie [Fri, 7 Mar 2014 18:49:45 +0000 (18:49 +0000)]
DebugInfo: Refactor high_pc/low_pc construction into reusable function

For incoming improvements to inlined functions and lexical blocks
suggested by Adrian Prantl in review of r203187.

llvm-svn: 203263

10 years agoRenaming the chains() ranged iterator to chain() per suggestion by Richard Smith.
Aaron Ballman [Fri, 7 Mar 2014 18:36:15 +0000 (18:36 +0000)]
Renaming the chains() ranged iterator to chain() per suggestion by Richard Smith.

llvm-svn: 203262

10 years ago[C++11] Replacing IndirectFieldDecl iterators chain_begin() and chain_end() with...
Aaron Ballman [Fri, 7 Mar 2014 18:11:58 +0000 (18:11 +0000)]
[C++11] Replacing IndirectFieldDecl iterators chain_begin() and chain_end() with iterator_range chains(). Updating all of the usages of the iterators with range-based for loops.

llvm-svn: 203261

10 years agoAdd a note in the user manual that tsan is not supported on Mac.
Nico Weber [Fri, 7 Mar 2014 18:11:40 +0000 (18:11 +0000)]
Add a note in the user manual that tsan is not supported on Mac.

Patch from Sean McBride <sean@rogue-research.com>!

llvm-svn: 203260

10 years ago"Mac OS/X" -> "Mac OS X" spelling fixes for clang.
Nico Weber [Fri, 7 Mar 2014 18:09:57 +0000 (18:09 +0000)]
"Mac OS/X" -> "Mac OS X" spelling fixes for clang.

Patch from Sean McBride <sean@rogue-research.com>!

llvm-svn: 203259

10 years ago"Mac OS/X" -> "Mac OS X" spelling fixes for llvm.
Nico Weber [Fri, 7 Mar 2014 18:08:54 +0000 (18:08 +0000)]
"Mac OS/X" -> "Mac OS X" spelling fixes for llvm.

Patch from Sean McBride <sean@rogue-research.com>!

llvm-svn: 203258

10 years agoC++11: Remove const from in auto guidelines
Duncan P. N. Exon Smith [Fri, 7 Mar 2014 18:06:15 +0000 (18:06 +0000)]
C++11: Remove const from in auto guidelines

Using const is orthogonal to guidelines on using auto& and auto*.

llvm-svn: 203257

10 years agoDebugInfo: Restrict DW_AT_high_pc encoding as data4 offset to DWARF 4 as per spec
David Blaikie [Fri, 7 Mar 2014 18:04:24 +0000 (18:04 +0000)]
DebugInfo: Restrict DW_AT_high_pc encoding as data4 offset to DWARF 4 as per spec

Code review feedback to r203187 from Oliver Stannard. Thanks!

llvm-svn: 203256

10 years ago[C++11] Replacing ObjCMethodDecl iterators param_begin() and param_end() with iterato...
Aaron Ballman [Fri, 7 Mar 2014 17:50:17 +0000 (17:50 +0000)]
[C++11] Replacing ObjCMethodDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.

llvm-svn: 203255

10 years agoC++11: Copy pointers with const auto *
Duncan P. N. Exon Smith [Fri, 7 Mar 2014 17:23:29 +0000 (17:23 +0000)]
C++11: Copy pointers with const auto *

llvm-svn: 203254

10 years agoFix test 'make clean' target for empty $(DSYM) on FreeBSD
Ed Maste [Fri, 7 Mar 2014 17:20:50 +0000 (17:20 +0000)]
Fix test 'make clean' target for empty $(DSYM) on FreeBSD

A freebsd issue with rm prevents '[g]make clean' from working if $(DSYM)
is empty (fts_open(3) fails if passed an empty argument).

To work around this, simplify the clean target by using three separate
rm invocations: one for the common files, one for the case of non-empty
$(DYLIB_NAME), and one for non-empty $(DSYM).

Issue diagnosed (and reported to FreeBSD) by John Wolfe.

llvm.org/pr17933

llvm-svn: 203253

10 years ago[C++11] Adding an iterator_range accessor for parameter declarations to the CaptureDe...
Aaron Ballman [Fri, 7 Mar 2014 16:40:17 +0000 (16:40 +0000)]
[C++11] Adding an iterator_range accessor for parameter declarations to the CaptureDecl class; however, the only usage of the iterators cannot be converted to using the range yet. This change is for consistency with other Decls exposing parameters.

llvm-svn: 203252

10 years agoARM: Make .unreq directives case-insensitive
Duncan P. N. Exon Smith [Fri, 7 Mar 2014 16:16:52 +0000 (16:16 +0000)]
ARM: Make .unreq directives case-insensitive

Be case-insensitive when processing .unreq directives.

Patch by Lin Zuojian!

llvm-svn: 203251

10 years ago[C++11] Replacing BlockDecl iterators param_begin() and param_end() with iterator_ran...
Aaron Ballman [Fri, 7 Mar 2014 16:09:59 +0000 (16:09 +0000)]
[C++11] Replacing BlockDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.

llvm-svn: 203250

10 years ago[C++11] Now that the users are gone, rip out the duplicated traits from type_traits.h
Benjamin Kramer [Fri, 7 Mar 2014 15:54:23 +0000 (15:54 +0000)]
[C++11] Now that the users are gone, rip out the duplicated traits from type_traits.h

Simplify the remaining ones a bit.

llvm-svn: 203249

10 years ago[C++11] Replacing FunctionDecl iterators param_begin() and param_end() with iterator_...
Aaron Ballman [Fri, 7 Mar 2014 15:12:56 +0000 (15:12 +0000)]
[C++11] Replacing FunctionDecl iterators param_begin() and param_end() with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.

llvm-svn: 203248

10 years agoARM: fix file's header comment
Tim Northover [Fri, 7 Mar 2014 14:56:29 +0000 (14:56 +0000)]
ARM: fix file's header comment

llvm-svn: 203247

10 years agoAdd missing std:: qualifiers
Dmitri Gribenko [Fri, 7 Mar 2014 14:55:30 +0000 (14:55 +0000)]
Add missing std:: qualifiers

llvm-svn: 203246

10 years agoAdd decorator for recent FreeBSD failure
Ed Maste [Fri, 7 Mar 2014 14:50:29 +0000 (14:50 +0000)]
Add decorator for recent FreeBSD failure

llvm.org/pr19075

llvm-svn: 203245

10 years agoAdd missing std:: qualifiers.
Benjamin Kramer [Fri, 7 Mar 2014 14:50:15 +0000 (14:50 +0000)]
Add missing std:: qualifiers.

llvm-svn: 203244

10 years agoMake header standalone for libstdc++.
Benjamin Kramer [Fri, 7 Mar 2014 14:43:48 +0000 (14:43 +0000)]
Make header standalone for libstdc++.

llvm-svn: 203243

10 years ago[C++11] Replace LLVM-style type traits with C++11 standard ones.
Benjamin Kramer [Fri, 7 Mar 2014 14:42:25 +0000 (14:42 +0000)]
[C++11] Replace LLVM-style type traits with C++11 standard ones.

No functionality change.

llvm-svn: 203242

10 years ago[C++11] Replace LLVM-style type traits with C++11 standard ones.
Benjamin Kramer [Fri, 7 Mar 2014 14:30:23 +0000 (14:30 +0000)]
[C++11] Replace LLVM-style type traits with C++11 standard ones.

No functionality change.

llvm-svn: 203241

10 years ago[C++11] Replacing iterators ddiag_begin() and ddiag_end() with iterator_range ddiags...
Aaron Ballman [Fri, 7 Mar 2014 14:09:15 +0000 (14:09 +0000)]
[C++11] Replacing iterators ddiag_begin() and ddiag_end() with iterator_range ddiags(). Updating all of the usages of the iterators with range-based for loops.

llvm-svn: 203240

10 years ago[C++11] Updating getUsingDirectives to use iterator_range instead of a std::pair.
Aaron Ballman [Fri, 7 Mar 2014 13:44:44 +0000 (13:44 +0000)]
[C++11] Updating getUsingDirectives to use iterator_range instead of a std::pair.

llvm-svn: 203239

10 years agoRemove sanitizer_linux_libcdep.cc from TSan-Go build
Alexey Samsonov [Fri, 7 Mar 2014 13:17:32 +0000 (13:17 +0000)]
Remove sanitizer_linux_libcdep.cc from TSan-Go build

llvm-svn: 203238

10 years agoFully reverting r203236 -- it seems the only bots that are happy are the MSVC bots.
Aaron Ballman [Fri, 7 Mar 2014 13:13:38 +0000 (13:13 +0000)]
Fully reverting r203236 -- it seems the only bots that are happy are the MSVC bots.

llvm-svn: 203237

10 years ago[C++11] Replacing iterators attr_begin() and attr_end() with iterator_range attrs...
Aaron Ballman [Fri, 7 Mar 2014 12:50:00 +0000 (12:50 +0000)]
[C++11] Replacing iterators attr_begin() and attr_end() with iterator_range attrs(). Updating all of the usages of the iterators with range-based for loops.

llvm-svn: 203236

10 years ago[FreeBSD] Add support for sanitizer_linux_libcdep.cc
Alexey Samsonov [Fri, 7 Mar 2014 11:47:32 +0000 (11:47 +0000)]
[FreeBSD] Add support for sanitizer_linux_libcdep.cc

Patch by Viktor Kutuzov!

llvm-svn: 203235

10 years ago[SystemZ] Move sign_extend optimization to PerformDAGCombine
Richard Sandiford [Fri, 7 Mar 2014 11:34:35 +0000 (11:34 +0000)]
[SystemZ] Move sign_extend optimization to PerformDAGCombine

The target was marking SIGN_EXTEND as Custom because it wanted to optimize
certain sign-extended shifts.  In all other respects the extension is Legal,
so it'd be better to do the optimization in PerformDAGCombine instead.

No functional change intended.

llvm-svn: 203234

10 years agoDon't hold the ThreadList lock over calls to the GetStatus (Process or Thread) calls
Jim Ingham [Fri, 7 Mar 2014 11:20:03 +0000 (11:20 +0000)]
Don't hold the ThreadList lock over calls to the GetStatus (Process or Thread) calls
or the lower levels of the Process won't be able to restart.

<rdar://problem/16244835>

llvm-svn: 203233

10 years agoIf you are disabling a hardware breakpoint, use z1 not z0.
Jim Ingham [Fri, 7 Mar 2014 11:18:02 +0000 (11:18 +0000)]
If you are disabling a hardware breakpoint, use z1 not z0.

<rdar://problem/16256532>

llvm-svn: 203232

10 years agoThe ThreadPlanCallFunction needs to pass its "StopOthers" to its run to address subplan.
Jim Ingham [Fri, 7 Mar 2014 11:16:37 +0000 (11:16 +0000)]
The ThreadPlanCallFunction needs to pass its "StopOthers" to its run to address subplan.

llvm-svn: 203231

10 years agoCodeGenPrep: sink extends of illegal types into use block.
Tim Northover [Fri, 7 Mar 2014 11:04:30 +0000 (11:04 +0000)]
CodeGenPrep: sink extends of illegal types into use block.

This helps the instruction selector to lower an i64 * i64 -> i128
multiplication into a single instruction on targets which support it.

Patch by Manuel Jacob.

llvm-svn: 203230

10 years agoInstCombine: form shuffles from wider range of insert/extractelements
Tim Northover [Fri, 7 Mar 2014 10:24:44 +0000 (10:24 +0000)]
InstCombine: form shuffles from wider range of insert/extractelements

Sequences of insertelement/extractelements are sometimes used to build
vectorsr; this code tries to put them back together into shuffles, but
could only produce a completely uniform shuffle types (<N x T> from two
<N x T> sources).

This should allow shuffles with different numbers of elements on the
input and output sides as well.

llvm-svn: 203229

10 years agoRemove a test that we don't need anymore
Timur Iskhodzhanov [Fri, 7 Mar 2014 10:21:25 +0000 (10:21 +0000)]
Remove a test that we don't need anymore

llvm-svn: 203228

10 years ago[FreeBSD] Port sanitizers' syscalls.
Alexey Samsonov [Fri, 7 Mar 2014 10:03:54 +0000 (10:03 +0000)]
[FreeBSD] Port sanitizers' syscalls.

Patch by Viktor Kutuzov!

llvm-svn: 203227

10 years agotsan: fix pthread_cond_destroy interceptor on android
Dmitry Vyukov [Fri, 7 Mar 2014 10:01:16 +0000 (10:01 +0000)]
tsan: fix pthread_cond_destroy interceptor on android

llvm-svn: 203226

10 years ago[OPENMP] Fix for threadprivate construct instantiatiation.
Alexey Bataev [Fri, 7 Mar 2014 09:46:29 +0000 (09:46 +0000)]
[OPENMP] Fix for threadprivate construct instantiatiation.

llvm-svn: 203225

10 years ago[ASan] Better way to disable tests for functions unavailable on certain platforms
Alexey Samsonov [Fri, 7 Mar 2014 09:39:01 +0000 (09:39 +0000)]
[ASan] Better way to disable tests for functions unavailable on certain platforms

llvm-svn: 203224

10 years agoChange MCDisassembler::setSymbolizer to take unique_ptr by value.
Ahmed Charles [Fri, 7 Mar 2014 09:38:02 +0000 (09:38 +0000)]
Change MCDisassembler::setSymbolizer to take unique_ptr by value.

This changes the interface to be more explicit that ownership is being
transferred.

llvm-svn: 203223

10 years agoFix PR18967 -- Bad this adjustment for virtual methods in a diamond virtual inheritan...
Timur Iskhodzhanov [Fri, 7 Mar 2014 09:34:59 +0000 (09:34 +0000)]
Fix PR18967 -- Bad this adjustment for virtual methods in a diamond virtual inheritance hierarchy

llvm-svn: 203222

10 years agoRemove unused method.
Craig Topper [Fri, 7 Mar 2014 09:26:53 +0000 (09:26 +0000)]
Remove unused method.

llvm-svn: 203221

10 years ago[C++11] Add 'override' keyword to virtual methods that override their base class.
Craig Topper [Fri, 7 Mar 2014 09:26:03 +0000 (09:26 +0000)]
[C++11] Add 'override' keyword to virtual methods that override their base class.

llvm-svn: 203220

10 years agoExternalClangExamples: add a link to ToyClangPlugin
Dmitri Gribenko [Fri, 7 Mar 2014 09:06:12 +0000 (09:06 +0000)]
ExternalClangExamples: add a link to ToyClangPlugin

Patch by Alexey Denisov.

llvm-svn: 203219

10 years agoEnable FeatureFastUAMem for Silvermont processor
Alexey Volkov [Fri, 7 Mar 2014 09:03:49 +0000 (09:03 +0000)]
Enable FeatureFastUAMem for Silvermont processor

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

llvm-svn: 203218

10 years agoUpdate for clang r203213
Ben Langmuir [Fri, 7 Mar 2014 08:31:36 +0000 (08:31 +0000)]
Update for clang r203213

llvm-svn: 203217

10 years agoTest commit
Alexey Volkov [Fri, 7 Mar 2014 08:28:44 +0000 (08:28 +0000)]
Test commit
Removed whitespace

llvm-svn: 203216

10 years agoTweak some test paths to match on Windows
Ben Langmuir [Fri, 7 Mar 2014 08:15:35 +0000 (08:15 +0000)]
Tweak some test paths to match on Windows

llvm-svn: 203215

10 years ago[OPENMP] Small update in threadprivate variables processing to fix template instantia...
Alexey Bataev [Fri, 7 Mar 2014 08:03:37 +0000 (08:03 +0000)]
[OPENMP] Small update in threadprivate variables processing to fix template instantiation.

llvm-svn: 203214

10 years ago[Preprocessor] Pass TranslationUnitKind to the preprocessor and if it is TU_Prefix
Argyrios Kyrtzidis [Fri, 7 Mar 2014 07:47:58 +0000 (07:47 +0000)]
[Preprocessor] Pass TranslationUnitKind to the preprocessor and if it is TU_Prefix
avoid warning for unused macros.

rdar://15034698

llvm-svn: 203213

10 years ago[OPENMP] Fixed linked libraries for libiomp5 on Linux
Alexey Bataev [Fri, 7 Mar 2014 07:43:52 +0000 (07:43 +0000)]
[OPENMP] Fixed linked libraries for libiomp5 on Linux

llvm-svn: 203212

10 years agoMC: Remove superfluous section attribute flag definitions
David Majnemer [Fri, 7 Mar 2014 07:36:05 +0000 (07:36 +0000)]
MC: Remove superfluous section attribute flag definitions

Summary:
llvm/MC/MCSectionMachO.h and llvm/Support/MachO.h both had the same
definitions for the section flags.  Instead, grab the definitions out of
support.

No functionality change.

Reviewers: grosbach, Bigcheese, rafael

Reviewed By: rafael

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

llvm-svn: 203211

10 years agoAdd a bunch of missing changes from r203208
Ben Langmuir [Fri, 7 Mar 2014 07:27:49 +0000 (07:27 +0000)]
Add a bunch of missing changes from r203208

Somehow lost these in a git operation.

llvm-svn: 203210