platform/upstream/llvm.git
11 years agoChange TargetLowering::getRepRegClassFor to take an MVT, instead of
Patrik Hagglund [Thu, 13 Dec 2012 18:45:35 +0000 (18:45 +0000)]
Change TargetLowering::getRepRegClassFor to take an MVT, instead of
EVT.

Accordingly, change RegDefIter to contain MVTs instead of EVTs.

llvm-svn: 170140

11 years ago[analyzer] Fix doc error (wrong param name) in ObjCSuperCallChecker.
Jordan Rose [Thu, 13 Dec 2012 18:26:05 +0000 (18:26 +0000)]
[analyzer] Fix doc error (wrong param name) in ObjCSuperCallChecker.

Thanks for the -Wdocumentation catch, Dmitri!

llvm-svn: 170139

11 years agoisl: detect vector parallelism
Sebastian Pop [Thu, 13 Dec 2012 16:52:41 +0000 (16:52 +0000)]
isl: detect vector parallelism

llvm-svn: 170138

11 years agoUpdate CMake build corresponding to r170135.
NAKAMURA Takumi [Thu, 13 Dec 2012 16:24:59 +0000 (16:24 +0000)]
Update CMake build corresponding to r170135.

Thanks to Saleem Abdulrasool, aka compnerd!

llvm-svn: 170136

11 years agoDont use/link ARCMT, StaticAnalyzer and Rewriter to clang when the user
Roman Divacky [Thu, 13 Dec 2012 16:09:42 +0000 (16:09 +0000)]
Dont use/link ARCMT, StaticAnalyzer and Rewriter to clang when the user
specifies not to. Dont build ASTMatchers with Rewriter disabled and
StaticAnalyzer when it's disabled.

Without all those three, the clang binary shrinks (x86_64) from ~36MB
to ~32MB (unstripped).

llvm-svn: 170135

11 years agoAdd options to disable building of ARCMT, Rewriter and Static Analyzer
Roman Divacky [Thu, 13 Dec 2012 16:07:19 +0000 (16:07 +0000)]
Add options to disable building of ARCMT, Rewriter and Static Analyzer
in clang. The default remains to build those.

llvm-svn: 170134

11 years agoDocumentation: add AutomaticReferenceCounting.rst to the toctree
Dmitri Gribenko [Thu, 13 Dec 2012 16:06:00 +0000 (16:06 +0000)]
Documentation: add AutomaticReferenceCounting.rst to the toctree

llvm-svn: 170133

11 years agoDocumentation: convert AutomaticReferenceCounting.html to reST
Dmitri Gribenko [Thu, 13 Dec 2012 16:04:37 +0000 (16:04 +0000)]
Documentation: convert AutomaticReferenceCounting.html to reST

Patch by Anastasi Voitova with with small fixes by me.

llvm-svn: 170132

11 years agotsan: fix compilation with -pedantic
Dmitry Vyukov [Thu, 13 Dec 2012 15:26:04 +0000 (15:26 +0000)]
tsan: fix compilation with -pedantic

llvm-svn: 170131

11 years agoFix spelling
Joel Jones [Thu, 13 Dec 2012 15:25:07 +0000 (15:25 +0000)]
Fix spelling

llvm-svn: 170130

11 years agoJITEventListener.h: Use llvm-config.h instead of config.h.
NAKAMURA Takumi [Thu, 13 Dec 2012 15:03:38 +0000 (15:03 +0000)]
JITEventListener.h: Use llvm-config.h instead of config.h.

llvm-svn: 170129

11 years agoRevert r170020, "Simplify negated bit test", for now.
NAKAMURA Takumi [Thu, 13 Dec 2012 14:28:16 +0000 (14:28 +0000)]
Revert r170020, "Simplify negated bit test", for now.

This assumes (1 << n) is always not zero. Consider n is greater than word size.
Although I know it is undefined, this transforms undefined behavior hidden.

This led clang unexpected behavior with some failures. I will investigate to fix undefined shl in clang.

llvm-svn: 170128

11 years agoRename StmtDumper to ASTDumper.
Alexander Kornienko [Thu, 13 Dec 2012 13:59:55 +0000 (13:59 +0000)]
Rename StmtDumper to ASTDumper.
Patch contributed by Philip Craig!

llvm-svn: 170127

11 years agoAdd a dummy documentation file to unbreak 'make install'. We need to find how
Dmitri Gribenko [Thu, 13 Dec 2012 13:37:35 +0000 (13:37 +0000)]
Add a dummy documentation file to unbreak 'make install'.  We need to find how
to package reST-formatted documentation.

llvm-svn: 170126

11 years agoRemove little endian specification from SPIR data layout - SPIR doesn't define endian...
Guy Benyei [Thu, 13 Dec 2012 13:22:48 +0000 (13:22 +0000)]
Remove little endian specification from SPIR data layout - SPIR doesn't define endiannes in the data layout.

llvm-svn: 170125

11 years ago[asan] pop the internal stack frames in SlowUnwindStack, extend the test to check...
Kostya Serebryany [Thu, 13 Dec 2012 12:31:55 +0000 (12:31 +0000)]
[asan] pop the internal stack frames in SlowUnwindStack, extend the test to check this

llvm-svn: 170124

11 years ago[Sanitizer] disable lint check for line length in ASan output tests
Alexey Samsonov [Thu, 13 Dec 2012 12:09:47 +0000 (12:09 +0000)]
[Sanitizer] disable lint check for line length in ASan output tests

llvm-svn: 170123

11 years ago[asan] extend overflow-in-qsort.cc to check both unwind kinds. One more test for...
Kostya Serebryany [Thu, 13 Dec 2012 11:47:49 +0000 (11:47 +0000)]
[asan] extend overflow-in-qsort.cc to check both unwind kinds. One more test for SlowUnwind. Move both to Linux dir (no slow unwind on Mac)

llvm-svn: 170122

11 years ago[ASan] Allow leading underscore in function name to please output tests on Mac
Alexey Samsonov [Thu, 13 Dec 2012 11:11:28 +0000 (11:11 +0000)]
[ASan] Allow leading underscore in function name to please output tests on Mac

llvm-svn: 170121

11 years ago[ASan] don't print memory stats on CheckFailed
Alexey Samsonov [Thu, 13 Dec 2012 11:09:26 +0000 (11:09 +0000)]
[ASan] don't print memory stats on CheckFailed

llvm-svn: 170120

11 years ago[asan] fix win build
Kostya Serebryany [Thu, 13 Dec 2012 10:03:50 +0000 (10:03 +0000)]
[asan] fix win build

llvm-svn: 170119

11 years ago[asan] fix mac build
Kostya Serebryany [Thu, 13 Dec 2012 10:01:20 +0000 (10:01 +0000)]
[asan] fix mac build

llvm-svn: 170118

11 years ago[asan] add two asan flags: fast_unwind_on_fatal and fast_unwind_on_malloc to allow...
Kostya Serebryany [Thu, 13 Dec 2012 09:34:23 +0000 (09:34 +0000)]
[asan] add two asan flags: fast_unwind_on_fatal and fast_unwind_on_malloc to allow using the slow CFI-based unwinder

llvm-svn: 170117

11 years agotsan: completely disable deadlock detector for Go
Dmitry Vyukov [Thu, 13 Dec 2012 09:22:11 +0000 (09:22 +0000)]
tsan: completely disable deadlock detector for Go
seems to cause some weird stack overflow

llvm-svn: 170116

11 years ago[Sanitizer] Add new header - sanitizer_platform_interceptors.h, which should define...
Alexey Samsonov [Thu, 13 Dec 2012 08:50:16 +0000 (08:50 +0000)]
[Sanitizer] Add new header - sanitizer_platform_interceptors.h, which should define whether or not given function should be intercepted on a given platform.

llvm-svn: 170115

11 years ago[ASan] one more macro for 'read' interception
Alexey Samsonov [Thu, 13 Dec 2012 08:36:13 +0000 (08:36 +0000)]
[ASan] one more macro for 'read' interception

llvm-svn: 170114

11 years agotsan: support MapThreadTrace() on all platforms
Dmitry Vyukov [Thu, 13 Dec 2012 08:14:02 +0000 (08:14 +0000)]
tsan: support MapThreadTrace() on all platforms

llvm-svn: 170113

11 years ago[ASan] more macro for conditional interception of pread functions
Alexey Samsonov [Thu, 13 Dec 2012 08:10:23 +0000 (08:10 +0000)]
[ASan] more macro for conditional interception of pread functions

llvm-svn: 170112

11 years ago[asan] add asan/lit_tests/overflow-in-qsort.cc (not fully working yet)
Kostya Serebryany [Thu, 13 Dec 2012 08:05:03 +0000 (08:05 +0000)]
[asan] add asan/lit_tests/overflow-in-qsort.cc (not fully working yet)

llvm-svn: 170111

11 years agoPoint a hyperlink back to where it was before it got reStructured.
Richard Smith [Thu, 13 Dec 2012 07:29:23 +0000 (07:29 +0000)]
Point a hyperlink back to where it was before it got reStructured.

llvm-svn: 170110

11 years agoubsan unit tests for -fsanitize=bool and -fsanitize=enum.
Richard Smith [Thu, 13 Dec 2012 07:12:20 +0000 (07:12 +0000)]
ubsan unit tests for -fsanitize=bool and -fsanitize=enum.

llvm-svn: 170109

11 years agoubsan: Add -fsanitize=bool and -fsanitize=enum, which check for loads of
Richard Smith [Thu, 13 Dec 2012 07:11:50 +0000 (07:11 +0000)]
ubsan: Add -fsanitize=bool and -fsanitize=enum, which check for loads of
bit-patterns which are not valid values for enumerated or boolean types.
These checks are the ubsan analogue of !range metadata.

llvm-svn: 170108

11 years agoubsan: Add -fsanitize=bool and -fsanitize=enum, which check for loads of
Richard Smith [Thu, 13 Dec 2012 07:00:14 +0000 (07:00 +0000)]
ubsan: Add -fsanitize=bool and -fsanitize=enum, which check for loads of
bit-patterns which are not valid values for enumerated or boolean types.
These checks are the ubsan analogue of !range metadata.

llvm-svn: 170107

11 years agoRevert "Restore the PHI optimization I accidently removed" temporarily since
Eric Christopher [Thu, 13 Dec 2012 06:48:05 +0000 (06:48 +0000)]
Revert "Restore the PHI optimization I accidently removed" temporarily since
it seems to be breaking self-host for a few people and is PR14592.

This reverts commit r170024.

llvm-svn: 170106

11 years agoRevert "Add a funciton to get the segment name of a section."
Eric Christopher [Thu, 13 Dec 2012 06:36:18 +0000 (06:36 +0000)]
Revert "Add a funciton to get the segment name of a section."

This reverts commit r170095 since it appears to be breaking the bots.

llvm-svn: 170105

11 years agoChange TargetLowering::getRegClassFor to take an MVT, instead of EVT.
Patrik Hagglund [Thu, 13 Dec 2012 06:34:11 +0000 (06:34 +0000)]
Change TargetLowering::getRegClassFor to take an MVT, instead of EVT.

Accordingly, add helper funtions getSimpleValueType (in parallel to
getValueType) in SDValue, SDNode, and TargetLowering.

This is the first, in a series of patches.

This is the second attempt. In the first attempt (r169837), a few
getSimpleVT() were hoisted too far, detected by bootstrap failures.

llvm-svn: 170104

11 years ago[sanitizer] replace size_t with SIZE_T in interceptors (same for ssize_t, off_t and...
Kostya Serebryany [Thu, 13 Dec 2012 06:31:40 +0000 (06:31 +0000)]
[sanitizer] replace size_t with SIZE_T in interceptors (same for ssize_t, off_t and off64_t). This is done to avoid confusion and to make the code work with compilers that define size_t w/o any includes (MSVC)

llvm-svn: 170103

11 years agoisl: Detect openmp parallelism
Tobias Grosser [Thu, 13 Dec 2012 06:24:06 +0000 (06:24 +0000)]
isl: Detect openmp parallelism

Based on code written by Riyadh Baghdadi.

llvm-svn: 170102

11 years ago[asan] fix windows build
Kostya Serebryany [Thu, 13 Dec 2012 05:51:02 +0000 (05:51 +0000)]
[asan] fix windows build

llvm-svn: 170101

11 years agoSimplify. No functionality change.
Richard Smith [Thu, 13 Dec 2012 05:41:48 +0000 (05:41 +0000)]
Simplify. No functionality change.

llvm-svn: 170100

11 years ago[sanitizer] introduce MmapFixedOrDie and use it in SizeClassAllocator64
Kostya Serebryany [Thu, 13 Dec 2012 05:36:00 +0000 (05:36 +0000)]
[sanitizer] introduce MmapFixedOrDie and use it in SizeClassAllocator64

llvm-svn: 170099

11 years ago[asan] fix the Android build (pread64 interceptor again)
Kostya Serebryany [Thu, 13 Dec 2012 05:27:08 +0000 (05:27 +0000)]
[asan] fix the Android build (pread64 interceptor again)

llvm-svn: 170098

11 years ago[sanitizer] change the way SizeClassAllocator64 allocated memory from the system...
Kostya Serebryany [Thu, 13 Dec 2012 05:05:11 +0000 (05:05 +0000)]
[sanitizer] change the way SizeClassAllocator64 allocated memory from the system: instead of one huge mmap(NORESERVE) it does one huge mprotect and then does small on-demand mmaps. This allows us to call OnMap callbacks which are required to poison newly allocated memory in asan

llvm-svn: 170097

11 years agoInitial support for FreeBSD on ARM.
Rafael Espindola [Thu, 13 Dec 2012 04:17:14 +0000 (04:17 +0000)]
Initial support for FreeBSD on ARM.
Patch by Andrew Turner.

llvm-svn: 170096

11 years agoAdd a funciton to get the segment name of a section.
Rafael Espindola [Thu, 13 Dec 2012 04:07:18 +0000 (04:07 +0000)]
Add a funciton to get the segment name of a section.

On MachO, sections also have segment names. When a tool looking at a .o file
prints a segment name, this is what they mean. In reality, a .o has only one,
anonymous, segment.

This patch adds a MachO only function to fetch that segment name. I named it
getSectionFinalSegmentName since the main use for the name seems to be informing
the linker with segment this section should go to.

The patch also changes MachOObjectFile::getSectionName to return just the
section name instead of computing SegmentName,SectionName.

llvm-svn: 170095

11 years agoMissed these calls from the previous rename somehow.
Rafael Espindola [Thu, 13 Dec 2012 03:42:31 +0000 (03:42 +0000)]
Missed these calls from the previous rename somehow.

llvm-svn: 170094

11 years agoRename isPowerOfTwo to isKnownToBeAPowerOfTwo.
Rafael Espindola [Thu, 13 Dec 2012 03:37:24 +0000 (03:37 +0000)]
Rename isPowerOfTwo to isKnownToBeAPowerOfTwo.

In a previous thread it was pointed out that isPowerOfTwo is not a very precise
name since it can return false for powers of two if it is unable to show that
they are powers of two.

llvm-svn: 170093

11 years ago[mips] Do not copy GOT address to register $gp if the function being called has
Akira Hatanaka [Thu, 13 Dec 2012 03:17:29 +0000 (03:17 +0000)]
[mips] Do not copy GOT address to register $gp if the function being called has
internal linkage.

llvm-svn: 170092

11 years agoPattern matching code for intrinsics.
Michael Ilseman [Thu, 13 Dec 2012 03:13:36 +0000 (03:13 +0000)]
Pattern matching code for intrinsics.

Provides m_Argument that allows matching against a CallSite's specified argument. Provides m_Intrinsic pattern that can be templatized over the intrinsic id and bind/match arguments similarly to other pattern matchers. Implementations provided for 0 to 4 arguments, though it's very simple to extend for more. Also provides example template specialization for bswap (m_BSwap) and example of code cleanup for its use.

llvm-svn: 170091

11 years agoRemove extraneous debugging code.
Eric Christopher [Thu, 13 Dec 2012 03:07:28 +0000 (03:07 +0000)]
Remove extraneous debugging code.

llvm-svn: 170090

11 years ago[analyzer] Generalize ObjCMissingSuperCallChecker.
Jordan Rose [Thu, 13 Dec 2012 03:06:45 +0000 (03:06 +0000)]
[analyzer] Generalize ObjCMissingSuperCallChecker.

We now check a few methods for UIResponder, NSResponder, and NSDocument.

Patch by Julian Mayer!

llvm-svn: 170089

11 years agoUse default label name for a section in emitting abbreviation
Eric Christopher [Thu, 13 Dec 2012 03:00:38 +0000 (03:00 +0000)]
Use default label name for a section in emitting abbreviation
section to help prep some code to be split about.

llvm-svn: 170088

11 years agoAdd a way of printing out an arbitrary label name for a section
Eric Christopher [Thu, 13 Dec 2012 03:00:35 +0000 (03:00 +0000)]
Add a way of printing out an arbitrary label name for a section
given the section.

llvm-svn: 170087

11 years agom_CombineOr and m_CombineAnd pattern combinators
Michael Ilseman [Thu, 13 Dec 2012 02:55:53 +0000 (02:55 +0000)]
m_CombineOr and m_CombineAnd pattern combinators

llvm-svn: 170086

11 years agoDefine getHostCPUFeatures for ARM Linux platform
Hao Liu [Thu, 13 Dec 2012 02:40:20 +0000 (02:40 +0000)]
Define getHostCPUFeatures for ARM Linux platform

llvm-svn: 170085

11 years ago[mips] Delete all floating point instruction classes that are no longer used.
Akira Hatanaka [Thu, 13 Dec 2012 02:05:02 +0000 (02:05 +0000)]
[mips] Delete all floating point instruction classes that are no longer used.

No functionality change.

llvm-svn: 170084

11 years agoMake this Lit config file a bit slimmer
Eli Bendersky [Thu, 13 Dec 2012 02:03:46 +0000 (02:03 +0000)]
Make this Lit config file a bit slimmer

llvm-svn: 170083

11 years ago<rdar://problem/12831670>
Jason Molenda [Thu, 13 Dec 2012 01:54:18 +0000 (01:54 +0000)]
<rdar://problem/12831670>
For iOS native lldb, don't initialize the ModuleList notifier
callback.  See the added comment for details on how this is a problem
in that environment.  We'll need to restructure how the ModuleDidLoad
notification is called vrs. when the DynamicLoader pluging has had
a chance to set the Sectino load addresses.

llvm-svn: 170082

11 years agoUsing CanQualType::getAs<ArrayType> is unsafe; fix the code currently using it,
Eli Friedman [Thu, 13 Dec 2012 01:43:21 +0000 (01:43 +0000)]
Using CanQualType::getAs<ArrayType> is unsafe; fix the code currently using it,
and make sure additional uses don't get introduced.  <rdar://problem/12858424>.

llvm-svn: 170081

11 years ago[mips] Modify definitions of floating point conditional move instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:41:15 +0000 (01:41 +0000)]
[mips] Modify definitions of floating point conditional move instructions.

No functionality change.

llvm-svn: 170080

11 years agoMade "target modules add" flush the process to
Sean Callanan [Thu, 13 Dec 2012 01:39:39 +0000 (01:39 +0000)]
Made "target modules add" flush the process to
reset stack frames etc.

<rdar://problem/12842024>

llvm-svn: 170079

11 years agoFix a bug in DAGCombiner::MatchBSwapHWord. Make sure the node has operands before...
Evan Cheng [Thu, 13 Dec 2012 01:34:32 +0000 (01:34 +0000)]
Fix a bug in DAGCombiner::MatchBSwapHWord. Make sure the node has operands before referencing them. rdar://12868039

llvm-svn: 170078

11 years ago[mips] Modify definitions of floating point comparison instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:34:09 +0000 (01:34 +0000)]
[mips] Modify definitions of floating point comparison instructions.

No functionality change.

llvm-svn: 170077

11 years ago[mips] Modify definitions of floating point branch instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:32:36 +0000 (01:32 +0000)]
[mips] Modify definitions of floating point branch instructions.

No functionality change.

llvm-svn: 170076

11 years ago[mips] Modify definitions of floating point indexed load and store instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:30:49 +0000 (01:30 +0000)]
[mips] Modify definitions of floating point indexed load and store instructions.

No functionality change.

llvm-svn: 170075

11 years agoMarking test_lldb_iter_frame in TestLLDBIterator.py as expectedFailureLinux (due...
Andrew Kaylor [Thu, 13 Dec 2012 01:28:44 +0000 (01:28 +0000)]
Marking test_lldb_iter_frame in TestLLDBIterator.py as expectedFailureLinux (due to lack of multi-threaded debugging support).

llvm-svn: 170074

11 years ago[mips] Modify definitions of floating point multiply-add/sub instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:27:48 +0000 (01:27 +0000)]
[mips] Modify definitions of floating point multiply-add/sub instructions.

No functionality change.

llvm-svn: 170073

11 years ago[mips] Modify definitions of floating point load and store instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:24:00 +0000 (01:24 +0000)]
[mips] Modify definitions of floating point load and store instructions.

No functionality change.

llvm-svn: 170072

11 years ago[mips] Modify definitions of move from/to coprocessor instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:16:49 +0000 (01:16 +0000)]
[mips] Modify definitions of move from/to coprocessor instructions.

No functionality change.

llvm-svn: 170071

11 years ago[mips] Modify definitions of two register operand floating point instructions.
Akira Hatanaka [Thu, 13 Dec 2012 01:14:07 +0000 (01:14 +0000)]
[mips] Modify definitions of two register operand floating point instructions.

No functionality change.

llvm-svn: 170069

11 years agoRemove insufficient linkedit address check; the problem
Jason Molenda [Thu, 13 Dec 2012 01:13:00 +0000 (01:13 +0000)]
Remove insufficient linkedit address check; the problem
is deeper than that and avoiding the crash in this
one part of code won't solve anything.  I know where
the real problem is now.

llvm-svn: 170068

11 years agodocs: More reST conversion.
Sean Silva [Thu, 13 Dec 2012 01:10:46 +0000 (01:10 +0000)]
docs: More reST conversion.

Sorry for the large commit, but it is much faster to convert in batches.

llvm-svn: 170067

11 years ago[mips] Modify definitions of three register operand floating point instructions
Akira Hatanaka [Thu, 13 Dec 2012 01:07:37 +0000 (01:07 +0000)]
[mips] Modify definitions of three register operand floating point instructions
and separate encoding information from the rest.

llvm-svn: 170066

11 years agoTake into account minimize size attribute in the inliner.
Quentin Colombet [Thu, 13 Dec 2012 01:05:25 +0000 (01:05 +0000)]
Take into account minimize size attribute in the inliner.

Better controls the inlining of functions when the caller function has MinSize attribute.
Basically, when the caller function has this attribute, we do not "force" the inlining
of callee functions carrying the InlineHint attribute (i.e., functions defined with
inline keyword)

llvm-svn: 170065

11 years agoAvoid setIsInsideBundle in Target/R600.
Jakob Stoklund Olesen [Thu, 13 Dec 2012 00:59:38 +0000 (00:59 +0000)]
Avoid setIsInsideBundle in Target/R600.

This function is going to be removed.

llvm-svn: 170064

11 years agoExpress prepend and append in terms of a more generic insert().
Jakob Stoklund Olesen [Thu, 13 Dec 2012 00:59:36 +0000 (00:59 +0000)]
Express prepend and append in terms of a more generic insert().

Also add an MIBundleBuilder constructor that takes an existing bundle.
Together these functions make it possible to add instructions to
existing bundles.

llvm-svn: 170063

11 years agoUpdated CREDITS.TXT
Howard Hinnant [Thu, 13 Dec 2012 00:51:59 +0000 (00:51 +0000)]
Updated CREDITS.TXT

llvm-svn: 170062

11 years ago[mips] Move classes that do not belong in MipsInstrFormats.td into
Akira Hatanaka [Thu, 13 Dec 2012 00:49:23 +0000 (00:49 +0000)]
[mips] Move classes that do not belong in MipsInstrFormats.td into
MipsInstrFPU.td.

llvm-svn: 170061

11 years ago[mips] Set isCommutable flag in a more explicit way.
Akira Hatanaka [Thu, 13 Dec 2012 00:46:23 +0000 (00:46 +0000)]
[mips] Set isCommutable flag in a more explicit way.

llvm-svn: 170060

11 years ago[analyzer] Fix a self-init checker false positive.
Anna Zaks [Thu, 13 Dec 2012 00:42:19 +0000 (00:42 +0000)]
[analyzer] Fix a self-init checker false positive.

This is a Band-Aid fix to a false positive, where we complain about not
initializing self to [super init], where self is not coming from the
init method, but is coming from the caller to init.

The proper solution would be to associate the self and it's state with
the enclosing init.

llvm-svn: 170059

11 years agoobjc: DOn't complain if a (SEL) expression is typecast
Fariborz Jahanian [Thu, 13 Dec 2012 00:42:06 +0000 (00:42 +0000)]
objc: DOn't complain if a (SEL) expression is typecast
to (SEL). Fixes // rdar://12859590

llvm-svn: 170058

11 years ago[mips] Remove fmt from the parameter list of classes FMADDSUB and FNMADDSUB.
Akira Hatanaka [Thu, 13 Dec 2012 00:38:59 +0000 (00:38 +0000)]
[mips] Remove fmt from the parameter list of classes FMADDSUB and FNMADDSUB.

llvm-svn: 170057

11 years agoAdd missing check for error return from DefaultLvalueConversion. Fixes <rdar://probl...
Eli Friedman [Thu, 13 Dec 2012 00:37:17 +0000 (00:37 +0000)]
Add missing check for error return from DefaultLvalueConversion.  Fixes <rdar://problem/12857416>.

llvm-svn: 170056

11 years ago[mips] Remove single-precision floating point instruction from multiclass
Akira Hatanaka [Thu, 13 Dec 2012 00:35:54 +0000 (00:35 +0000)]
[mips] Remove single-precision floating point instruction from multiclass
FFR2P_M.

llvm-svn: 170055

11 years ago[mips] Move class IsCommutable into MipsInstrInfo.td.
Akira Hatanaka [Thu, 13 Dec 2012 00:32:01 +0000 (00:32 +0000)]
[mips] Move class IsCommutable into MipsInstrInfo.td.

llvm-svn: 170054

11 years ago[mips] Remove single-precision floating point instructions from multiclasses
Akira Hatanaka [Thu, 13 Dec 2012 00:29:29 +0000 (00:29 +0000)]
[mips] Remove single-precision floating point instructions from multiclasses
FFR1_W_M and FFR1P_M. The new instruction definitions have one-to-one
correspondence with the instructions in the ISA manual.

llvm-svn: 170053

11 years agoFix a bogus comment
Eli Bendersky [Thu, 13 Dec 2012 00:24:56 +0000 (00:24 +0000)]
Fix a bogus comment

llvm-svn: 170052

11 years agoTeach the cost model about the optimization in r169904: Truncation of induction varia...
Nadav Rotem [Thu, 13 Dec 2012 00:21:03 +0000 (00:21 +0000)]
Teach the cost model about the optimization in r169904: Truncation of induction variables costs the same as scalar trunc.

llvm-svn: 170051

11 years agoTypo.
Chad Rosier [Thu, 13 Dec 2012 00:18:46 +0000 (00:18 +0000)]
Typo.

llvm-svn: 170050

11 years agoMore hacking on mapDiagnosticRanges to make it handle more cases.
Eli Friedman [Thu, 13 Dec 2012 00:14:59 +0000 (00:14 +0000)]
More hacking on mapDiagnosticRanges to make it handle more cases.
This still isn't quite right, but it fixes a crash.

I factored out findCommonParent because we need it on the result of
getImmediateExpansionRange: for a function macro, the beginning
and end of an expansion range can come out of different
macros/macro arguments, which means the resulting range is a complete
mess to handle consistently.

I also made some changes to how findCommonParent works; it works somewhat
better in some cases, and somewhat worse in others, but I think overall
it's a better balance.  I'm coming to the conclusion that mapDiagnosticRanges
isn't using the right algorithm, though: chasing the caret is fundamentally
more complicated than any algorithm which only considers one FileID for the
caret can handle because each SourceLocation doesn't really have a single parent.
We need to follow the same path of choosing expansion locations and spelling
locations which the caret used to come up with the correct range
in the general case.

Fixes <rdar://problem/12847524>.

llvm-svn: 170049

11 years agodocs: Convert some docs to reST.
Sean Silva [Wed, 12 Dec 2012 23:44:55 +0000 (23:44 +0000)]
docs: Convert some docs to reST.

Converts:
    LanguageExtensions
    LibASTMatchers
    LibTooling
    PCHInternals
    ThreadSanitizer
    Tooling

Patch by Mykhailo Pustovit!
(with minor edits by Dmitri Gribenko and Sean Silva)

llvm-svn: 170048

11 years agodocs: Another test commit (sphinx autoupdating).
Daniel Dunbar [Wed, 12 Dec 2012 23:35:03 +0000 (23:35 +0000)]
docs: Another test commit (sphinx autoupdating).

llvm-svn: 170047

11 years agodocs: Test commit (sphinx autoupdating).
Daniel Dunbar [Wed, 12 Dec 2012 23:33:24 +0000 (23:33 +0000)]
docs: Test commit (sphinx autoupdating).

llvm-svn: 170046

11 years agoMarking TestPrintStackTraces.py as expectedFailureLinux (due to lack of multi-threade...
Andrew Kaylor [Wed, 12 Dec 2012 23:12:09 +0000 (23:12 +0000)]
Marking TestPrintStackTraces.py as expectedFailureLinux (due to lack of multi-threaded debugging support).

llvm-svn: 170043

11 years agodocs: Initial Sphinx setup for Clang.
Sean Silva [Wed, 12 Dec 2012 23:02:30 +0000 (23:02 +0000)]
docs: Initial Sphinx setup for Clang.

I don't think this will be visible just yet on <clang.llvm.org/docs/>
since I don't think that the necessary server-side setup has taken
place.

Don't shoot me over the theme. I don't want to duplicate LLVM's theme
into the clang repo at the moment, so I just used one of Sphinx's
default themes.

llvm-svn: 170042

11 years agoMake the MCStreamer have a reset method and call that after finalization of the asm...
Pedro Artigas [Wed, 12 Dec 2012 22:59:46 +0000 (22:59 +0000)]
Make the MCStreamer have a reset method and call that after finalization of the asm printer,
also changed MCContext to a single reset only method for simplicity as requested on the list

llvm-svn: 170041

11 years ago[arcmt] When capturing ARC errors, have a sanity check to make sure
Argyrios Kyrtzidis [Wed, 12 Dec 2012 22:48:28 +0000 (22:48 +0000)]
[arcmt] When capturing ARC errors, have a sanity check to make sure
the diagnostic has a valid location.

llvm-svn: 170040

11 years ago[objc] For the ARC error that is emitted when a synthesized property implementation
Argyrios Kyrtzidis [Wed, 12 Dec 2012 22:48:25 +0000 (22:48 +0000)]
[objc] For the ARC error that is emitted when a synthesized property implementation
has inconsistent ownership with the backing ivar, point the error location to the
ivar.

Pointing to the ivar (instead of the @synthesize) is better since this is where a fix is needed.
Also provide the location of @synthesize via a note.

This also fixes the problem where an auto-synthesized property would emit an error without
any location.

llvm-svn: 170039

11 years ago[ms-inline asm] Test case for r170037.
Chad Rosier [Wed, 12 Dec 2012 22:46:23 +0000 (22:46 +0000)]
[ms-inline asm] Test case for r170037.

llvm-svn: 170038

11 years ago[ms-inline asm] Make sure we fail gracefully on parse errors. Parse errors
Chad Rosier [Wed, 12 Dec 2012 22:45:52 +0000 (22:45 +0000)]
[ms-inline asm] Make sure we fail gracefully on parse errors.  Parse errors
should only occur on invalid input.  Instruction matching errors aren't
unexpected, so we can't rely on the AsmParsers HadError variable directly.
rdar://12840278

llvm-svn: 170037