platform/upstream/llvm.git
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

11 years ago[analyzer] MallocChecker: Remove now-unnecessary check::EndPath callback.
Jordan Rose [Thu, 15 Nov 2012 19:11:33 +0000 (19:11 +0000)]
[analyzer] MallocChecker: 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: 168067

11 years ago[analyzer] Mark symbol values as dead in the environment.
Jordan Rose [Thu, 15 Nov 2012 19:11:27 +0000 (19:11 +0000)]
[analyzer] Mark symbol values as dead in the environment.

This allows us to properly remove dead bindings at the end of the top-level
stack frame, using the ReturnStmt, if there is one, to keep the return value
live. This in turn removes the need for a check::EndPath callback in leak
checkers.

This does cause some changes in the path notes for leak checkers. Previously,
a leak would be reported at the location of the closing brace in a function.
Now, it gets reported at the last statement. This matches the way leaks are
currently reported for inlined functions, but is less than ideal for both.

llvm-svn: 168066

11 years agoAdd ARM EABI to my list of responsibilities.
Anton Korobeynikov [Thu, 15 Nov 2012 19:10:23 +0000 (19:10 +0000)]
Add ARM EABI to my list of responsibilities.
Update the email address (old works too, but less reliable) while there

llvm-svn: 168065

11 years agoSimplify code.
Jakub Staszak [Thu, 15 Nov 2012 19:05:23 +0000 (19:05 +0000)]
Simplify code.

llvm-svn: 168064

11 years agoblock extended signatur option. Change previous option
Fariborz Jahanian [Thu, 15 Nov 2012 19:02:45 +0000 (19:02 +0000)]
block extended signatur option. Change previous option
to a cc1 -fencode-extended-block-signature and pass it
to cc1 and recognize this option to produce extended block
type signature. // rdar://12109031

llvm-svn: 168063

11 years ago[modules] Use a memory buffer directly as input for the module includes,
Argyrios Kyrtzidis [Thu, 15 Nov 2012 18:57:27 +0000 (18:57 +0000)]
[modules] Use a memory buffer directly as input for the module includes,
instead of messing with virtual files.

llvm-svn: 168062

11 years ago[modules] Setup the import location of a module file and use it
Argyrios Kyrtzidis [Thu, 15 Nov 2012 18:57:22 +0000 (18:57 +0000)]
[modules] Setup the import location of a module file and use it
as the include location of the main file of an imported module.

llvm-svn: 168061

11 years agotsan: remove unused parameter
Dmitry Vyukov [Thu, 15 Nov 2012 18:49:08 +0000 (18:49 +0000)]
tsan: remove unused parameter

llvm-svn: 168060

11 years agotsan: switch to 4 shadow cells by default (since that's what we use everywhere now)
Dmitry Vyukov [Thu, 15 Nov 2012 18:44:22 +0000 (18:44 +0000)]
tsan: switch to 4 shadow cells by default (since that's what we use everywhere now)

llvm-svn: 168059

11 years agomisspell
Andrew Trick [Thu, 15 Nov 2012 18:40:31 +0000 (18:40 +0000)]
misspell

llvm-svn: 168058

11 years agowhitespace
Andrew Trick [Thu, 15 Nov 2012 18:40:29 +0000 (18:40 +0000)]
whitespace

llvm-svn: 168057

11 years agoComment to XML conversion: convert some tests to use the new [[@LINE]]
Dmitri Gribenko [Thu, 15 Nov 2012 18:37:27 +0000 (18:37 +0000)]
Comment to XML conversion: convert some tests to use the new [[@LINE]]
FileCheck feature.  This will hopefully make tests less fragile.

llvm-svn: 168056

11 years agoRemove unused diagnostics from TableGen files.
Dmitri Gribenko [Thu, 15 Nov 2012 18:32:56 +0000 (18:32 +0000)]
Remove unused diagnostics from TableGen files.

llvm-svn: 168055

11 years ago[reg scavenger] Fix the isUsed/isAliasUsed functions so as to not report a false
Chad Rosier [Thu, 15 Nov 2012 18:13:20 +0000 (18:13 +0000)]
[reg scavenger] Fix the isUsed/isAliasUsed functions so as to not report a false
positive.

In this particular case, R6 was being spilled by the register scavenger when it
was in fact dead.  The isUsed function reported R6 as used because the R6_R7
alias was reserved (due to the fact that we've reserved R7 as the FP).  The
solution is to only check if the original register (i.e., R6) isReserved and
not the aliases.  The aliases are only checked to make sure they're available.

The test case is derived from one of the nightly tester benchmarks and is rather
intractable and difficult to reproduce, so I haven't included it.
rdar://12592448

llvm-svn: 168054

11 years ago<rdar://problem/11782181>
Greg Clayton [Thu, 15 Nov 2012 18:05:43 +0000 (18:05 +0000)]
<rdar://problem/11782181>

Fixed an issue where lldb was setting breakpoints on too many methods when a partial function name with namespaces or class qualifiers was used. For example setting a breakpoint of "Foo::dealloc" was accidentally settings breakpoints on all objective C functions whose selector was "dealloc"...

llvm-svn: 168053

11 years agoRemove aborts under __dynamic_cast which were under _LIBCXX_DYNAMIC_FALLBACK. Change...
Howard Hinnant [Thu, 15 Nov 2012 18:00:42 +0000 (18:00 +0000)]
Remove aborts under __dynamic_cast which were under _LIBCXX_DYNAMIC_FALLBACK.  Change all type_info comparisons to use an inlined is_equal helper.  However no change in functionality for this latter change at this time.  This is just to encapsulate the comparison and make it a little easier to switch back and forth for testing/debugging.

llvm-svn: 168052

11 years agoFix indeterminism in MI scheduler DAG construction.
Sergei Larin [Thu, 15 Nov 2012 17:45:50 +0000 (17:45 +0000)]
Fix indeterminism in MI scheduler DAG construction.
Similarly to several recent fixes throughout the code replace std::map use with the MapVector.
Add find() method to the MapVector.

llvm-svn: 168051

11 years agotsan: eevn better handling of signals
Dmitry Vyukov [Thu, 15 Nov 2012 17:40:49 +0000 (17:40 +0000)]
tsan: eevn better handling of signals
add interceptor for poll()
in addition process signals in every atomic op
in addition process signals in blocking libc functions

llvm-svn: 168050

11 years agoUse empty parens for empty function parameter list instead of '(void)'.
Dmitri Gribenko [Thu, 15 Nov 2012 16:51:49 +0000 (16:51 +0000)]
Use empty parens for empty function parameter list instead of '(void)'.

llvm-svn: 168049

11 years agoFileCheck: remove useless 'continue' at the end of a 'while(){}' loop.
Dmitri Gribenko [Thu, 15 Nov 2012 16:50:59 +0000 (16:50 +0000)]
FileCheck: remove useless 'continue' at the end of a 'while(){}' loop.

llvm-svn: 168048

11 years agoSimplify code. No functionality change.
Benjamin Kramer [Thu, 15 Nov 2012 16:40:35 +0000 (16:40 +0000)]
Simplify code. No functionality change.

llvm-svn: 168047

11 years ago[ASan] Revert r168040 and r168043 and take a cleaner solution suggested by Kostya...
Alexander Potapenko [Thu, 15 Nov 2012 15:24:42 +0000 (15:24 +0000)]
[ASan] Revert r168040 and r168043 and take a cleaner solution suggested by Kostya: return the known frame name for fake stack instead of looking it up.

llvm-svn: 168046

11 years agoDo not cache a pointer to ExprEvalContexts.back().
Benjamin Kramer [Thu, 15 Nov 2012 15:18:42 +0000 (15:18 +0000)]
Do not cache a pointer to ExprEvalContexts.back().

It may become a dangling pointer if the underlying SmallVector reallocates.
Sadly the testcase is really large and doesn't reduce well because of
SmallVector's reallocation patterns.

Fixes PR14336.

llvm-svn: 168045

11 years ago[ASan] Minor fix: return to the last byte of the fake stack if we've raced by.
Alexander Potapenko [Thu, 15 Nov 2012 14:59:19 +0000 (14:59 +0000)]
[ASan] Minor fix: return to the last byte of the fake stack if we've raced by.

llvm-svn: 168043

11 years agoDo not handle void types in DataLayout. Patch by Patrick Hägglund.
Duncan Sands [Thu, 15 Nov 2012 14:45:30 +0000 (14:45 +0000)]
Do not handle void types in DataLayout.  Patch by Patrick Hägglund.

llvm-svn: 168042

11 years agoUse empty parens for empty function parameter list instead of '(void)'.
Dmitri Gribenko [Thu, 15 Nov 2012 14:28:07 +0000 (14:28 +0000)]
Use empty parens for empty function parameter list instead of '(void)'.

llvm-svn: 168041

11 years ago[ASan] Poison the leftmost shadow byte with a special value so that we can find
Alexander Potapenko [Thu, 15 Nov 2012 13:40:44 +0000 (13:40 +0000)]
[ASan] Poison the leftmost shadow byte with a special value so that we can find
the beginning of the fake frame when reporting an use-after-return error.
Fixes http://code.google.com/p/address-sanitizer/issues/detail?id=126

llvm-svn: 168040

11 years ago[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Clang...
Alexey Samsonov [Thu, 15 Nov 2012 12:40:37 +0000 (12:40 +0000)]
[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Clang part.

llvm-svn: 168039

11 years ago[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Compiler...
Alexey Samsonov [Thu, 15 Nov 2012 12:37:55 +0000 (12:37 +0000)]
[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Compiler-rt part.

llvm-svn: 168038

11 years agoMake GlobalOpt be conservative with TLS variables (PR14309)
Hans Wennborg [Thu, 15 Nov 2012 11:40:00 +0000 (11:40 +0000)]
Make GlobalOpt be conservative with TLS variables (PR14309)

For global variables that get the same value stored into them
everywhere, GlobalOpt will replace them with a constant. The problem is
that a thread-local GlobalVariable looks like one value (the address of
the TLS var), but is different between threads.

This patch introduces Constant::isThreadDependent() which returns true
for thread-local variables and constants which depend on them (e.g. a GEP
into a thread-local array), and teaches GlobalOpt not to track such
values.

llvm-svn: 168037

11 years agoAdd support for SPIR64 target - the 64bit counterpart of SPIR.
Guy Benyei [Thu, 15 Nov 2012 10:35:47 +0000 (10:35 +0000)]
Add support for SPIR64 target - the 64bit counterpart of SPIR.

The new OpenCL SPIR extension spec will define separate SPIR for 32 and 64 bit architectures.

llvm-svn: 168036

11 years agoFix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree,
Duncan Sands [Thu, 15 Nov 2012 09:58:38 +0000 (09:58 +0000)]
Fix a crash observed by Shuxin Yang.  The issue here is that LinearizeExprTree,
the utility for extracting a chain of operations from the IR, thought that it
might as well combine any constants it came across (rather than just returning
them along with everything else).  On the other hand, the factorization code
would like to see the individual constants (this is quite reasonable: it is
much easier to pull a factor of 3 out of 2*3 than it is to pull it out of 6;
you may think 6/3 isn't so hard, but due to overflow it's not as easy to undo
multiplications of constants as it may at first appear).  This patch therefore
makes LinearizeExprTree stupider: it now leaves optimizing to the optimization
part of reassociate, and sticks to just analysing the IR.

llvm-svn: 168035

11 years ago[ASan] Add the "lea $imm(%rip),%rax" instruction to mach_override.c
Alexander Potapenko [Thu, 15 Nov 2012 08:32:16 +0000 (08:32 +0000)]
[ASan] Add the "lea $imm(%rip),%rax" instruction to mach_override.c
The need for this has been reported by Jack Howarth (howarth@bromo.med.uc.edu) who's porting ASan-Darwin to GCC

llvm-svn: 168032

11 years agoTeach the uninitialized field warning about anonymous structs and union members.
Nick Lewycky [Thu, 15 Nov 2012 08:19:20 +0000 (08:19 +0000)]
Teach the uninitialized field warning about anonymous structs and union members.
Fixes PR14073!

llvm-svn: 168031

11 years agoRevert changing FNEG of v4f32 to Expand. It's legal.
Craig Topper [Thu, 15 Nov 2012 08:09:46 +0000 (08:09 +0000)]
Revert changing FNEG of v4f32 to Expand. It's legal.

llvm-svn: 168030

11 years agoMake FNEG and FABS of v4f32 Expand.
Craig Topper [Thu, 15 Nov 2012 08:06:12 +0000 (08:06 +0000)]
Make FNEG and FABS of v4f32 Expand.

llvm-svn: 168029

11 years agoMake a bunch of floating point operations on vectors Expand so that instruction selec...
Craig Topper [Thu, 15 Nov 2012 08:02:19 +0000 (08:02 +0000)]
Make a bunch of floating point operations on vectors Expand so that instruction selection won't fail.

llvm-svn: 168028

11 years agoMake -ffp-contract a codegen option, rather than a laguage option. This makes
Lang Hames [Thu, 15 Nov 2012 07:51:26 +0000 (07:51 +0000)]
Make -ffp-contract a codegen option, rather than a laguage option. This makes
more sense anyway - it determines how expressions are codegen'd. It also ensures
that -ffp-contract=fast has the intended effect when compiling LLVM IR.

llvm-svn: 168027

11 years agoAdd missing documentation for llvm.exp2, llvm.log10, and llvm.log2.
Craig Topper [Thu, 15 Nov 2012 07:01:39 +0000 (07:01 +0000)]
Add missing documentation for llvm.exp2, llvm.log10, and llvm.log2.

llvm-svn: 168026

11 years agoAdd llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.
Craig Topper [Thu, 15 Nov 2012 06:51:10 +0000 (06:51 +0000)]
Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.

llvm-svn: 168025

11 years agoRevert r167567, restoring the ability of clang to run gcc in cases where it
Nick Lewycky [Thu, 15 Nov 2012 05:36:36 +0000 (05:36 +0000)]
Revert r167567, restoring the ability of clang to run gcc in cases where it
can't handle the input file type. This resulted in PR14338.

llvm-svn: 168024

11 years agoFix an off-by-one error by switching < to <= in -Wtautological-constant-out-of-range...
Richard Trieu [Thu, 15 Nov 2012 03:43:50 +0000 (03:43 +0000)]
Fix an off-by-one error by switching < to <= in -Wtautological-constant-out-of-range-compare and added test case.

llvm-svn: 168023

11 years agoDo not use data recursion in ASTMatchFinder.
Daniel Jasper [Thu, 15 Nov 2012 03:29:05 +0000 (03:29 +0000)]
Do not use data recursion in ASTMatchFinder.

The matchers rely on the complete AST being traversed as shown by the new test cases.

llvm-svn: 168022

11 years agoFix an obvious merge bug in -join-globalcopies (disabled).
Andrew Trick [Thu, 15 Nov 2012 02:32:22 +0000 (02:32 +0000)]
Fix an obvious merge bug in -join-globalcopies (disabled).

Jakub Staszak spotted this in review. I don't notice these things
until I manually rerun benchmarks. But reducing unit tests is a very
high priority.

llvm-svn: 168021

11 years ago[analyzer] Fix test case broken by previous commit.
Jordan Rose [Thu, 15 Nov 2012 02:17:09 +0000 (02:17 +0000)]
[analyzer] Fix test case broken by previous commit.

llvm-svn: 168020

11 years ago[analyzer] Make sure calls in synthesized functions have valid path locations.
Jordan Rose [Thu, 15 Nov 2012 02:07:23 +0000 (02:07 +0000)]
[analyzer] Make sure calls in synthesized functions have valid path locations.

We do this by using the "most recent" good location: if a synthesized
function 'A' calls another function 'B', the path notes for the call to 'B'
will be placed at the same location as the path note for calling 'A'.

Similarly, the call to 'A' will have a note saying "Entered call from...",
and now we just don't emit that (since the user doesn't have a body to look
at anyway).

Previously, we were doing this for the "Calling..." notes, but not for the
"Entered call from..." or "Returning to caller". This caused a crash when
the path entered and then exiting a call within a synthesized body.

<rdar://problem/12657843>

llvm-svn: 168019

11 years agoIn cases where the Objective-C ivar symbols are stripped out,
Sean Callanan [Thu, 15 Nov 2012 02:02:04 +0000 (02:02 +0000)]
In cases where the Objective-C ivar symbols are stripped out,
expressions that refer to ivars will not work because Clang
emits IR that refers to them to get the ivar offsets.
However, it is possible to search the runtime for these values.

I have added support for reading the relevant tables to the
Objective-C runtime, and extended ClangExpressionDeclMap to
query that information if and only if it doesn't find the symbols
in the binary.

Also added a testcase.

<rdar://problem/12628122>

llvm-svn: 168018

11 years ago[PCH] Reading expressions from attributes should be done using ReadExpr(),
Argyrios Kyrtzidis [Thu, 15 Nov 2012 01:31:39 +0000 (01:31 +0000)]
[PCH] Reading expressions from attributes should be done using ReadExpr(),
not ReadExpr().

Also add a test case making sure the thread safety attributes work as expected
when they come from a PCH.

Fixes rdar://12584141 & http://llvm.org/PR13982

llvm-svn: 168017

11 years agoFix a trivial bool-related bug I spotted while skimming David Fang's
Eli Friedman [Thu, 15 Nov 2012 01:21:59 +0000 (01:21 +0000)]
Fix a trivial bool-related bug I spotted while skimming David Fang's
current list of powerpc-darwin8 failures.

llvm-svn: 168016

11 years agoAdd link to cfe-users mailing list.
Tanya Lattner [Thu, 15 Nov 2012 01:13:31 +0000 (01:13 +0000)]
Add link to cfe-users mailing list.

llvm-svn: 168015

11 years agoAdd some release notes that say we removed the CellSPU port.
Eric Christopher [Thu, 15 Nov 2012 00:59:52 +0000 (00:59 +0000)]
Add some release notes that say we removed the CellSPU port.

llvm-svn: 168014

11 years agoInstCombineAndOrXor.cpp: Escape bracket in doxygen description. [-Wdocumentation]
NAKAMURA Takumi [Thu, 15 Nov 2012 00:35:50 +0000 (00:35 +0000)]
InstCombineAndOrXor.cpp: Escape bracket in doxygen description. [-Wdocumentation]

llvm-svn: 168013

11 years agoPer [basic.lookup.classref]p3, in an expression of the form p->~type-name, the
Richard Smith [Thu, 15 Nov 2012 00:31:27 +0000 (00:31 +0000)]
Per [basic.lookup.classref]p3, in an expression of the form p->~type-name, the
type-name is looked up in the context of the complete postfix-expression. Don't
forget to pass the scope into this lookup when the type-name is a template-id;
it might name an alias template which can't be found within the class itself.

Bug spotted by Johannes Schaub on #llvm.

llvm-svn: 168011

11 years agoFix DiagnoseBitwisePrecedence so it doesn't cast "-1" to the type
Eli Friedman [Thu, 15 Nov 2012 00:29:07 +0000 (00:29 +0000)]
Fix DiagnoseBitwisePrecedence so it doesn't cast "-1" to the type
BinaryOperator::Opcode.  This is bad form, and the behavior of the static_cast
in this case is unspecified according to the standard.

Fixes a warning that showed up from r167992 on self-host.

llvm-svn: 168010

11 years agoUse LLVM_DELETED_FUNCTION.
Jakub Staszak [Thu, 15 Nov 2012 00:25:36 +0000 (00:25 +0000)]
Use LLVM_DELETED_FUNCTION.

llvm-svn: 168009

11 years agoAdd doInitialization and doFinalization methods to ModulePass's, to allow them to...
Owen Anderson [Thu, 15 Nov 2012 00:14:15 +0000 (00:14 +0000)]
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.

Patch by Pedro Artigas.

llvm-svn: 168008

11 years agoobjective-C blocks: make cc1 flag -encode-extended-block-signature
Fariborz Jahanian [Thu, 15 Nov 2012 00:01:28 +0000 (00:01 +0000)]
objective-C blocks: make cc1 flag -encode-extended-block-signature
the default. // rdar://12109031

llvm-svn: 168007

11 years agoRemove unneeded #includes.
Jakub Staszak [Wed, 14 Nov 2012 23:58:57 +0000 (23:58 +0000)]
Remove unneeded #includes.

llvm-svn: 168006

11 years agoMake template diffing handle integral expressions of various widths correctly.
Eli Friedman [Wed, 14 Nov 2012 23:57:08 +0000 (23:57 +0000)]
Make template diffing handle integral expressions of various widths correctly.
PR14342.

llvm-svn: 168005

11 years agoAdd -cc1 option -fno-diagnostics-use-presumed-location, a handy mode for
Richard Smith [Wed, 14 Nov 2012 23:55:25 +0000 (23:55 +0000)]
Add -cc1 option -fno-diagnostics-use-presumed-location, a handy mode for
working with preprocessed testcases. This causes source locations in
diagnostics to point at the spelling location instead of the presumed location,
while still keeping the semantic effects of the line directives (entering and
leaving system-header mode, primarily).

llvm-svn: 168004

11 years ago[utils/ClangDataFormat.py] Add data formatter for StringRef.
Argyrios Kyrtzidis [Wed, 14 Nov 2012 23:52:19 +0000 (23:52 +0000)]
[utils/ClangDataFormat.py] Add data formatter for StringRef.

llvm-svn: 168003

11 years ago[utils/ClangDataFormat.py] In the summary of SourceLocation, include whether it is
Argyrios Kyrtzidis [Wed, 14 Nov 2012 23:52:11 +0000 (23:52 +0000)]
[utils/ClangDataFormat.py] In the summary of SourceLocation, include whether it is
local or loaded.

llvm-svn: 168002

11 years agoNVPTXISelLowering.cpp: Fix warnings. [-Wunused-variable]
NAKAMURA Takumi [Wed, 14 Nov 2012 23:46:15 +0000 (23:46 +0000)]
NVPTXISelLowering.cpp: Fix warnings. [-Wunused-variable]

llvm-svn: 168001

11 years ago<rdar://problem/12408181> Test case to make sure this area of ObjC support does not...
Enrico Granata [Wed, 14 Nov 2012 23:45:48 +0000 (23:45 +0000)]
<rdar://problem/12408181> Test case to make sure this area of ObjC support does not regress in the future

llvm-svn: 168000

11 years agoThis patch is in preparation for adding medium code model support to the
Bill Schmidt [Wed, 14 Nov 2012 23:23:27 +0000 (23:23 +0000)]
This patch is in preparation for adding medium code model support to the
PPC64 target.  The five tests modified herein test code generation that is
sensitive to the code model selected.  So I've added -code-model=small to
the RUN commands for each.

Since small code model is the default, this has no effect for now; but this
prepares us for eventually changing the default to medium code model for PPC64.

Test changes verified with small and medium code model as default on
powerpc64-unknown-linux-gnu.  All tests continue to pass.

llvm-svn: 167999

11 years agodocs: Improve typographical correctness.
Sean Silva [Wed, 14 Nov 2012 23:15:51 +0000 (23:15 +0000)]
docs: Improve typographical correctness.

llvm-svn: 167998

11 years agoobjective-C blocks: under cc1 flag -encode-extended-block-signature,
Fariborz Jahanian [Wed, 14 Nov 2012 23:11:38 +0000 (23:11 +0000)]
objective-C blocks: under cc1 flag -encode-extended-block-signature,
generate expanded signature encoding to include types as we
already do this for protocol method lists.
// rdar://12109031

llvm-svn: 167997

11 years agodocs: Sphinxify TestSuiteMakefileGuide
Sean Silva [Wed, 14 Nov 2012 23:11:10 +0000 (23:11 +0000)]
docs: Sphinxify TestSuiteMakefileGuide

Some small related fixups to TestingGuide too.

llvm-svn: 167996

11 years ago[analyzer] Fix test in previous commit.
Jordan Rose [Wed, 14 Nov 2012 23:09:52 +0000 (23:09 +0000)]
[analyzer] Fix test in previous commit.

llvm-svn: 167995

11 years ago[analyzer] Add a test case for printing a path note at a PreStmt point.
Jordan Rose [Wed, 14 Nov 2012 23:03:55 +0000 (23:03 +0000)]
[analyzer] Add a test case for printing a path note at a PreStmt point.

This is also a false-positive test case for <rdar://problem/12415065>.

<rdar://problem/12687586>

llvm-svn: 167994

11 years agoImprove -Wtautological-constant-out-of-range-compare by taking into account
Richard Trieu [Wed, 14 Nov 2012 22:50:24 +0000 (22:50 +0000)]
Improve -Wtautological-constant-out-of-range-compare by taking into account
type conversion between integers.  This allows the warning to be more accurate.

Also, turned the warning off in an analyzer test.  The relavent test cases
are covered by the tests in Sema.

llvm-svn: 167992

11 years agoUse reserve() to avoid vector reallocation.
Jakub Staszak [Wed, 14 Nov 2012 22:42:17 +0000 (22:42 +0000)]
Use reserve() to avoid vector reallocation.

llvm-svn: 167991

11 years agoTeach the AST importer to merge enumerator constants. Fixes
Douglas Gregor [Wed, 14 Nov 2012 22:29:20 +0000 (22:29 +0000)]
Teach the AST importer to merge enumerator constants. Fixes
<rdar://problem/12676166>, and tested on the LLDB side of the world.

llvm-svn: 167990

11 years agoMake sure to not get AVX code on an AVX-capable host. Revealed in r167967.
Jakub Staszak [Wed, 14 Nov 2012 22:24:01 +0000 (22:24 +0000)]
Make sure to not get AVX code on an AVX-capable host. Revealed in r167967.

llvm-svn: 167989

11 years agotest/CodeGen/Hexagon/postinc-load.ll: Suppress it for now. It triggered the failure...
NAKAMURA Takumi [Wed, 14 Nov 2012 22:22:37 +0000 (22:22 +0000)]
test/CodeGen/Hexagon/postinc-load.ll: Suppress it for now. It triggered the failure on i686 hosts.

llvm-svn: 167988

11 years agoFew more small CellSPU removals.
Eric Christopher [Wed, 14 Nov 2012 22:13:56 +0000 (22:13 +0000)]
Few more small CellSPU removals.

llvm-svn: 167987

11 years agoFix CMake build.
Eric Christopher [Wed, 14 Nov 2012 22:10:47 +0000 (22:10 +0000)]
Fix CMake build.

llvm-svn: 167986

11 years agoWhen evaluating variably modified types for function parameters, dig out the
Eli Friedman [Wed, 14 Nov 2012 22:09:59 +0000 (22:09 +0000)]
When evaluating variably modified types for function parameters, dig out the
type as written from the ParmVarDecl; it's unclear whether the standard
(C99 6.9.1p10) requires this, but we're following the precedent set by gcc,
and hopefully nobody will ever ask about this again.

PR9559 / <rdar://problem/12621983>.

llvm-svn: 167985

11 years agoRemove the CellSPU port.
Eric Christopher [Wed, 14 Nov 2012 22:09:20 +0000 (22:09 +0000)]
Remove the CellSPU port.

Approved by Chris Lattner.

llvm-svn: 167984

11 years agoRemove the cellspu port.
Eric Christopher [Wed, 14 Nov 2012 22:08:59 +0000 (22:08 +0000)]
Remove the cellspu port.

Approved by Chris Lattner.

llvm-svn: 167983

11 years agoParseTemplate.cpp: Prune obsolete descriptions in ParseSingleDeclarationAfterTemplate...
NAKAMURA Takumi [Wed, 14 Nov 2012 21:45:43 +0000 (21:45 +0000)]
ParseTemplate.cpp: Prune obsolete descriptions in ParseSingleDeclarationAfterTemplate(), for now. [-Wdocumentation]

/// \param TemplateParams if non-NULL, the template parameter lists
/// that preceded this declaration. In this case, the declaration is a
/// template declaration, out-of-line definition of a template, or an
/// explicit template specialization. When NULL, the declaration is an
/// explicit template instantiation.
///
/// \param TemplateLoc when TemplateParams is NULL, the location of
/// the 'template' keyword that indicates that we have an explicit
/// template instantiation.

llvm-svn: 167982

11 years ago[analyzer] Ensure that CmpRuns recursively walks the output directory.
Anna Zaks [Wed, 14 Nov 2012 21:32:16 +0000 (21:32 +0000)]
[analyzer] Ensure that CmpRuns recursively walks the output directory.

llvm-svn: 167981

11 years agoRestrict optimized __pad_and_output implementation detail to desired releases.
Howard Hinnant [Wed, 14 Nov 2012 21:17:15 +0000 (21:17 +0000)]
Restrict optimized __pad_and_output implementation detail to desired releases.

llvm-svn: 167980

11 years agodocs: Sphinxify TestingGuide
Sean Silva [Wed, 14 Nov 2012 21:09:30 +0000 (21:09 +0000)]
docs: Sphinxify TestingGuide

llvm-svn: 167979

11 years agoSupport for [[@LINE]], [[@LINE+<offset>]], [[@LINE-<offset>]] expressions in
Alexander Kornienko [Wed, 14 Nov 2012 21:07:37 +0000 (21:07 +0000)]
Support for [[@LINE]], [[@LINE+<offset>]], [[@LINE-<offset>]] expressions in
FileCheck.

llvm-svn: 167978

11 years agoFix invalid asserts, use llvm_unreachable instead.
Jakub Staszak [Wed, 14 Nov 2012 21:03:40 +0000 (21:03 +0000)]
Fix invalid asserts, use llvm_unreachable instead.

llvm-svn: 167976

11 years agollvm/test/CodeGen/X86/memset.ll: FileCheck-ize, and add another case on +avx.
NAKAMURA Takumi [Wed, 14 Nov 2012 21:01:40 +0000 (21:01 +0000)]
llvm/test/CodeGen/X86/memset.ll: FileCheck-ize, and add another case on +avx.

llvm-svn: 167975

11 years agoAdded multiclass for post-increment load instructions.
Jyotsna Verma [Wed, 14 Nov 2012 20:38:48 +0000 (20:38 +0000)]
Added multiclass for post-increment load instructions.

llvm-svn: 167974

11 years agoForce CPU in test so we don't accidentally get AVX code on an AVX-capable host.
Benjamin Kramer [Wed, 14 Nov 2012 20:31:42 +0000 (20:31 +0000)]
Force CPU in test so we don't accidentally get AVX code on an AVX-capable host.

llvm-svn: 167973

11 years agocanJoinPhys method doesn't modify CoalescerPair. Make it const.
Jakub Staszak [Wed, 14 Nov 2012 20:31:04 +0000 (20:31 +0000)]
canJoinPhys method doesn't modify CoalescerPair. Make it const.

llvm-svn: 167972

11 years agoAdded %(line), %(line+<number>), %(line-<number>) substitutions to lit
Alexander Kornienko [Wed, 14 Nov 2012 20:26:19 +0000 (20:26 +0000)]
Added %(line), %(line+<number>), %(line-<number>) substitutions to lit

llvm-svn: 167971

11 years agoRemove dead code.
Chad Rosier [Wed, 14 Nov 2012 20:25:37 +0000 (20:25 +0000)]
Remove dead code.

llvm-svn: 167970

11 years agoFix comment.
Jakub Staszak [Wed, 14 Nov 2012 20:21:29 +0000 (20:21 +0000)]
Fix comment.

llvm-svn: 167969

11 years agoRemove DOS line endings.
Jakub Staszak [Wed, 14 Nov 2012 20:18:34 +0000 (20:18 +0000)]
Remove DOS line endings.

llvm-svn: 167968

11 years agoX86: Enable SSE memory intrinsics even when stack alignment is less than 16 bytes.
Benjamin Kramer [Wed, 14 Nov 2012 20:08:40 +0000 (20:08 +0000)]
X86: Enable SSE memory intrinsics even when stack alignment is less than 16 bytes.

The stack realignment code was fixed to work when there is stack realignment and
a dynamic alloca is present so this shouldn't cause correctness issues anymore.

Note that this also enables generation of AVX instructions for memset
under the assumptions:
- Unaligned loads/stores are always fast on CPUs supporting AVX
- AVX is not slower than SSE
We may need some tweaked heuristics if one of those assumptions turns out not to
be true.

Effectively reverts r58317. Part of PR2962.

llvm-svn: 167967