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

llvm-svn: 201392

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

llvm-svn: 201391

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

llvm-svn: 201390

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

This reverts commit r201380 for now while we investigate.

llvm-svn: 201389

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

llvm-svn: 201388

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

llvm-svn: 201387

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

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

llvm-svn: 201386

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

llvm-svn: 201385

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

llvm-svn: 201384

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

I added it in r201211.

llvm-svn: 201383

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

llvm-svn: 201381

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

Recommitting r201351 and r201355 (reverted in r201351 and r201355)

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

llvm-svn: 201380

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

llvm-svn: 201379

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

llvm-svn: 201378

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

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

llvm-svn: 201377

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

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

llvm-svn: 201376

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

llvm-svn: 201375

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

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

llvm-svn: 201374

10 years agoRevert "libclang: fix a bug in processing invalid arguments, introduced in r201249,"
Juergen Ributzka [Thu, 13 Feb 2014 23:34:54 +0000 (23:34 +0000)]
Revert "libclang: fix a bug in processing invalid arguments, introduced in r201249,"

Reverting commit (201346) for now, because it is breaking our internal builds.

llvm-svn: 201373

10 years agoFixed deadlocks that could occur when using python for breakpoints, operating system...
Greg Clayton [Thu, 13 Feb 2014 23:34:38 +0000 (23:34 +0000)]
Fixed deadlocks that could occur when using python for breakpoints, operating system plugins, and other async python usage.

<rdar://problem/16054348>
<rdar://problem/16040833>

llvm-svn: 201372

10 years agoR600/SI: Expand all v8[if]32 operations
Tom Stellard [Thu, 13 Feb 2014 23:34:15 +0000 (23:34 +0000)]
R600/SI: Expand all v8[if]32 operations

llvm-svn: 201371

10 years agoR600/SI: Add a pattern for i32 anyext
Tom Stellard [Thu, 13 Feb 2014 23:34:13 +0000 (23:34 +0000)]
R600/SI: Add a pattern for i32 anyext

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

10 years agoR600/SI: Completely Disable TypeRewriter on compute
Tom Stellard [Thu, 13 Feb 2014 23:34:12 +0000 (23:34 +0000)]
R600/SI: Completely Disable TypeRewriter on compute

llvm-svn: 201369

10 years agoR600/SI: Split global vector loads with more than 4 elements
Tom Stellard [Thu, 13 Feb 2014 23:34:10 +0000 (23:34 +0000)]
R600/SI: Split global vector loads with more than 4 elements

llvm-svn: 201368

10 years agoR600/SI: Add ShaderType attribute to some tests
Tom Stellard [Thu, 13 Feb 2014 23:34:07 +0000 (23:34 +0000)]
R600/SI: Add ShaderType attribute to some tests

llvm-svn: 201367

10 years agoRevert r201292 which relaxed the stack frame alignment requirements.
Jason Molenda [Thu, 13 Feb 2014 23:29:36 +0000 (23:29 +0000)]
Revert r201292 which relaxed the stack frame alignment requirements.
This was primarily working around problems where we weren't able
to identify trap handlers for different environments -- but instead,
I'm working to make it easier to specify those trap handler function
names.

llvm-svn: 201366

10 years agoUse __literal16. It has been supported by the linker since 2005.
Rafael Espindola [Thu, 13 Feb 2014 23:16:11 +0000 (23:16 +0000)]
Use __literal16. It has been supported by the linker since 2005.

llvm-svn: 201365

10 years agoChange the way the m_trap_handlers Platform base class ivar is initialized;
Jason Molenda [Thu, 13 Feb 2014 23:11:45 +0000 (23:11 +0000)]
Change the way the m_trap_handlers Platform base class ivar is initialized;
add a new pure virtual CalculateTrapHandlerSymbolNames() that Platform
subclasses must implement which fills in the function name list with any
trap handlers that are expected on that platform.

llvm-svn: 201364

10 years agoMSBuild integration: get the LibraryPath right (PR18707)
Hans Wennborg [Thu, 13 Feb 2014 22:01:35 +0000 (22:01 +0000)]
MSBuild integration: get the LibraryPath right (PR18707)

It was pointing to lib\clang\3.4, but now we're on 3.5.
Make CMake insert the right version automatically.

llvm-svn: 201363

10 years agoDon't build DFSan functionality for Android.
Stephen Hines [Thu, 13 Feb 2014 21:21:09 +0000 (21:21 +0000)]
Don't build DFSan functionality for Android.

llvm-svn: 201362

10 years agoSimplify checks in MC/AsmParser/directive_loc.s
Diego Novillo [Thu, 13 Feb 2014 20:16:42 +0000 (20:16 +0000)]
Simplify checks in MC/AsmParser/directive_loc.s

llvm-svn: 201361

10 years agoEnable correcting a member declaration where the type is class template,
Kaelyn Uhrain [Thu, 13 Feb 2014 20:14:07 +0000 (20:14 +0000)]
Enable correcting a member declaration where the type is class template,
and the class name is shadowed by another member. Recovery still needs
to be figured out, which is non-trivial since the parser has already gone
down a much different path than if it had recognized the class template
as type instead of seeing the member that shadowed the class template.

llvm-svn: 201360

10 years agoFix generation of 'isa' and 'discriminator' keywords.
Diego Novillo [Thu, 13 Feb 2014 20:05:03 +0000 (20:05 +0000)]
Fix generation of 'isa' and 'discriminator' keywords.

Summary:
There should be a space before each of these two keywords to avoid
generating invalid assembly files.

NOTE: I could not find an obvious maintainers in CODE_OWNERS.TXT, but
      this seems related to debug info.

Reviewers: echristo

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

llvm-svn: 201359

10 years agoTweak an _MSC_VER ifdef to use typename with clang in a unittest
Reid Kleckner [Thu, 13 Feb 2014 19:51:13 +0000 (19:51 +0000)]
Tweak an _MSC_VER ifdef to use typename with clang in a unittest

In theory, Clang should figure out how to parse this correctly without
typename, but since this is the last TU that Clang falls back on in the
self-host, I'm going to compromise and check for __clang__.

And now Clang can self-host on -win32 without fallback!  The 'check' and
'check-clang' targets both pass.

llvm-svn: 201358

10 years agoRe-enable TestAbbreviations.py on Linux after test fix.
Todd Fiala [Thu, 13 Feb 2014 19:21:13 +0000 (19:21 +0000)]
Re-enable TestAbbreviations.py on Linux after test fix.

See http://llvm.org/bugs/show_bug.cgi?id=18816.

llvm-svn: 201357

10 years agoFixed a test suite failure on Darwin due to logging issues.
Greg Clayton [Thu, 13 Feb 2014 18:30:23 +0000 (18:30 +0000)]
Fixed a test suite failure on Darwin due to logging issues.

llvm-svn: 201356

10 years agoTweak llvm/test/DebugInfo/X86/generate-odr-hash.ll corresponding to r201351 (Revert...
NAKAMURA Takumi [Thu, 13 Feb 2014 18:28:28 +0000 (18:28 +0000)]
Tweak llvm/test/DebugInfo/X86/generate-odr-hash.ll corresponding to r201351 (Revert r201187).

llvm-svn: 201355

10 years agoCheck that GlobalAliases don't have section or alignment.
Rafael Espindola [Thu, 13 Feb 2014 18:26:41 +0000 (18:26 +0000)]
Check that GlobalAliases don't have section or alignment.

An alias is always in the section of its aliasee and has the same alignment
(since it has the same address).

llvm-svn: 201354

10 years agoSCCIterator: Merge MinVisitNumStack and VisitStack
Duncan P. N. Exon Smith [Thu, 13 Feb 2014 18:26:15 +0000 (18:26 +0000)]
SCCIterator: Merge MinVisitNumStack and VisitStack

This patch merges MinVisitNumStack with VisitStack using a StackElement
struct.

Patch by Mehdi Amini!

llvm-svn: 201353

10 years agoInstCombine: Replace custom constant folding code with ConstantExpr.
Benjamin Kramer [Thu, 13 Feb 2014 18:23:24 +0000 (18:23 +0000)]
InstCombine: Replace custom constant folding code with ConstantExpr.

llvm-svn: 201352

10 years ago[PR18809] Revert r201187, "DebugInfo: Don't include the name of the CU file in the...
NAKAMURA Takumi [Thu, 13 Feb 2014 18:18:56 +0000 (18:18 +0000)]
[PR18809] Revert r201187, "DebugInfo: Don't include the name of the CU file in the line table file list when it's unneeded"

It really crashes cygwin's stage2 configure with "clang -g".

llvm-svn: 201351

10 years ago[examples] Add tablegen'd ClangCommentCommandList as a dependency for plugins.
Jordan Rose [Thu, 13 Feb 2014 18:12:30 +0000 (18:12 +0000)]
[examples] Add tablegen'd ClangCommentCommandList as a dependency for plugins.

Also, remove library dependencies for the sample analyzer-plugin. The only
library changes that would require a rebuild should be in headers, which
should already implicitly be marked as dependencies.

llvm-svn: 201350

10 years agoAdd a test to make sure that vector supports incomplete types
Marshall Clow [Thu, 13 Feb 2014 17:56:12 +0000 (17:56 +0000)]
Add a test to make sure that vector supports incomplete types

llvm-svn: 201349

10 years ago[CMake] Disable libclangTests.exe on win32 for now.
NAKAMURA Takumi [Thu, 13 Feb 2014 17:51:35 +0000 (17:51 +0000)]
[CMake] Disable libclangTests.exe on win32 for now.

libclangTests.exe cannot find libclang.dll since it is not on $PATH.

llvm-svn: 201348

10 years agoUse mkdir instead of stat+mkdir.
Rafael Espindola [Thu, 13 Feb 2014 16:58:19 +0000 (16:58 +0000)]
Use mkdir instead of stat+mkdir.

This is an optimistic version of create_diretories: it tries to create the
directory first and looks at the parent only if that fails.

Running strace on "mkdir -p" shows that it is pessimistic, calling mkdir on
every element of the path. We could implement that if needed.

In any case, with both strategies there is no reason to call stat, just check
the return of mkdir.

llvm-svn: 201347

10 years agolibclang: fix a bug in processing invalid arguments, introduced in r201249,
Dmitri Gribenko [Thu, 13 Feb 2014 16:51:38 +0000 (16:51 +0000)]
libclang: fix a bug in processing invalid arguments, introduced in r201249,
pointed out by Daniel Jasper in r201329

llvm-svn: 201346

10 years agoAdd triples to try to fix the windows bots.
Rafael Espindola [Thu, 13 Feb 2014 16:49:47 +0000 (16:49 +0000)]
Add triples to try to fix the windows bots.

llvm-svn: 201345

10 years agoReduce code duplication resulting from the ConstantVector/ConstantDataVector split.
Benjamin Kramer [Thu, 13 Feb 2014 16:48:38 +0000 (16:48 +0000)]
Reduce code duplication resulting from the ConstantVector/ConstantDataVector split.

No intended functionality change.

llvm-svn: 201344

10 years agoRe-add the '!' removed by mistake.
Alexander Kornienko [Thu, 13 Feb 2014 16:29:39 +0000 (16:29 +0000)]
Re-add the '!' removed by mistake.

llvm-svn: 201343

10 years agoClang-tidy: don't create ASTConsumers not needed for the set of checks we perform.
Alexander Kornienko [Thu, 13 Feb 2014 16:10:47 +0000 (16:10 +0000)]
Clang-tidy: don't create ASTConsumers not needed for the set of checks we perform.

Summary:
This doesn't have any significant effect on the performance, but it
looks like a good thing to do.

Reviewers: djasper, klimek

Reviewed By: klimek

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

llvm-svn: 201340

10 years ago[sanitizer] replace MostSignificantSetBitIndex with LeastSignificantSetBitIndex in...
Kostya Serebryany [Thu, 13 Feb 2014 15:59:00 +0000 (15:59 +0000)]
[sanitizer] replace MostSignificantSetBitIndex with LeastSignificantSetBitIndex in bit vector (to iterate bits in increasing order)

llvm-svn: 201339

10 years ago[sanitizer] optimize TwoLevelBitVector::intersectsWith, extend tests, fix a check
Kostya Serebryany [Thu, 13 Feb 2014 15:45:20 +0000 (15:45 +0000)]
[sanitizer] optimize TwoLevelBitVector::intersectsWith, extend tests, fix a check

llvm-svn: 201338

10 years ago.file is only available on ELF, use a triple instead of -march.
Rafael Espindola [Thu, 13 Feb 2014 15:38:16 +0000 (15:38 +0000)]
.file is only available on ELF, use a triple instead of -march.

llvm-svn: 201337

10 years ago"foo" is not a ppc instruction, don't try to parse it.
Rafael Espindola [Thu, 13 Feb 2014 15:33:35 +0000 (15:33 +0000)]
"foo" is not a ppc instruction, don't try to parse it.

llvm-svn: 201336

10 years agoSpecify a triple. MachO AArch64 support is missing.
Rafael Espindola [Thu, 13 Feb 2014 15:30:06 +0000 (15:30 +0000)]
Specify a triple. MachO AArch64 support is missing.

llvm-svn: 201335

10 years agoAvoid undesired variable shadowing
Ed Maste [Thu, 13 Feb 2014 15:12:57 +0000 (15:12 +0000)]
Avoid undesired variable shadowing

Michael Sartain refactored RegisterContextPOSIX_* in r192332, and I must
have missed the now-shadowed variable when I rebased the FreeBSD MIPS64
register context after that.

llvm-svn: 201334

10 years agoRe-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTe...
Daniel Sanders [Thu, 13 Feb 2014 14:44:26 +0000 (14:44 +0000)]
Re-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call

Summary:
AsmPrinter::EmitInlineAsm() will no longer use the EmitRawText() call for
targets with mature MC support. Such targets will always parse the inline
assembly (even when emitting assembly). Targets without mature MC support
continue to use EmitRawText() for assembly output.

The hasRawTextSupport() check in AsmPrinter::EmitInlineAsm() has been replaced
with MCAsmInfo::UseIntegratedAs which when true, causes the integrated assembler
to parse inline assembly (even when emitting assembly output). UseIntegratedAs
is set to true for targets that consider any failure to parse valid assembly
to be a bug. Target specific subclasses generally enable the integrated
assembler in their constructor. The default value can be overridden with
-no-integrated-as.

All tests that rely on inline assembly supporting invalid assembly (for example,
those that use mnemonics such as 'foo' or 'hello world') have been updated to
disable the integrated assembler.

Changes since review (and last commit attempt):
- Fixed test failures that were missed due to configuration of local build.
  (fixes crash.ll and a couple others).
- Fixed tests that happened to pass because the local build was on X86
  (should fix 2007-12-17-InvokeAsm.ll)
- mature-mc-support.ll's should no longer require all targets to be compiled.
  (should fix ARM and PPC buildbots)
- Object output (-filetype=obj and similar) now forces the integrated assembler
  to be enabled regardless of default setting or -no-integrated-as.
  (should fix SystemZ buildbots)

Reviewers: rafael

Reviewed By: rafael

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

llvm-svn: 201333

10 years ago[asan] Disable 1 test on Android.
Evgeniy Stepanov [Thu, 13 Feb 2014 14:37:25 +0000 (14:37 +0000)]
[asan] Disable 1 test on Android.

llvm-svn: 201332

10 years ago[asan] Remove extra clone() arguments in test.
Evgeniy Stepanov [Thu, 13 Feb 2014 14:37:04 +0000 (14:37 +0000)]
[asan] Remove extra clone() arguments in test.

Android headers define clone() as a 4-argument function without ellipsis.

llvm-svn: 201331

10 years ago[asan] Enable signal and sigaction interceptors on Android.
Evgeniy Stepanov [Thu, 13 Feb 2014 14:33:24 +0000 (14:33 +0000)]
[asan] Enable signal and sigaction interceptors on Android.

Fixes AddressSanitizer.SignalTest breakage.

llvm-svn: 201330

10 years agoRemove assert added in r201249.
Daniel Jasper [Thu, 13 Feb 2014 14:24:14 +0000 (14:24 +0000)]
Remove assert added in r201249.

This triggers on one of our internal tests.

Dmitri:
I do not understand this part of the codebase well enough to locate the
underlying cause easily. If the correct fix is not obvious, I can try to
debug the problem further or try to come up with reduced test case.

llvm-svn: 201329

10 years agoThis solves warning C4005: '_NOEXCEPT' : macro redefinition when compiling
Yaron Keren [Thu, 13 Feb 2014 14:02:28 +0000 (14:02 +0000)]
This solves warning C4005: '_NOEXCEPT' : macro redefinition when compiling
with Visual C++ 2013 by making libcxx definition text-identical to yvals.h.

Persumably this definition is for older Visual C++ versions.
In such cases it will still be defined so no functionality change.

Other platforms should not be affected as this is inside
#elif defined(_LIBCPP_MSVC)

Patch by G M!

llvm-svn: 201328

10 years agoRemove dead code.
Rafael Espindola [Thu, 13 Feb 2014 13:45:45 +0000 (13:45 +0000)]
Remove dead code.

llvm-svn: 201327

10 years ago[asan] Enable SEGV handler on Android by default.
Evgeniy Stepanov [Thu, 13 Feb 2014 13:43:47 +0000 (13:43 +0000)]
[asan] Enable SEGV handler on Android by default.

Seems stable enough.
Fixes null_deref.cc test.

llvm-svn: 201326

10 years ago[sanitizer] Fix off-by-one-line in SEGV reports on Android.
Evgeniy Stepanov [Thu, 13 Feb 2014 13:32:24 +0000 (13:32 +0000)]
[sanitizer] Fix off-by-one-line in SEGV reports on Android.

This will be covered by null_deref.cc test (requires one more fix to pass).

llvm-svn: 201325

10 years ago[asan] Fix null_deref test with zero base shadow.
Evgeniy Stepanov [Thu, 13 Feb 2014 13:04:39 +0000 (13:04 +0000)]
[asan] Fix null_deref test with zero base shadow.

With zero base shadow, shadow for near-zero access is itself at near-zero
location. As a result, this test crashes on the shadow access, and not on the
app access.

Relax a check to match this behavior.

llvm-svn: 201324

10 years agoclang-format: Improve documentation of DerivePointerBinding.
Daniel Jasper [Thu, 13 Feb 2014 12:51:50 +0000 (12:51 +0000)]
clang-format: Improve documentation of DerivePointerBinding.

For reference: llvm.org/PR18690.

Also updated generated help page and page creation script.

llvm-svn: 201323

10 years ago[sanitizer] address some of the dvyukov's comments on previous commits
Kostya Serebryany [Thu, 13 Feb 2014 12:39:21 +0000 (12:39 +0000)]
[sanitizer] address some of the dvyukov's comments on previous commits

llvm-svn: 201322

10 years agoRemove a check from strerror_r test.
Evgeniy Stepanov [Thu, 13 Feb 2014 12:24:10 +0000 (12:24 +0000)]
Remove a check from strerror_r test.

It's not always true: on Android, strerror_r with invalid errno
prints "Unknown error ..." to the buffer and returns 0.

This test now only checks that strerror_r does not crash.

llvm-svn: 201321

10 years ago[CMake] Let llvm_add_library(MODULE) check capability of loadable module.
NAKAMURA Takumi [Thu, 13 Feb 2014 11:25:17 +0000 (11:25 +0000)]
[CMake] Let llvm_add_library(MODULE) check capability of loadable module.

On unsupported platforms, llvm_add_library(MODULE) doesn't create any targets.
Caller may be responsible to check and add extra target properties.

llvm-svn: 201320

10 years ago[CMake] add_clang_library(MODULE): Create a phony target when llvm_add_library(MODULE...
NAKAMURA Takumi [Thu, 13 Feb 2014 11:24:45 +0000 (11:24 +0000)]
[CMake] add_clang_library(MODULE): Create a phony target when llvm_add_library(MODULE) gave up.

llvm-svn: 201319

10 years ago[CMake] Move the target property PREFIX from add_llvm_loadable_module() to llvm_add_l...
NAKAMURA Takumi [Thu, 13 Feb 2014 11:19:21 +0000 (11:19 +0000)]
[CMake] Move the target property PREFIX from add_llvm_loadable_module() to llvm_add_library().

llvm-svn: 201318

10 years ago[CMake] llvm_add_library(MODULE) may use CMAKE_MODULE_LINKER_FLAGS instead of target...
NAKAMURA Takumi [Thu, 13 Feb 2014 11:19:11 +0000 (11:19 +0000)]
[CMake] llvm_add_library(MODULE) may use CMAKE_MODULE_LINKER_FLAGS instead of target property LINK_FLAGS.

I mis-dropped Darwin's link flags (in clang side) since r201073.

llvm-svn: 201317

10 years ago[CMake] LLVM_PLUGIN_EXT: Use CMAKE_SHARED_LIBRARY_SUFFIX rather than CMAKE_SHARED_MOD...
NAKAMURA Takumi [Thu, 13 Feb 2014 11:19:00 +0000 (11:19 +0000)]
[CMake] LLVM_PLUGIN_EXT: Use CMAKE_SHARED_LIBRARY_SUFFIX rather than CMAKE_SHARED_MODULE_SUFFIX in llvm tree.

FIXME: llvm/test may be aware of LLVM_PLUGIN_EXT, like as clang/test does.
FIXME: CMAKE_*_SUFFIX may be set in HandleLLVMOptions if those variables could be writable, rather than to set one as target properties.
llvm-svn: 201316

10 years agollvm/test/CodeGen/AArch64/cpus.ll: Tweak to use -mtriple=aarch64-unknown-unknown...
NAKAMURA Takumi [Thu, 13 Feb 2014 11:06:23 +0000 (11:06 +0000)]
llvm/test/CodeGen/AArch64/cpus.ll: Tweak to use -mtriple=aarch64-unknown-unknown, or this would crash for targeting pecoff like *-mingw32.

llvm-svn: 201315

10 years agoARM: remove floating-point patterns for @llvm.arm.neon.vabs
Tim Northover [Thu, 13 Feb 2014 10:44:30 +0000 (10:44 +0000)]
ARM: remove floating-point patterns for @llvm.arm.neon.vabs

The front-end is now generating the generic @llvm.fabs for this
operation now, so the extra patterns are no longer needed.

llvm-svn: 201314

10 years agoARM & AArch64 NEON: share the vabs implementation.
Tim Northover [Thu, 13 Feb 2014 10:44:17 +0000 (10:44 +0000)]
ARM & AArch64 NEON: share the vabs implementation.

This changes ARM to use @llvm.fabs for floating-point vabs. Patterns
already existed in the backend, and it might help mid-end phases since
it's more likely to be understood than @llvm.arm.neon.vabs.

llvm-svn: 201313

10 years agoXCore target pass -v flag to assembler & linker
Robert Lytton [Thu, 13 Feb 2014 10:40:12 +0000 (10:40 +0000)]
XCore target pass -v flag to assembler & linker

llvm-svn: 201312

10 years agoadd comment explaining previous commit
Robert Lytton [Thu, 13 Feb 2014 10:38:56 +0000 (10:38 +0000)]
add comment explaining previous commit

 see 'XCore target -fexceptions flag handling'

llvm-svn: 201311

10 years agoXCore target -fexceptions flag handling
Robert Lytton [Thu, 13 Feb 2014 10:34:44 +0000 (10:34 +0000)]
XCore target -fexceptions flag handling

XCore target has -fno-exception as the default option
Pass on "-fexceptions" flag to xcc (linker)

llvm-svn: 201310

10 years agoRemove spurious default case to silent sanitizer
Renato Golin [Thu, 13 Feb 2014 10:26:33 +0000 (10:26 +0000)]
Remove spurious default case to silent sanitizer

llvm-svn: 201309

10 years agoFix ExplicitConstructorCheck to warn only on in-class declarations.
Alexander Kornienko [Thu, 13 Feb 2014 10:11:48 +0000 (10:11 +0000)]
Fix ExplicitConstructorCheck to warn only on in-class declarations.

Summary:
I'm not absolutely sure this is 100% correct solution, but it seems to
do what I expect.

Reviewers: djasper, klimek

Reviewed By: djasper

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

llvm-svn: 201308

10 years agoAdd EXPERIMENTAL --rtlib=compiler-rt to GNU Clang
Renato Golin [Thu, 13 Feb 2014 10:01:16 +0000 (10:01 +0000)]
Add EXPERIMENTAL --rtlib=compiler-rt to GNU Clang

This commit is not strictly correct nor accounts for all uses (shared
objects, for example), but it allows one to test the compiler-rt library
on GNU targets.

Using this patch to run the test-suite has already shown me problems
on ARM. Since this is a Darwin-only flag, nobody is using it, so it
shouldn't be a problem.

I will need extension to deal with the shared cases, but since we're
not compiling libclang_rt.so, that's not yet applicable. Many other
problems will have to be fixed first in compiler-rt (such as removing
the 'arch' name from it and making it trully multi-arch, moving it to
the default lib directory, make both .a and .so variants, etc).

llvm-svn: 201307

10 years ago[sanitizer] findPath for deadlock detector
Kostya Serebryany [Thu, 13 Feb 2014 09:52:15 +0000 (09:52 +0000)]
[sanitizer] findPath for deadlock detector

llvm-svn: 201306

10 years agoAdd Cortex-A53 and Cortex-A57 cores to the AArch64 backend
Oliver Stannard [Thu, 13 Feb 2014 09:46:11 +0000 (09:46 +0000)]
Add Cortex-A53 and Cortex-A57 cores to the AArch64 backend

llvm-svn: 201305

10 years ago[asan] Avoid deadlock in CovDump.
Evgeniy Stepanov [Thu, 13 Feb 2014 08:50:36 +0000 (08:50 +0000)]
[asan] Avoid deadlock in CovDump.

llvm-svn: 201304

10 years ago[sanitizer] AArch64 sanitizer support; patch by Christophe Lyon and Yvan Roux
Kostya Serebryany [Thu, 13 Feb 2014 07:50:20 +0000 (07:50 +0000)]
[sanitizer] AArch64 sanitizer support; patch by Christophe Lyon and Yvan Roux

llvm-svn: 201303

10 years ago[sanitizer] more code for deadlock detector, nothing really works yet (except for...
Kostya Serebryany [Thu, 13 Feb 2014 07:44:51 +0000 (07:44 +0000)]
[sanitizer] more code for deadlock detector, nothing really works yet (except for small unit tests).

llvm-svn: 201302

10 years agoRemove unused method declaration.
Craig Topper [Thu, 13 Feb 2014 07:12:40 +0000 (07:12 +0000)]
Remove unused method declaration.

llvm-svn: 201301

10 years agoThe Platform base class now maintains a list of trap handlers
Jason Molenda [Thu, 13 Feb 2014 07:11:08 +0000 (07:11 +0000)]
The Platform base class now maintains a list of trap handlers
aka asynchronous signal handlers, which subclasses should fill
in as appropriate.  For most Unix user process environments,
the one entry in this list is _sigtramp.  For bare-board and
kernel environments, there will be different sets of trap
handlers.

The unwinder needs to know when a frame is a trap handler
because the rules it enforces for the frame "above" the
trap handler is different from most middle-of-the-stack frames.

<rdar://problem/15835846>

llvm-svn: 201300

10 years agoRemove filtering concept from X86 disassembler table generation. It's no longer neces...
Craig Topper [Thu, 13 Feb 2014 07:07:16 +0000 (07:07 +0000)]
Remove filtering concept from X86 disassembler table generation. It's no longer necessary.

llvm-svn: 201299

10 years ago[AArch64]Fix the problems that can't select mul/add/sub of v1i8/v1i16/v1i32 types.
Hao Liu [Thu, 13 Feb 2014 05:42:33 +0000 (05:42 +0000)]
[AArch64]Fix the problems that can't select mul/add/sub of v1i8/v1i16/v1i32 types.
As this problems are similar to shl/sra/srl, also add patterns for shift nodes.

llvm-svn: 201298

10 years ago[OPENMP] 'if' clause support (no CodeGen support)
Alexey Bataev [Thu, 13 Feb 2014 05:29:23 +0000 (05:29 +0000)]
[OPENMP] 'if' clause support (no CodeGen support)

llvm-svn: 201297

10 years ago[RegAlloc] Fix the assertion in the last chance recoloring to match the
Quentin Colombet [Thu, 13 Feb 2014 05:17:37 +0000 (05:17 +0000)]
[RegAlloc] Fix the assertion in the last chance recoloring to match the
condition at the call site.

llvm-svn: 201296

10 years agoCopy dll storage in copyAttributes.
Rafael Espindola [Thu, 13 Feb 2014 05:11:35 +0000 (05:11 +0000)]
Copy dll storage in copyAttributes.

llvm-svn: 201295

10 years agoThere is no std namespace for standards-based attributes. Removing the scope qualifie...
Aaron Ballman [Thu, 13 Feb 2014 04:31:04 +0000 (04:31 +0000)]
There is no std namespace for standards-based attributes. Removing the scope qualifier and updating the only affected test case.

llvm-svn: 201294

10 years agoUse simpler version of fs::create_directory.
Rafael Espindola [Thu, 13 Feb 2014 04:22:54 +0000 (04:22 +0000)]
Use simpler version of fs::create_directory.

llvm-svn: 201293

10 years agoChange the ABI CallFrameAddressIsValid methods for i386 and x86_64.
Jason Molenda [Thu, 13 Feb 2014 04:19:32 +0000 (04:19 +0000)]
Change the ABI CallFrameAddressIsValid methods for i386 and x86_64.
They were enforcing 16-byte alignment on stack frames for Darwin x86 programs.
But we've found that trap handlers typically don't have the stack pointer
aligned correctly when a trap happens and lldb wasn't backtracing all
the way through.  This method is only used as a safety guard to prevent
lldb's unwinder from using a bogus address as a stack frame - we'll still
enforce word-size alignment on stack frames so that should be fine.

Also rolled back akaylor's changes from August 2013 in r188952 which changed
the i386 ABI plugin to relax the CallFrameAddressIsValid offsets for non-Darwin
targets where only 4-byte alignment is enforced.  Now Darwin is the same as
those environments.

<rdar://problem/15982682>

llvm-svn: 201292

10 years ago[DAG] Fix the recognition of opaque constants in the SelectionDAGBuilder.
Juergen Ributzka [Thu, 13 Feb 2014 04:19:26 +0000 (04:19 +0000)]
[DAG] Fix the recognition of opaque constants in the SelectionDAGBuilder.

This fix checks the original LLVM IR node to identify opaque constants by
looking for the bitcast-constant pattern. Originally we looked at the generated
SDNode, but this might lead to incorrect results. The SDNode could have been
generated by an constant expression that was folded to a constant.

This fixes <rdar://problem/16050719>

llvm-svn: 201291

10 years agoUse simpler version of llvm::sys::fs::create_directories.
Rafael Espindola [Thu, 13 Feb 2014 04:08:44 +0000 (04:08 +0000)]
Use simpler version of llvm::sys::fs::create_directories.

llvm-svn: 201290