platform/upstream/llvm.git
11 years ago[msan] Make sure that report callbacks do not get merged.
Evgeniy Stepanov [Thu, 29 Nov 2012 12:30:18 +0000 (12:30 +0000)]
[msan] Make sure that report callbacks do not get merged.

llvm-svn: 168873

11 years ago[asan] disable BuiltinLongJmpTest on Android
Kostya Serebryany [Thu, 29 Nov 2012 12:18:48 +0000 (12:18 +0000)]
[asan] disable BuiltinLongJmpTest on Android

llvm-svn: 168872

11 years agoDocumentation: use correct highlighter
Dmitri Gribenko [Thu, 29 Nov 2012 12:00:32 +0000 (12:00 +0000)]
Documentation: use correct highlighter

llvm-svn: 168871

11 years agoASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Remove i128 stuff. Conditi...
NAKAMURA Takumi [Thu, 29 Nov 2012 10:22:40 +0000 (10:22 +0000)]
ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Remove i128 stuff. Conditioning-out in macro argument was not accepted on MS cl.exe.

llvm-svn: 168867

11 years agoInitial commit of MemorySanitizer.
Evgeniy Stepanov [Thu, 29 Nov 2012 09:57:20 +0000 (09:57 +0000)]
Initial commit of MemorySanitizer.

Compiler pass only.

llvm-svn: 168866

11 years agoASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Suppress i128 according...
NAKAMURA Takumi [Thu, 29 Nov 2012 09:57:11 +0000 (09:57 +0000)]
ASTTests/StmtPrinterTest/StmtPrinter.TestMSIntegerLiteral: Suppress i128 according to r168856, for now.

I think "i128", that I conditioned out, could be completely removed.
MS Compiler doesn't accept i128. We can assume no one would use i128.

llvm-svn: 168865

11 years ago[asan/tsan] initialize the asan/tsan callbacks in runOnFunction as opposed to doIniti...
Kostya Serebryany [Thu, 29 Nov 2012 09:54:21 +0000 (09:54 +0000)]
[asan/tsan] initialize the asan/tsan callbacks in runOnFunction as opposed to doInitialization. This is required to allow the upcoming changes in PassManager behavior

llvm-svn: 168864

11 years ago[asan] enable BuiltinLongJmpTest
Kostya Serebryany [Thu, 29 Nov 2012 09:02:14 +0000 (09:02 +0000)]
[asan] enable BuiltinLongJmpTest

llvm-svn: 168863

11 years ago[-cxx-abi microsoft] Also spill the argument-back-references context when mangling...
Timur Iskhodzhanov [Thu, 29 Nov 2012 08:58:47 +0000 (08:58 +0000)]
[-cxx-abi microsoft] Also spill the argument-back-references context when mangling templates

llvm-svn: 168862

11 years ago[asan] when checking the noreturn attribute on the call, also check it on the callee
Kostya Serebryany [Thu, 29 Nov 2012 08:57:20 +0000 (08:57 +0000)]
[asan] when checking the noreturn attribute on the call, also check it on the callee

llvm-svn: 168861

11 years agoubsan: Don't assume that Clang provides __int128 unless it advertises that it does.
Richard Smith [Thu, 29 Nov 2012 05:59:30 +0000 (05:59 +0000)]
ubsan: Don't assume that Clang provides __int128 unless it advertises that it does.

llvm-svn: 168857

11 years agoReject uses of __int128 on platforms that don't support it. Also move the ugly
Richard Smith [Thu, 29 Nov 2012 05:41:51 +0000 (05:41 +0000)]
Reject uses of __int128 on platforms that don't support it. Also move the ugly
'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be
properly cleaned up.

llvm-svn: 168856

11 years agoFix sentence construction-o.
Nico Weber [Thu, 29 Nov 2012 05:29:23 +0000 (05:29 +0000)]
Fix sentence construction-o.

llvm-svn: 168855

11 years agoCleaned up a couple of comments.
Preston Briggs [Thu, 29 Nov 2012 04:30:52 +0000 (04:30 +0000)]
Cleaned up a couple of comments.

llvm-svn: 168854

11 years agoRemove 'noreturn' attribute from friend declaration. This attribute will be
Richard Smith [Thu, 29 Nov 2012 04:30:50 +0000 (04:30 +0000)]
Remove 'noreturn' attribute from friend declaration. This attribute will be
inherited from the previous out-of-class declaration, and attributes on friend
function declarations are ill-formed in C++11.

llvm-svn: 168853

11 years agoUse MCPhysReg for RegisterClassInfo allocation orders.
Jakob Stoklund Olesen [Thu, 29 Nov 2012 03:34:17 +0000 (03:34 +0000)]
Use MCPhysReg for RegisterClassInfo allocation orders.

This saves a bit of memory.

llvm-svn: 168852

11 years agoFix crash-on-invalid. <rdar://problem/12765391>.
Eli Friedman [Thu, 29 Nov 2012 03:13:49 +0000 (03:13 +0000)]
Fix crash-on-invalid.  <rdar://problem/12765391>.

llvm-svn: 168851

11 years agoAdd an MCPhysReg typedef to replace naked uint16_t.
Jakob Stoklund Olesen [Thu, 29 Nov 2012 02:39:28 +0000 (02:39 +0000)]
Add an MCPhysReg typedef to replace naked uint16_t.

Use this type for arrays of physical registers.

llvm-svn: 168850

11 years agoInstruction::isAssociative() returns true for fmul/fadd if they are tagged "unsafe...
Shuxin Yang [Thu, 29 Nov 2012 01:47:31 +0000 (01:47 +0000)]
Instruction::isAssociative() returns true for fmul/fadd if they are tagged "unsafe" mode.

Approved by: Eli and Michael.

llvm-svn: 168848

11 years agoThe declaration of a special member can require overload resolution to be
Richard Smith [Thu, 29 Nov 2012 01:34:07 +0000 (01:34 +0000)]
The declaration of a special member can require overload resolution to be
performed, to determine whether that special member is deleted or constexpr.
That overload resolution process can in turn trigger the instantiation of a
template, which can do anything, including triggering the declaration of that
very same special member function. When this happens, do not try to recursively
declare the special member -- that's impossible. Instead, only try to realise
the truth. There is no special member.

llvm-svn: 168847

11 years agoChange SValBuilder::getConditionType() to return BoolTy in C++. Fixes <rdar://proble...
Ted Kremenek [Thu, 29 Nov 2012 01:03:10 +0000 (01:03 +0000)]
Change SValBuilder::getConditionType() to return BoolTy in C++.  Fixes <rdar://problem/12772656>.

llvm-svn: 168846

11 years ago<rdar://problem/12445557>
Greg Clayton [Thu, 29 Nov 2012 00:53:06 +0000 (00:53 +0000)]
<rdar://problem/12445557>

Make stack frames fix up their line table entries when the target has source remappings. Also rearranged how the m_sc.target_sp was filled in so it can be used during the StackFrame::GetSymbolContext(...) function.

llvm-svn: 168845

11 years agoDon't return decorated (i.e., const or pointer)
Sean Callanan [Thu, 29 Nov 2012 00:50:56 +0000 (00:50 +0000)]
Don't return decorated (i.e., const or pointer)
versions of UnknownAnyTy for ObjectiveC value types.
<unknown type>* makes no sense and can cause the
parser to behave very oddly.

<rdar://problem/12518999>

llvm-svn: 168844

11 years agoCorrectly handle IntegralToBool casts in C++ in the static analyzer. Fixes <rdar...
Ted Kremenek [Thu, 29 Nov 2012 00:50:20 +0000 (00:50 +0000)]
Correctly handle IntegralToBool casts in C++ in the static analyzer.  Fixes <rdar://problem/12759044>.

llvm-svn: 168843

11 years ago[driver] -mkernel implies -mstrict-align; don't add the redundant option.
Chad Rosier [Thu, 29 Nov 2012 00:42:06 +0000 (00:42 +0000)]
[driver] -mkernel implies -mstrict-align; don't add the redundant option.
rdar://12771737

llvm-svn: 168841

11 years agoAdd an example of using the target.process.extra-startup-command to turn on debugserv...
Jim Ingham [Thu, 29 Nov 2012 00:41:12 +0000 (00:41 +0000)]
Add an example of using the target.process.extra-startup-command to turn on debugserver logging since
we always forget how to do this...

llvm-svn: 168840

11 years agoTighten up how we acquire the underlying frame in the SBFrame methods. We were getting
Jim Ingham [Thu, 29 Nov 2012 00:26:19 +0000 (00:26 +0000)]
Tighten up how we acquire the underlying frame in the SBFrame methods.  We were getting
the frame and then getting the run lock.  Which means that our frame could have gotten
invalidated by stopping between the time we got the frame and assured the the target was
stopped.  Now we get the run lock first, and THEN resolve the underlying frame object.

<rdar://problem/12621607>

llvm-svn: 168838

11 years agoAvoid rewriting instructions twice.
Jakob Stoklund Olesen [Thu, 29 Nov 2012 00:26:11 +0000 (00:26 +0000)]
Avoid rewriting instructions twice.

This could cause miscompilations in targets where sub-register
composition is not always idempotent (ARM).

<rdar://problem/12758887>

llvm-svn: 168837

11 years agoRename __lambda to __lambda_node (apply r164404 from libcxxabi)
Daniel Malea [Thu, 29 Nov 2012 00:05:50 +0000 (00:05 +0000)]
Rename __lambda to __lambda_node (apply r164404 from libcxxabi)
- fixes gcc 4.6 build problems
- resolves open bugzilla http://llvm.org/bugs/show_bug.cgi?id=13889

llvm-svn: 168835

11 years agoCorrect the label for the com.apple.debugserver.posix plist.
Jason Molenda [Thu, 29 Nov 2012 00:01:49 +0000 (00:01 +0000)]
Correct the label for the com.apple.debugserver.posix plist.
<rdar://problem/12769073>

llvm-svn: 168834

11 years agoIssue a fatal error if the line doesn't have a regular expression.
Nick Lewycky [Thu, 29 Nov 2012 00:01:38 +0000 (00:01 +0000)]
Issue a fatal error if the line doesn't have a regular expression.

Also a couple not-user-visible changes; using empty() instead of size(), and
make inSection() not insert NULL Regex*'s into StringMap when doing a lookup.

llvm-svn: 168833

11 years agoWhen combining consecutive stores allow loads in between the stores, if the loads...
Nadav Rotem [Thu, 29 Nov 2012 00:00:08 +0000 (00:00 +0000)]
When combining consecutive stores allow loads in between the stores, if the loads do not alias.

llvm-svn: 168832

11 years agoLinux buildbot fix: detect swig tool from PATH in shell script (before searching...
Daniel Malea [Wed, 28 Nov 2012 23:49:11 +0000 (23:49 +0000)]
Linux buildbot fix: detect swig tool from PATH in shell script (before searching hardcoded directories)

llvm-svn: 168831

11 years agoWhen we delete a dead basic block, see if any of its successors are dead and
Bill Wendling [Wed, 28 Nov 2012 23:23:48 +0000 (23:23 +0000)]
When we delete a dead basic block, see if any of its successors are dead and
delete those as well.

llvm-svn: 168829

11 years agoAdd 'class' keyword to friend definition (to fix gcc 4.6 build)
Daniel Malea [Wed, 28 Nov 2012 23:20:22 +0000 (23:20 +0000)]
Add 'class' keyword to friend definition (to fix gcc 4.6 build)

llvm-svn: 168827

11 years agoImplement C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq appertains to...
Michael Han [Wed, 28 Nov 2012 23:17:40 +0000 (23:17 +0000)]
Implement C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq appertains to a friend declaration, that declaration shall be a definition.

llvm-svn: 168826

11 years agoobjective-C blocks: Make sure that identical logic is used
Fariborz Jahanian [Wed, 28 Nov 2012 23:12:17 +0000 (23:12 +0000)]
objective-C blocks: Make sure that identical logic is used
in deciding a copy/dispose field is needed in a byref structure
and when generating the copy/dispose helpers. In certain
cases, these fields were being added but no copy/dispose was
being generated. This was uncovered in ARC, but not in MRR.
// rdar://12759433

llvm-svn: 168825

11 years agoPer C++11 [except.spec]p2, rvalue references are not permitted in exception specifica...
Richard Smith [Wed, 28 Nov 2012 22:52:42 +0000 (22:52 +0000)]
Per C++11 [except.spec]p2, rvalue references are not permitted in exception specifications.

llvm-svn: 168824

11 years agoPR14388: An array or function type in an exception specification should be
Richard Smith [Wed, 28 Nov 2012 22:33:28 +0000 (22:33 +0000)]
PR14388: An array or function type in an exception specification should be
decayed to a pointer type. Patch by WenHan Gu, with a little tweaking and
additional testcases by me.

llvm-svn: 168822

11 years agoABI: comments from Eli on r168820.
Manman Ren [Wed, 28 Nov 2012 22:29:41 +0000 (22:29 +0000)]
ABI: comments from Eli on r168820.

rdar://12723368

llvm-svn: 168821

11 years agoABI: modify CreateCoercedLoad and CreateCoercedStore to not use load or store of
Manman Ren [Wed, 28 Nov 2012 22:08:52 +0000 (22:08 +0000)]
ABI: modify CreateCoercedLoad and CreateCoercedStore to not use load or store of
the original parameter or return type.

Since we do not accurately represent the data fields of a union, we should not
directly load or store a union type.

As an exmple, if we have i8,i8, i32, i32 as one field type and i32,i32 as
another field type, the first field type will be chosen to represent the union.
If we load with the union's type, the 3rd byte and the 4th byte will be skipped.

rdar://12723368

llvm-svn: 168820

11 years agoPR13098: If we're instantiating an overloaded binary operator and we could
Richard Smith [Wed, 28 Nov 2012 21:47:39 +0000 (21:47 +0000)]
PR13098: If we're instantiating an overloaded binary operator and we could
determine which member function would be the callee from within the template
definition, don't pass that function as a "non-member function" to
CreateOverloadedBinOp. Instead, just rely on it to select the member function
for itself.

llvm-svn: 168818

11 years agoDocumentation: improve formatting and remove unneeded empty lines.
Dmitri Gribenko [Wed, 28 Nov 2012 21:40:54 +0000 (21:40 +0000)]
Documentation: improve formatting and remove unneeded empty lines.

llvm-svn: 168817

11 years agoWhoops, fixed bad merge
Michael Ilseman [Wed, 28 Nov 2012 21:21:18 +0000 (21:21 +0000)]
Whoops, fixed bad merge

llvm-svn: 168816

11 years agoFixed bad test case
Michael Ilseman [Wed, 28 Nov 2012 21:19:52 +0000 (21:19 +0000)]
Fixed bad test case

llvm-svn: 168815

11 years agoFast-math: IRBuilder test for creating instructions with fast-math flags
Michael Ilseman [Wed, 28 Nov 2012 21:17:34 +0000 (21:17 +0000)]
Fast-math: IRBuilder test for creating instructions with fast-math flags

llvm-svn: 168814

11 years agoFast-math: Extend IRBuilder to have settable FastMathFlags to create instructions...
Michael Ilseman [Wed, 28 Nov 2012 21:16:19 +0000 (21:16 +0000)]
Fast-math: Extend IRBuilder to have settable FastMathFlags to create instructions with

Also extended IRBuilder's documentation to mention the convenience state for DefaultFPMathTag and FastMathFlags that can be set.

llvm-svn: 168812

11 years agoFast-math comments and convenience method
Michael Ilseman [Wed, 28 Nov 2012 21:11:25 +0000 (21:11 +0000)]
Fast-math comments and convenience method

llvm-svn: 168811

11 years agoDefine signed const-ext immediate operands and their predicates.
Jyotsna Verma [Wed, 28 Nov 2012 20:58:14 +0000 (20:58 +0000)]
Define signed const-ext immediate operands and their predicates.

llvm-svn: 168810

11 years agoARM: Implement CanLowerReturn so large vectors get expanded into sret.
Benjamin Kramer [Wed, 28 Nov 2012 20:55:10 +0000 (20:55 +0000)]
ARM: Implement CanLowerReturn so large vectors get expanded into sret.

Fixes 14337.

llvm-svn: 168809

11 years agoCleanup - remove declarations of unimplemented functions.
Jim Ingham [Wed, 28 Nov 2012 20:09:03 +0000 (20:09 +0000)]
Cleanup - remove declarations of unimplemented functions.

llvm-svn: 168807

11 years agoMake the LiveRegMatrix analysis available to targets.
Jakob Stoklund Olesen [Wed, 28 Nov 2012 19:13:06 +0000 (19:13 +0000)]
Make the LiveRegMatrix analysis available to targets.

No functional change, just moved header files.

Targets can inject custom passes between register allocation and
rewriting. This makes it possible to tweak the register allocation
before rewriting, using the full global interference checking available
from LiveRegMatrix.

llvm-svn: 168806

11 years ago[analyzer] scan-build: Don't forget to close our temp file for Clang's output.
Jordan Rose [Wed, 28 Nov 2012 19:12:44 +0000 (19:12 +0000)]
[analyzer] scan-build: Don't forget to close our temp file for Clang's output.

Also, minor whitespace/indentation fixes.

Patch by Peeter Joot!

llvm-svn: 168805

11 years ago[analyzer] scan-build: Treat '.C' files as C++.
Jordan Rose [Wed, 28 Nov 2012 19:12:29 +0000 (19:12 +0000)]
[analyzer] scan-build: Treat '.C' files as C++.

Part of PR14443.

llvm-svn: 168804

11 years agoAdd backreference matching capabilities to Support/Regex, with
Eli Bendersky [Wed, 28 Nov 2012 19:00:02 +0000 (19:00 +0000)]
Add backreference matching capabilities to Support/Regex, with
appropriate unit tests. This change in itself is not expected to
affect any functionality at this point, but it will serve as a
stepping stone to improve FileCheck's variable matching capabilities.

Luckily, our regex implementation already supports backreferences,
although a bit of hacking is required to enable it. It supports both
Basic Regular Expressions (BREs) and Extended Regular Expressions
(EREs), without supporting backrefs for EREs, following POSIX strictly
in this respect. And EREs is what we actually use (rightly). This is
contrary to many implementations (including the default on Linux) of
POSIX regexes, that do allow backrefs in EREs.

Adding backref support to our EREs is a very simple change in the
regcomp parsing code. I fail to think of significant cases where it
would clash with existing things, and can bring more versatility to
the regexes we write. There's always the danger of a backref in a
specially crafted regex causing exponential matching times, but since
we mainly use them for testing purposes I don't think it's a big
problem. [it can also be placed behind a flag specific to FileCheck,
if needed].

For more details, see:

* http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-November/055840.html
* http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121126/156878.html

llvm-svn: 168802

11 years agoMCJIT depends on JIT.
Benjamin Kramer [Wed, 28 Nov 2012 18:35:35 +0000 (18:35 +0000)]
MCJIT depends on JIT.

Unbreaks the CMake shared library build. This is nasty and should be fixed
eventually.

llvm-svn: 168800

11 years agoFix initial frame state on powerpc64.
Ulrich Weigand [Wed, 28 Nov 2012 18:21:03 +0000 (18:21 +0000)]
Fix initial frame state on powerpc64.

The createPPCMCAsmInfo routine used PPC::R1 as the initial frame
pointer register, but on PPC64 the 32-bit R1 register does not
have a corresponding DWARF number, causing invalid CIE initial
frame state to be emitted.  Fix by using PPC::X1 instead.

llvm-svn: 168799

11 years agoRefactor -fsanitize, -f*-sanitizer arguments parsing. Provide a more careful diagnost...
Alexey Samsonov [Wed, 28 Nov 2012 17:34:24 +0000 (17:34 +0000)]
Refactor -fsanitize, -f*-sanitizer arguments parsing. Provide a more careful diagnostic for invalid sets of sanitizers

llvm-svn: 168794

11 years ago[asan] add DISABLED_BuiltinLongJmpTest
Kostya Serebryany [Wed, 28 Nov 2012 15:01:23 +0000 (15:01 +0000)]
[asan] add DISABLED_BuiltinLongJmpTest

llvm-svn: 168793

11 years agoFix warning. [-Wunused-variable]
Patrik Hägglund [Wed, 28 Nov 2012 14:32:52 +0000 (14:32 +0000)]
Fix warning. [-Wunused-variable]

llvm-svn: 168792

11 years agoFix tests with broken datalayout strings.
Patrik Hägglund [Wed, 28 Nov 2012 13:30:31 +0000 (13:30 +0000)]
Fix tests with broken datalayout strings.

Buildbot failure at r168785.

llvm-svn: 168791

11 years agotsan: explicitly say that failed to restore the stack
Dmitry Vyukov [Wed, 28 Nov 2012 13:30:06 +0000 (13:30 +0000)]
tsan: explicitly say that failed to restore the stack

llvm-svn: 168790

11 years agotsan: address several review comments
Dmitry Vyukov [Wed, 28 Nov 2012 13:01:32 +0000 (13:01 +0000)]
tsan: address several review comments

llvm-svn: 168789

11 years agotsan: add log_path parameter (similar to asan)
Dmitry Vyukov [Wed, 28 Nov 2012 12:56:52 +0000 (12:56 +0000)]
tsan: add log_path parameter (similar to asan)
remove old log_fileno

llvm-svn: 168788

11 years agotsan: dynamic history size
Dmitry Vyukov [Wed, 28 Nov 2012 12:19:50 +0000 (12:19 +0000)]
tsan: dynamic history size
introduces history_size parameter that can be used to control trace size at startup

llvm-svn: 168786

11 years agoAdd error handling in getInt.
Patrik Hägglund [Wed, 28 Nov 2012 12:13:12 +0000 (12:13 +0000)]
Add error handling in getInt.

Accordingly, update a testcase with a broken datalayout string.

Also, we never parse negative numbers, because '-' is used as a
separator. Therefore, use unsigned as result type.

llvm-svn: 168785

11 years agotsan: change fast state layout in preparation to dynamic traces
Dmitry Vyukov [Wed, 28 Nov 2012 10:49:27 +0000 (10:49 +0000)]
tsan: change fast state layout in preparation to dynamic traces

llvm-svn: 168784

11 years agotsan: move traces from tls into dedicated storage at fixed address
Dmitry Vyukov [Wed, 28 Nov 2012 10:35:31 +0000 (10:35 +0000)]
tsan: move traces from tls into dedicated storage at fixed address
helps to reduce tls size (it's weird to have multi-MB tls)
will help with dynamically adjustable trace size

llvm-svn: 168783

11 years ago[asan] Split AddressSanitizer into two passes (FunctionPass, ModulePass), Clang part.
Kostya Serebryany [Wed, 28 Nov 2012 10:32:11 +0000 (10:32 +0000)]
[asan] Split AddressSanitizer into two passes (FunctionPass, ModulePass), Clang part.

llvm-svn: 168782

11 years ago[asan] Split AddressSanitizer into two passes (FunctionPass, ModulePass), LLVM part...
Kostya Serebryany [Wed, 28 Nov 2012 10:31:36 +0000 (10:31 +0000)]
[asan] Split AddressSanitizer into two passes (FunctionPass, ModulePass), LLVM part. This requires a clang part which will follow.

llvm-svn: 168781

11 years agocmake: Fix installation of include files
Tobias Grosser [Wed, 28 Nov 2012 10:12:21 +0000 (10:12 +0000)]
cmake: Fix installation of include files

Install the configured Config/config.h file, rather than the
Config/config.h.cmake and Config/Config.h.in source files.

Contributed-by: Richard Membarth <richard.membarth@informatik.uni-erlangen.de>
llvm-svn: 168780

11 years agoAdd back support for reading and parsing 'deplibs'.
Bill Wendling [Wed, 28 Nov 2012 08:41:48 +0000 (08:41 +0000)]
Add back support for reading and parsing 'deplibs'.

This is for backwards compatibility for pre-3.x bc files. The code reads the
code, but does nothing with it.

llvm-svn: 168779

11 years agoRemove obsolete comment missed by r162937
Andy Gibbs [Wed, 28 Nov 2012 08:14:36 +0000 (08:14 +0000)]
Remove obsolete comment missed by r162937

llvm-svn: 168778

11 years agotsan: add description of memory layouts in different configs
Dmitry Vyukov [Wed, 28 Nov 2012 07:44:26 +0000 (07:44 +0000)]
tsan: add description of memory layouts in different configs

llvm-svn: 168777

11 years agoTeach Lexer::getSpelling about raw string literals. Specifically, if a raw
Richard Smith [Wed, 28 Nov 2012 07:29:00 +0000 (07:29 +0000)]
Teach Lexer::getSpelling about raw string literals. Specifically, if a raw
string literal needs cleaning (because it contains line-splicing in the
encoding prefix or in the ud-suffix), do not clean the section between the
double-quotes -- that's the "raw" bit!

llvm-svn: 168776

11 years agoStore on the CXXRecordDecl whether the class has, or would have, a copy
Richard Smith [Wed, 28 Nov 2012 06:23:12 +0000 (06:23 +0000)]
Store on the CXXRecordDecl whether the class has, or would have, a copy
constructor/assignment operator with a const-qualified parameter type. The
prior method for determining this incorrectly used overload resolution.

llvm-svn: 168775

11 years agoRemove workaround in RegionStore in r168741 since it is handled more generally by...
Ted Kremenek [Wed, 28 Nov 2012 05:36:28 +0000 (05:36 +0000)]
Remove workaround in RegionStore in r168741 since it is handled more generally by r168757.

llvm-svn: 168774

11 years agomisched: Analysis that partitions the DAG into subtrees.
Andrew Trick [Wed, 28 Nov 2012 05:13:28 +0000 (05:13 +0000)]
misched: Analysis that partitions the DAG into subtrees.

This is a simple, cheap infrastructure for analyzing the shape of a
DAG. It recognizes uniform DAGs that take the shape of bottom-up
subtrees, such as the included matrix multiplication example. This is
useful for heuristics that balance register pressure with ILP. Two
canonical expressions of the heuristic are implemented in scheduling
modes: -misched-ilpmin and -misched-ilpmax.

llvm-svn: 168773

11 years agomisched: rename ScheduleDAGILP to ScheduleDFS to prepare for other heuristics.
Andrew Trick [Wed, 28 Nov 2012 05:13:24 +0000 (05:13 +0000)]
misched: rename ScheduleDAGILP to ScheduleDFS to prepare for other heuristics.

llvm-svn: 168772

11 years agoIntroduce ASTUnresolvedSet, an UnresolvedSet-like class, whose contents are
Argyrios Kyrtzidis [Wed, 28 Nov 2012 03:56:16 +0000 (03:56 +0000)]
Introduce ASTUnresolvedSet, an UnresolvedSet-like class, whose contents are
allocated using the allocator associated with an ASTContext.

Use this inside CXXRecordDecl::DefinitionData instead of an UnresolvedSet to
avoid a potential memory leak.

rdar://12761275

llvm-svn: 168771

11 years agoDon't return a pointer to an UnresolvedSetImpl in the CXXRecordDecl interface,
Argyrios Kyrtzidis [Wed, 28 Nov 2012 03:56:09 +0000 (03:56 +0000)]
Don't return a pointer to an UnresolvedSetImpl in the CXXRecordDecl interface,
expose only the iterators instead.

llvm-svn: 168770

11 years agoC++ core issue 1344, PR10618: promote "addition of default argument makes this
Richard Smith [Wed, 28 Nov 2012 03:45:24 +0000 (03:45 +0000)]
C++ core issue 1344, PR10618: promote "addition of default argument makes this
a special member" diagnostic from warning to error, and fix the cases where it
produced diagnostics with incorrect wording.

We don't support this as an extension, and we ban it even in C++98 mode. This
breaks too much (for instance, the ABI-specified calling convention for a type
can change if it acquires a copy constructor through the addition of a default
argument).

llvm-svn: 168769

11 years agomisched: better alias analysis.
Andrew Trick [Wed, 28 Nov 2012 03:42:49 +0000 (03:42 +0000)]
misched: better alias analysis.

This fixes a hole in the "cheap" alias analysis logic implemented within
the DAG builder itself, regardless of whether proper alias analysis is
enabled. It now handles this pattern produced by LSR+CodeGenPrepare.

%sunkaddr1 = ptrtoint * %obj to i64
%sunkaddr2 = add i64 %sunkaddr1, %lsr.iv
%sunkaddr3 = inttoptr i64 %sunkaddr2 to i32*
store i32 %v, i32* %sunkaddr3

llvm-svn: 168768

11 years agomisched: Debug output fix. Use an always valid iterator.
Andrew Trick [Wed, 28 Nov 2012 03:42:47 +0000 (03:42 +0000)]
misched: Debug output fix. Use an always valid iterator.

llvm-svn: 168767

11 years agoIf Clang is looking for an Objective-C method on
Sean Callanan [Wed, 28 Nov 2012 03:23:20 +0000 (03:23 +0000)]
If Clang is looking for an Objective-C method on
a type, and we find it in the origin for that
type, don't look anywhere else; just report it.

<rdar://problem/12675970>

llvm-svn: 168766

11 years agoBBVectorize: Correctly merge SubclassOptionalData
Hal Finkel [Wed, 28 Nov 2012 03:04:10 +0000 (03:04 +0000)]
BBVectorize: Correctly merge SubclassOptionalData

When two instructions are combined into a vector instruction,
the resulting instruction must have the most-conservative flags.

llvm-svn: 168765

11 years agoAdd brief support for the fission .debug_info.dwo section for
Eric Christopher [Wed, 28 Nov 2012 02:49:38 +0000 (02:49 +0000)]
Add brief support for the fission .debug_info.dwo section for
ELF output.

llvm-svn: 168764

11 years agoAdd comments.
Eric Christopher [Wed, 28 Nov 2012 02:49:34 +0000 (02:49 +0000)]
Add comments.

llvm-svn: 168763

11 years agoRearrange ordering of sections.
Eric Christopher [Wed, 28 Nov 2012 02:49:32 +0000 (02:49 +0000)]
Rearrange ordering of sections.

llvm-svn: 168762

11 years agoMove and comment accessor routines.
Eric Christopher [Wed, 28 Nov 2012 02:49:28 +0000 (02:49 +0000)]
Move and comment accessor routines.

llvm-svn: 168761

11 years agoRemove all references to TargetInstrInfoImpl.
Jakob Stoklund Olesen [Wed, 28 Nov 2012 02:35:17 +0000 (02:35 +0000)]
Remove all references to TargetInstrInfoImpl.

This class has been merged into its super-class TargetInstrInfo.

llvm-svn: 168760

11 years agoMove the guts of TargetInstrInfoImpl into the TargetInstrInfo class.
Jakob Stoklund Olesen [Wed, 28 Nov 2012 02:35:13 +0000 (02:35 +0000)]
Move the guts of TargetInstrInfoImpl into the TargetInstrInfo class.

The *Impl class no longer serves a purpose now that the super-class
implementation is in CodeGen.

llvm-svn: 168759

11 years agoMove Target{Instr,Register}Info.cpp into lib/CodeGen.
Jakob Stoklund Olesen [Wed, 28 Nov 2012 02:35:09 +0000 (02:35 +0000)]
Move Target{Instr,Register}Info.cpp into lib/CodeGen.

The Target library is not allowed to depend on the large CodeGen
library, but the TRI and TII classes provide abstract interfaces that
require both caller and callee to link to CodeGen.

The implementation files for these classes provide default
implementations of some of the hooks. These methods may need to
reference CodeGen, so they belong in that library.

We already have a number of methods implemented in the
TargetInstrInfoImpl sub-class because of that. I will merge that class
into the parent next.

llvm-svn: 168758

11 years agoFix another false positive due to a CXX temporary object appearing in a C initializer.
Ted Kremenek [Wed, 28 Nov 2012 01:49:01 +0000 (01:49 +0000)]
Fix another false positive due to a CXX temporary object appearing in a C initializer.

The stop-gap here is to just drop such objects when processing the InitListExpr.
We still need a better solution.

Fixes <rdar://problem/12755044>.

llvm-svn: 168757

11 years agoobjective-C arc: Underline the selector when issuing
Fariborz Jahanian [Wed, 28 Nov 2012 01:27:44 +0000 (01:27 +0000)]
objective-C arc: Underline the selector when issuing
arc specific diagnostic on the selector. This is objc-arc
part of // rdar://11303469

llvm-svn: 168756

11 years agoMoving SectionMemoryManager to MCJIT to avoid cross dependency between JIT and Runtim...
Andrew Kaylor [Wed, 28 Nov 2012 01:02:06 +0000 (01:02 +0000)]
Moving SectionMemoryManager to MCJIT to avoid cross dependency between JIT and RuntimeDyld

llvm-svn: 168755

11 years ago<rdar://problem/12639603>
Greg Clayton [Wed, 28 Nov 2012 00:44:24 +0000 (00:44 +0000)]
<rdar://problem/12639603>

Simplify the logging on ObjectFile::~ObjectFile() to not access an classes above the object file (like the module) so we don't crash when logging object lifetimes. The log message contains the "this" pointer value which can be matched up with the constructor log.

llvm-svn: 168754

11 years agoSome grammar fixes
Eli Bendersky [Wed, 28 Nov 2012 00:27:25 +0000 (00:27 +0000)]
Some grammar fixes

llvm-svn: 168752

11 years agoRevert r168630, r168631, and r168633 as these are causing nightly test failures.
Chad Rosier [Wed, 28 Nov 2012 00:21:29 +0000 (00:21 +0000)]
Revert r168630, r168631, and r168633 as these are causing nightly test failures.

llvm-svn: 168751

11 years agolit: Bump the version to .3.
Daniel Dunbar [Wed, 28 Nov 2012 00:06:11 +0000 (00:06 +0000)]
lit: Bump the version to .3.

llvm-svn: 168750