platform/upstream/llvm.git
11 years agoFix lldb to compile with top of tree LLVM/clang.
Greg Clayton [Fri, 16 Nov 2012 21:35:22 +0000 (21:35 +0000)]
Fix lldb to compile with top of tree LLVM/clang.

llvm-svn: 168204

11 years agoUse array_pod_sort instead of std::sort.
Andrew Trick [Fri, 16 Nov 2012 21:33:38 +0000 (21:33 +0000)]
Use array_pod_sort instead of std::sort.

llvm-svn: 168203

11 years agotypo
Andrew Trick [Fri, 16 Nov 2012 21:33:35 +0000 (21:33 +0000)]
typo

llvm-svn: 168202

11 years agoAdd myself as owner of XCore Backend.
Richard Osborne [Fri, 16 Nov 2012 21:26:36 +0000 (21:26 +0000)]
Add myself as owner of XCore Backend.

llvm-svn: 168201

11 years agoMake sure FABS on v2f32 and v4f32 is legal on ARM NEON
Anton Korobeynikov [Fri, 16 Nov 2012 21:15:20 +0000 (21:15 +0000)]
Make sure FABS on v2f32 and v4f32 is legal on ARM NEON
This fixes PR14359

llvm-svn: 168200

11 years agoFix handling of aliases to functions.
Richard Osborne [Fri, 16 Nov 2012 21:12:38 +0000 (21:12 +0000)]
Fix handling of aliases to functions.

An alias to a function should use pc relative addressing.

llvm-svn: 168199

11 years ago[NVPTX] Order global variables in def-use order before emiting them in the final...
Justin Holewinski [Fri, 16 Nov 2012 21:03:51 +0000 (21:03 +0000)]
[NVPTX] Order global variables in def-use order before emiting them in the final assembly

llvm-svn: 168198

11 years agoPreserve address space of forward-referenced global variables in the LL parser
Justin Holewinski [Fri, 16 Nov 2012 21:03:47 +0000 (21:03 +0000)]
Preserve address space of forward-referenced global variables in the LL parser

Before, the parser would assert on the following code:

@a2 = global i8 addrspace(1)* @a
@a = addrspace(1) global i8 0

because the type of @a was "i8*" instead of "i8 addrspace(1)*" when parsing
the initializer for @a2.

llvm-svn: 168197

11 years agoMake this easier to understand, as suggested by Chandler.
Duncan Sands [Fri, 16 Nov 2012 20:53:08 +0000 (20:53 +0000)]
Make this easier to understand, as suggested by Chandler.

llvm-svn: 168196

11 years agoAdded program header emission
Hemant Kulkarni [Fri, 16 Nov 2012 20:51:32 +0000 (20:51 +0000)]
Added program header emission

llvm-svn: 168195

11 years agoRemove conditions from 'else if' that were guaranteed by preceding 'if'.
Craig Topper [Fri, 16 Nov 2012 20:01:39 +0000 (20:01 +0000)]
Remove conditions from 'else if' that were guaranteed by preceding 'if'.

llvm-svn: 168191

11 years ago<rdar://problem/12712928>
Greg Clayton [Fri, 16 Nov 2012 20:00:00 +0000 (20:00 +0000)]
<rdar://problem/12712928>

Removed an assert that was for debug only.

llvm-svn: 168190

11 years agoReleaseNotes.html updates reflecting PPC64 Elf Linux efforts and progress.
Will Schmidt [Fri, 16 Nov 2012 19:46:35 +0000 (19:46 +0000)]
ReleaseNotes.html updates reflecting PPC64 Elf Linux efforts and progress.

llvm-svn: 168189

11 years agoInstructionSimplify should be able to simplify A+B==B+A to 'true'
Duncan Sands [Fri, 16 Nov 2012 19:41:26 +0000 (19:41 +0000)]
InstructionSimplify should be able to simplify A+B==B+A to 'true'
but wasn't due to the same logic bug that caused PR14361.

llvm-svn: 168186

11 years agoUsing const cast to alleviate a warning.
Joe Abbey [Fri, 16 Nov 2012 19:38:42 +0000 (19:38 +0000)]
Using const cast to alleviate a warning.

A PR is being filed to address some code issues here.

llvm-svn: 168185

11 years agoUpdate RecordingMemoryManager as per change to RuntimeDyld base class
Daniel Malea [Fri, 16 Nov 2012 19:17:44 +0000 (19:17 +0000)]
Update RecordingMemoryManager as per change to RuntimeDyld base class
made in upstream llvm (r168114)

llvm-svn: 168184

11 years agoFactor out the final FADD that's common to multiple code paths in the visitLog* funct...
Craig Topper [Fri, 16 Nov 2012 19:08:44 +0000 (19:08 +0000)]
Factor out the final FADD that's common to multiple code paths in the visitLog* functions.

llvm-svn: 168183

11 years agomove irrelevant attribution.
Chris Lattner [Fri, 16 Nov 2012 18:58:23 +0000 (18:58 +0000)]
move irrelevant attribution.

llvm-svn: 168182

11 years agoFix PR14361: wrong simplification of A+B==B+A. You may think that the old logic
Duncan Sands [Fri, 16 Nov 2012 18:55:49 +0000 (18:55 +0000)]
Fix PR14361: wrong simplification of A+B==B+A.  You may think that the old logic
replaced by this patch is equivalent to the new logic, but you'd be wrong, and
that's exactly where the bug was.  There's a similar bug in instsimplify which
manifests itself as instsimplify failing to simplify this, rather than doing it
wrong, see next commit.

llvm-svn: 168181

11 years agoAdding new tests to test lli's pseudo-remote feature (-remote-mcjit).
Andrew Kaylor [Fri, 16 Nov 2012 18:51:59 +0000 (18:51 +0000)]
Adding new tests to test lli's pseudo-remote feature (-remote-mcjit).

llvm-svn: 168180

11 years agoFinally add myself to the credits.
Craig Topper [Fri, 16 Nov 2012 18:44:36 +0000 (18:44 +0000)]
Finally add myself to the credits.

llvm-svn: 168178

11 years agoFix partial-match-bind-behavior with forEachDescendant() matchers.
Daniel Jasper [Fri, 16 Nov 2012 18:39:22 +0000 (18:39 +0000)]
Fix partial-match-bind-behavior with forEachDescendant() matchers.

The problem is that a partial match of an (explicit or implicit) allOf matcher
binds results, i.e.

recordDecl(decl().bind("x"), hasName("A"))

can very well bind a record that is not named "A". With this fix, the common
cases of stumbling over this bug are fixed by the BoundNodesMap overwriting the
results of a partial match. An error can still be created with a weird
combination of anyOf and allOf (see inactive test). We need to decide whether
this is worth fixing, as the fix will have performance impact.

Review: http://llvm-reviews.chandlerc.com/D124
llvm-svn: 168177

11 years agoSimplifyCFG: Don't assume non-null ScalarTargetTransformInfo.
Hans Wennborg [Fri, 16 Nov 2012 18:22:08 +0000 (18:22 +0000)]
SimplifyCFG: Don't assume non-null ScalarTargetTransformInfo.

Patch by Pekka Jääskeläinen!

llvm-svn: 168176

11 years ago[analyzer] SATestBuild.py: fix broken string concatenation
Jordan Rose [Fri, 16 Nov 2012 17:41:21 +0000 (17:41 +0000)]
[analyzer] SATestBuild.py: fix broken string concatenation

This has been broken for a while, but the branch was never being taken.
(We were trying to do 'str + floatVal'; now we do 'str % intVal' and use
the '%d' format.)

llvm-svn: 168174

11 years agoWork around a layering violation from Target to CodeGen.
Benjamin Kramer [Fri, 16 Nov 2012 17:32:33 +0000 (17:32 +0000)]
Work around a layering violation from Target to CodeGen.

Technically this is still a layering violation but it's header-only which makes
it less harmful. No functionality change.

llvm-svn: 168173

11 years agoMake libASTMatchers link its dependencies. libRewriteFrontend depends on libRewriteCore.
Benjamin Kramer [Fri, 16 Nov 2012 17:30:58 +0000 (17:30 +0000)]
Make libASTMatchers link its dependencies. libRewriteFrontend depends on libRewriteCore.

LLVM_USED_LIBS does nothing here.

llvm-svn: 168172

11 years agollvm/test/CodeGen/X86/hipe-cc*.ll: Add explicit -mcpu, or they don't expect to pass...
NAKAMURA Takumi [Fri, 16 Nov 2012 16:07:37 +0000 (16:07 +0000)]
llvm/test/CodeGen/X86/hipe-cc*.ll: Add explicit -mcpu, or they don't expect to pass on Atom.

llvm-svn: 168171

11 years agoubsan: fix broken test case by using brand new [[@LINE]] FileCheck feature
Alexey Samsonov [Fri, 16 Nov 2012 13:38:03 +0000 (13:38 +0000)]
ubsan: fix broken test case by using brand new [[@LINE]] FileCheck feature

llvm-svn: 168170

11 years agoUBSan: enable CMake build on Darwin. Fix two failing tests and disable the test which...
Alexey Samsonov [Fri, 16 Nov 2012 12:57:07 +0000 (12:57 +0000)]
UBSan: enable CMake build on Darwin. Fix two failing tests and disable the test which produces linker errors on Darwin.

llvm-svn: 168169

11 years agoUBSan: enable proper linking with UBsan runtime on Darwin. Turn on building ubsan...
Alexey Samsonov [Fri, 16 Nov 2012 12:53:14 +0000 (12:53 +0000)]
UBSan: enable proper linking with UBsan runtime on Darwin. Turn on building ubsan on OS X in 'make' build system. Patch by Jean-Daniel Dupas.

llvm-svn: 168168

11 years agoUBSan: fix support on Darwin in 'make' build system. Patch by Jean-Daniel Dupas.
Alexey Samsonov [Fri, 16 Nov 2012 12:51:23 +0000 (12:51 +0000)]
UBSan: fix support on Darwin in 'make' build system. Patch by Jean-Daniel Dupas.

llvm-svn: 168167

11 years agoAdd the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.
Duncan Sands [Fri, 16 Nov 2012 12:36:39 +0000 (12:36 +0000)]
Add the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.

llvm-svn: 168166

11 years agoUpdate credits file regarding SROA work... Also include my other primary
Chandler Carruth [Fri, 16 Nov 2012 11:45:08 +0000 (11:45 +0000)]
Update credits file regarding SROA work... Also include my other primary
email address for completeness.

llvm-svn: 168165

11 years agoAdd myself as the code owner for a bunch of stuff.
Chandler Carruth [Fri, 16 Nov 2012 11:43:01 +0000 (11:43 +0000)]
Add myself as the code owner for a bunch of stuff.

Notably, I'm reviewing this stuff already, and this makes it clear I'm
on the hook for it.

I'm relying on Eric Christopher and Michael Spencer to help with Support
when there are platform specific issues, but Chris wants a single point
of contact, and I'm happy with that.

llvm-svn: 168164

11 years agoasan: sync with gcc r193553
Dmitry Vyukov [Fri, 16 Nov 2012 11:26:05 +0000 (11:26 +0000)]
asan: sync with gcc r193553

llvm-svn: 168151

11 years ago[TSan] use explicit ctor for BlockingCall
Alexey Samsonov [Fri, 16 Nov 2012 11:21:07 +0000 (11:21 +0000)]
[TSan] use explicit ctor for BlockingCall

llvm-svn: 168150

11 years agoAdd MCJIT test case for running global constructors.
Amara Emerson [Fri, 16 Nov 2012 11:17:00 +0000 (11:17 +0000)]
Add MCJIT test case for running global constructors.

llvm-svn: 168149

11 years agoAdd R_ARM_TARGET1 relocation to MCJIT and ensure that the runtime dyld reads
Amara Emerson [Fri, 16 Nov 2012 11:11:59 +0000 (11:11 +0000)]
Add R_ARM_TARGET1 relocation to MCJIT and ensure that the runtime dyld reads
all symbols during object loading, not just global ones.

This fixes JIT execution of code using llvm.global_ctors with internal
linkage constructors.

llvm-svn: 168148

11 years agoConstant::IsThreadDependent(): Use dyn_cast<Constant> instead of cast
Hans Wennborg [Fri, 16 Nov 2012 10:33:25 +0000 (10:33 +0000)]
Constant::IsThreadDependent(): Use dyn_cast<Constant> instead of cast

It turns out that the operands of a Constant are not always themselves
Constant. For example, one of the operands of BlockAddress is
BasicBlock, which is not a Constant.

This should fix the dragonegg-x86_64-linux-gcc-4.6-test build which
broke in r168037.

llvm-svn: 168147

11 years ago[TSan] use llvm-symbolizer to run tsan tests
Alexey Samsonov [Fri, 16 Nov 2012 10:16:14 +0000 (10:16 +0000)]
[TSan] use llvm-symbolizer to run tsan tests

llvm-svn: 168146

11 years agoStore this Decl* as a Decl* instead of a uintptr_t. No functionality change.
Nick Lewycky [Fri, 16 Nov 2012 08:40:59 +0000 (08:40 +0000)]
Store this Decl* as a Decl* instead of a uintptr_t. No functionality change.

llvm-svn: 168145

11 years ago[DebugInfo] Generate address ranges for compile units even if .debug_aranges is prese...
Alexey Samsonov [Fri, 16 Nov 2012 08:36:25 +0000 (08:36 +0000)]
[DebugInfo] Generate address ranges for compile units even if .debug_aranges is present: it is often the case that .debug_aranges section contains ranges only for a small subset of compile units. Test cases will be added in separate commits.

llvm-svn: 168144

11 years agoFactor some common code to reduce compile size.
Craig Topper [Fri, 16 Nov 2012 07:48:23 +0000 (07:48 +0000)]
Factor some common code to reduce compile size.

llvm-svn: 168143

11 years agoLoopVectorize: Division reductions generate incorrect code. Remove the part of the...
Nadav Rotem [Fri, 16 Nov 2012 06:51:17 +0000 (06:51 +0000)]
LoopVectorize: Division reductions generate incorrect code. Remove the part of the code that deals with divs.
Thanks to Paul Redmond for catching this while reviewing the code.

llvm-svn: 168142

11 years agoUse roundps/pd for llvm.ceil, llvm.trunc, llvm.rint, and llvm.nearbyint of vector...
Craig Topper [Fri, 16 Nov 2012 06:37:56 +0000 (06:37 +0000)]
Use roundps/pd for llvm.ceil, llvm.trunc, llvm.rint, and llvm.nearbyint of vector types.

llvm-svn: 168141

11 years agoChange RegisterContextLLDB's unwind logging to report which stack frame
Jason Molenda [Fri, 16 Nov 2012 06:15:40 +0000 (06:15 +0000)]
Change RegisterContextLLDB's unwind logging to report which stack frame
finally was able to restore a register, instead of just reporting the
frames that couldn't supply the reg.

llvm-svn: 168139

11 years agoFix typo in a comment.
Craig Topper [Fri, 16 Nov 2012 06:10:48 +0000 (06:10 +0000)]
Fix typo in a comment.

llvm-svn: 168138

11 years agoclang/unittests: Fixup corresponding to Doug's r168136.
NAKAMURA Takumi [Fri, 16 Nov 2012 04:40:11 +0000 (04:40 +0000)]
clang/unittests: Fixup corresponding to Doug's r168136.

llvm-svn: 168137

11 years agoSince CreateTargetInfo is taking ownership of the target options, pass
Douglas Gregor [Fri, 16 Nov 2012 04:24:59 +0000 (04:24 +0000)]
Since CreateTargetInfo is taking ownership of the target options, pass
it as a pointer.

llvm-svn: 168136

11 years agoRemove unused diagnostics
Douglas Gregor [Fri, 16 Nov 2012 04:10:20 +0000 (04:10 +0000)]
Remove unused diagnostics

llvm-svn: 168135

11 years agoRevert r168132, "clang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now." I...
NAKAMURA Takumi [Fri, 16 Nov 2012 03:50:55 +0000 (03:50 +0000)]
Revert r168132, "clang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now." I missed Daniel's r168095 by my accident.

llvm-svn: 168134

11 years ago[libclang] When caching code-completion results, pass the CachedCompletionAllocator
Argyrios Kyrtzidis [Fri, 16 Nov 2012 03:34:57 +0000 (03:34 +0000)]
[libclang] When caching code-completion results, pass the CachedCompletionAllocator
to the CodeCompletionTUInfo that is going to be used to get the results.

Previously we would use ASTUnit's CodeCompletionTUInfo which has its own allocator
that will go away when we reparse. That could result in a use-after-free bug when
getting the parent context name from a CodeCompletionString.

Addresses rdar://12568377.

llvm-svn: 168133

11 years agoclang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now.
NAKAMURA Takumi [Fri, 16 Nov 2012 03:28:51 +0000 (03:28 +0000)]
clang/test/lit.cfg: Suppress the feature 'dev-fd-fs' for now.

None of my buildhost (centos6 x86-64 and cygwin) is passing. Investigating.

llvm-svn: 168132

11 years ago[mips] Fix delay slot filler so that instructions with register operand $1 are
Akira Hatanaka [Fri, 16 Nov 2012 02:39:34 +0000 (02:39 +0000)]
[mips] Fix delay slot filler so that instructions with register operand $1 are
allowed in branch delay slot.

llvm-svn: 168131

11 years agoCPP Output: Do not emit an enter file marker for the main file.
Daniel Dunbar [Fri, 16 Nov 2012 01:51:11 +0000 (01:51 +0000)]
CPP Output: Do not emit an enter file marker for the main file.

 - This diverges from gcc, and confuses tools (like dtrace) which track # line
   markers as a way to determine which content is in the context of the main
   file.

llvm-svn: 168128

11 years agoTake into account the zero sign bit for positive numbers when computing the bit
Richard Trieu [Fri, 16 Nov 2012 01:32:40 +0000 (01:32 +0000)]
Take into account the zero sign bit for positive numbers when computing the bit
width of an enum with negative values in IntRange.  Include a test for
-Wtautological-constant-out-of-range-compare where this had manifested.

llvm-svn: 168126

11 years agoFix PR14321, a crash when Clang is built with GCC 4.7 at -O1 or greater.
Matt Beaumont-Gay [Fri, 16 Nov 2012 01:14:52 +0000 (01:14 +0000)]
Fix PR14321, a crash when Clang is built with GCC 4.7 at -O1 or greater.

GCC 4.7 reuses stack slots fairly aggressively, which exposes more temporary
lifetime bugs.

No new test, this was caught by the existing CodeGenCXX/mangle-ms-templates.cpp.

llvm-svn: 168124

11 years agoA change in how we search for saved register values unintentionally
Jason Molenda [Fri, 16 Nov 2012 01:03:31 +0000 (01:03 +0000)]
A change in how we search for saved register values unintentionally
allowed volatile registers to be returned up the stack.  That leads
to unexpected/incorrect values provided to the user and we need to
avoid that.
<rdar://problem/12714247>

llvm-svn: 168123

11 years agoRemove trailing whitespace
Michael Ilseman [Fri, 16 Nov 2012 00:58:59 +0000 (00:58 +0000)]
Remove trailing whitespace

llvm-svn: 168121

11 years agoA step towards sorting out handling of triviality of special members in C++11.
Richard Smith [Fri, 16 Nov 2012 00:53:38 +0000 (00:53 +0000)]
A step towards sorting out handling of triviality of special members in C++11.

Separate out the notions of 'has a trivial special member' and 'has a
non-trivial special member', and use them appropriately. These are not
opposites of one another (there might be no special member, or in C++11 there
might be a trivial one and a non-trivial one). The CXXRecordDecl predicates
continue to produce incorrect results, but do so in fewer cases now, and
they document the cases where they might be wrong.

No functionality changes are intended here (they will come when the predicates
start producing the right answers...).

llvm-svn: 168119

11 years agoMention the lldb formatters in the clang wiki under debugging.
Argyrios Kyrtzidis [Fri, 16 Nov 2012 00:25:28 +0000 (00:25 +0000)]
Mention the lldb formatters in the clang wiki under debugging.

llvm-svn: 168118

11 years ago[ClangDataFormat.py] Add summary for QualType.
Argyrios Kyrtzidis [Fri, 16 Nov 2012 00:25:26 +0000 (00:25 +0000)]
[ClangDataFormat.py] Add summary for QualType.

llvm-svn: 168117

11 years agoInterface changes to allow RuntimeDyld memory managers to set memory permissions...
Andrew Kaylor [Thu, 15 Nov 2012 23:50:01 +0000 (23:50 +0000)]
Interface changes to allow RuntimeDyld memory managers to set memory permissions after an object has been loaded.

llvm-svn: 168114

11 years agoAdd some tests for the FileCheck utility.
Eli Bendersky [Thu, 15 Nov 2012 23:42:51 +0000 (23:42 +0000)]
Add some tests for the FileCheck utility.

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121112/156007.html

llvm-svn: 168113

11 years agoMake sure CodeGenTypes correctly reconverts function types. Fixes PR14355, a crash...
Eli Friedman [Thu, 15 Nov 2012 23:40:48 +0000 (23:40 +0000)]
Make sure CodeGenTypes correctly reconverts function types.  Fixes PR14355, a crash in IR generation.

llvm-svn: 168112

11 years agoAdded myself as owner of LLVM Buildbot.
Galina Kistanova [Thu, 15 Nov 2012 23:16:47 +0000 (23:16 +0000)]
Added myself as owner of LLVM Buildbot.

llvm-svn: 168111

11 years agoClarify.
Eric Christopher [Thu, 15 Nov 2012 22:57:22 +0000 (22:57 +0000)]
Clarify.

llvm-svn: 168110

11 years agoClaim ownership of everyone's favorite part of the backend.
Owen Anderson [Thu, 15 Nov 2012 22:56:42 +0000 (22:56 +0000)]
Claim ownership of everyone's favorite part of the backend.

llvm-svn: 168109

11 years agoPR9903: Recover from a member functon declared with the 'typedef' specifier by
Richard Smith [Thu, 15 Nov 2012 22:54:20 +0000 (22:54 +0000)]
PR9903: Recover from a member functon declared with the 'typedef' specifier by
dropping the specifier, just like we do for non-member functions and function
templates declared 'typedef'. Patch by Brian Brooks!

llvm-svn: 168108

11 years agoMark FP_ROUND for converting NEON v2f64 to v2f32 as expand. Add a missing
Eli Friedman [Thu, 15 Nov 2012 22:44:27 +0000 (22:44 +0000)]
Mark FP_ROUND for converting NEON v2f64 to v2f32 as expand. Add a missing
case to vector legalization so this actually works.

Patch by Pete Couperus.  Fixes PR12540.

llvm-svn: 168107

11 years agoDon't lock the thread list during ThreadList::ShouldStop. That does too
Jim Ingham [Thu, 15 Nov 2012 22:44:04 +0000 (22:44 +0000)]
Don't lock the thread list during ThreadList::ShouldStop.  That does too
much work for this to make sense.  Just copy the current thread list and
operate on that.  Prevents some deadlocks.

llvm-svn: 168106

11 years ago[analyzer] CmpRuns: move the clang_version info into the run (out of
Anna Zaks [Thu, 15 Nov 2012 22:42:44 +0000 (22:42 +0000)]
[analyzer] CmpRuns: move the clang_version info into the run (out of
report)

llvm-svn: 168105

11 years agoMore ownership, no one likes these things anyways.
Eric Christopher [Thu, 15 Nov 2012 22:41:56 +0000 (22:41 +0000)]
More ownership, no one likes these things anyways.

llvm-svn: 168104

11 years agoRemove trailing whitespace
Michael Ilseman [Thu, 15 Nov 2012 22:34:00 +0000 (22:34 +0000)]
Remove trailing whitespace

llvm-svn: 168103

11 years agoUpdate the code ownership.
Nadav Rotem [Thu, 15 Nov 2012 22:26:51 +0000 (22:26 +0000)]
Update the code ownership.

llvm-svn: 168102

11 years agoComment to XML conversion test: correct filename.
Dmitri Gribenko [Thu, 15 Nov 2012 22:21:42 +0000 (22:21 +0000)]
Comment to XML conversion test: correct filename.

llvm-svn: 168101

11 years ago[analyzer] SATestBuild.py: correctly add -j option for projects using make.
Jordan Rose [Thu, 15 Nov 2012 22:03:53 +0000 (22:03 +0000)]
[analyzer] SATestBuild.py: correctly add -j option for projects using make.

llvm-svn: 168099

11 years agoSplit annotate-comments.cpp into a fragile (that uses hardcoded line numbers)
Dmitri Gribenko [Thu, 15 Nov 2012 22:03:13 +0000 (22:03 +0000)]
Split annotate-comments.cpp into a fragile (that uses hardcoded line numbers)
and a non-fragile (that uses [[@LINE]]) parts.

llvm-svn: 168098

11 years agotests: Mark the /dev/fd test as requiring Darwin until I can test on other OSes.
Daniel Dunbar [Thu, 15 Nov 2012 21:31:13 +0000 (21:31 +0000)]
tests: Mark the /dev/fd test as requiring Darwin until I can test on other OSes.

llvm-svn: 168095

11 years agoFix typo.
Jyotsna Verma [Thu, 15 Nov 2012 21:21:01 +0000 (21:21 +0000)]
Fix typo.

llvm-svn: 168091

11 years agoautoconf: isl depends on gmp include files
Sebastian Pop [Thu, 15 Nov 2012 21:20:22 +0000 (21:20 +0000)]
autoconf: isl depends on gmp include files

When libgmp header files are not installed in the default /usr/include location,
configure used to fail to find the gmp headers when testing for isl/ast.h.  This
patch adds the gmp include path to the compiler flags before testing for ISL.

llvm-svn: 168090

11 years ago[mips] Add predicate HasFPIdx for floating-point indexed load instruction
Akira Hatanaka [Thu, 15 Nov 2012 21:17:13 +0000 (21:17 +0000)]
[mips] Add predicate HasFPIdx for floating-point indexed load instruction
support and use it in place of HasMips32r2Or64.

llvm-svn: 168089

11 years agoAdd description of how to build docs
Joel Jones [Thu, 15 Nov 2012 21:15:08 +0000 (21:15 +0000)]
Add description of how to build docs

llvm-svn: 168088

11 years ago[utils/ClangDataFormat.py] For invalid source locations just return
Argyrios Kyrtzidis [Thu, 15 Nov 2012 20:59:00 +0000 (20:59 +0000)]
[utils/ClangDataFormat.py] For invalid source locations just return
"<invalid loc>" for summary.

llvm-svn: 168087

11 years agoPowerPC: Lowering floor intrinsic for Altivec
Adhemerval Zanella [Thu, 15 Nov 2012 20:56:03 +0000 (20:56 +0000)]
PowerPC: Lowering floor intrinsic for Altivec

This patch lowers the llvm.floor, llvm.ceil, llvm.trunc, and
llvm.nearbyint to Altivec instruction when using 4 single-precision
float vectors.

llvm-svn: 168086

11 years agotests: Check that we can output to /dev/fd filesystem.
Daniel Dunbar [Thu, 15 Nov 2012 20:24:58 +0000 (20:24 +0000)]
tests: Check that we can output to /dev/fd filesystem.

 - An LLVM unique_file() bug could cause us to infinite loop on the later test
   case.

llvm-svn: 168082

11 years agoPathV2: Fix a possible infinite loop.
Daniel Dunbar [Thu, 15 Nov 2012 20:24:52 +0000 (20:24 +0000)]
PathV2: Fix a possible infinite loop.

 - The code could infinite loop trying to create unique files, if the directory
   containing the unique file exists, but open() calls on non-existent files in
   the path return ENOENT. This is true on the /dev/fd filesystem, for example.

 - Will add a clang side test case for this.

llvm-svn: 168081

11 years ago[analyzer] Fix a use-after-free introduced in r168019.
Jordan Rose [Thu, 15 Nov 2012 20:10:05 +0000 (20:10 +0000)]
[analyzer] Fix a use-after-free introduced in r168019.

In code like this:

void foo() {
     bar();
     baz();
}

...the location for the call to 'bar()' was being used as a backup location
for the call to 'baz()'. This is fine unless the call to 'bar()' is deemed
uninteresting and that part of the path deleted.

(This looks like a logic error as well, but in practice the only way 'baz()'
could have an invalid location is if the entire body of 'foo()' is
synthesized, meaning the call to 'bar()' will be using the location of the
call to 'foo()' anyway. Nevertheless, the new version better matches the
intent of the code.)

Found by Matt Beaumont-Gay using ASan. Thanks, Matt!

llvm-svn: 168080

11 years agotests: Add a test for reading from named pipes.
Daniel Dunbar [Thu, 15 Nov 2012 20:06:10 +0000 (20:06 +0000)]
tests: Add a test for reading from named pipes.

 - Realized I could use the /dev/fd filesystem to make a simple portable test.

llvm-svn: 168079

11 years agoAdd assertions in MipsLongBranch which check the size of basic blocks.
Akira Hatanaka [Thu, 15 Nov 2012 20:05:11 +0000 (20:05 +0000)]
Add assertions in MipsLongBranch which check the size of basic blocks.

llvm-svn: 168078

11 years agoIf an excluded header does not exist, just ignore it
Douglas Gregor [Thu, 15 Nov 2012 19:47:16 +0000 (19:47 +0000)]
If an excluded header does not exist, just ignore it

llvm-svn: 168077

11 years agoReturn 0 instead of false.
Jakub Staszak [Thu, 15 Nov 2012 19:40:29 +0000 (19:40 +0000)]
Return 0 instead of false.

llvm-svn: 168076

11 years ago<rdar://problem/12125010>
Greg Clayton [Thu, 15 Nov 2012 19:37:18 +0000 (19:37 +0000)]
<rdar://problem/12125010>

Handle universal BSD archives correctly when parsing DWARF in .o files with debug map.

llvm-svn: 168075

11 years agoUse std::stable_sort instead of std::sort when sorting stack slots
Ulrich Weigand [Thu, 15 Nov 2012 19:33:30 +0000 (19:33 +0000)]
Use std::stable_sort instead of std::sort when sorting stack slots
to guarantee deterministic code generation.

llvm-svn: 168074

11 years agoClarify my code ownership
Evan Cheng [Thu, 15 Nov 2012 19:31:48 +0000 (19:31 +0000)]
Clarify my code ownership

llvm-svn: 168073

11 years agoAdd myself as owner of VLIW Instruction Scheduling and Packetization.
Sergei Larin [Thu, 15 Nov 2012 19:24:19 +0000 (19:24 +0000)]
Add myself as owner of VLIW Instruction Scheduling and Packetization.

llvm-svn: 168072

11 years agoExplain how to use "expr -u" as the lldb equivalent of "set unwind-on-signal 0; print".
Jim Ingham [Thu, 15 Nov 2012 19:13:33 +0000 (19:13 +0000)]
Explain how to use "expr -u" as the lldb equivalent of "set unwind-on-signal 0; print".

llvm-svn: 168071

11 years ago[analyzer] Report leaks at the closing brace of a function body.
Jordan Rose [Thu, 15 Nov 2012 19:11:43 +0000 (19:11 +0000)]
[analyzer] Report leaks at the closing brace of a function body.

This fixes a few cases where we'd emit path notes like this:

  +---+
 1|   v
  p = malloc(len);
  ^   |2
  +---+

In general this should make path notes more consistent and more correct,
especially in cases where the leak happens on the false branch of an if
that jumps directly to the end of the function. There are a couple places
where the leak is reported farther away from the cause; these are usually
cases where there are several levels of nested braces before the end of
the function. This still matches our current behavior for when there /is/
a statement after all the braces, though.

llvm-svn: 168070

11 years ago[analyzer] StreamChecker: Remove now-unnecessary check::EndPath callback.
Jordan Rose [Thu, 15 Nov 2012 19:11:38 +0000 (19:11 +0000)]
[analyzer] StreamChecker: Remove now-unnecessary check::EndPath callback.

Also, don't bother to stop tracking symbols in the return value, either.
They are now properly considered live during checkDeadSymbols.

llvm-svn: 168069

11 years ago[analyzer] MacOSKeychainAPIChecker: Remove now-unnecessary check::EndPath.
Jordan Rose [Thu, 15 Nov 2012 19:11:35 +0000 (19:11 +0000)]
[analyzer] MacOSKeychainAPIChecker: Remove now-unnecessary check::EndPath.

Also, don't bother to stop tracking symbols in the return value, either.
They are now properly considered live during checkDeadSymbols.

llvm-svn: 168068