platform/upstream/llvm.git
11 years agoSkipping TestConstVariables on Linux.
Andrew Kaylor [Wed, 6 Mar 2013 21:37:41 +0000 (21:37 +0000)]
Skipping TestConstVariables on Linux.

The test was marked as expectedFailureLinux, but now it passes with gcc and some versions of clang.  Newer versions of clang introduce a failure due to bad DWARF information.

llvm-svn: 176581

11 years ago[mips] Custom-legalize BR_JT.
Akira Hatanaka [Wed, 6 Mar 2013 21:32:03 +0000 (21:32 +0000)]
[mips] Custom-legalize BR_JT.

In N64-static, GOT address is needed to compute the branch address.

llvm-svn: 176580

11 years agoAdded tests to test for "settings set" with trailing whitespaces after the values.
Greg Clayton [Wed, 6 Mar 2013 21:17:06 +0000 (21:17 +0000)]
Added tests to test for "settings set" with trailing whitespaces after the values.

llvm-svn: 176579

11 years agoAdding support for DW_OP_stack_value in DWARFExpression::Evaluate
Andrew Kaylor [Wed, 6 Mar 2013 21:13:09 +0000 (21:13 +0000)]
Adding support for DW_OP_stack_value in DWARFExpression::Evaluate

llvm-svn: 176578

11 years ago[analyzer] Pass the correct Expr to the bug reporter visitors when dealing with Compo...
Anna Zaks [Wed, 6 Mar 2013 20:26:02 +0000 (20:26 +0000)]
[analyzer] Pass the correct Expr to the bug reporter visitors when dealing with CompoundLiteralExpr

This allows us to trigger the IDC visitor in the added test case.

llvm-svn: 176577

11 years ago[analyzer] IDC: Add config option; perform the idc check on first “null node” rather...
Anna Zaks [Wed, 6 Mar 2013 20:25:59 +0000 (20:25 +0000)]
[analyzer] IDC: Add config option; perform the idc check on first “null node” rather than last “non-null”.

The second modification does not lead to any visible result, but, theoretically, is what we should
have been looking at to begin with since we are checking if the node was assumed to be null in
an inlined function.

llvm-svn: 176576

11 years agoAdded a little bit of logging to ClangFunction to
Sean Callanan [Wed, 6 Mar 2013 19:57:25 +0000 (19:57 +0000)]
Added a little bit of logging to ClangFunction to
make it more obvious what's going on.

llvm-svn: 176575

11 years agoAdd support for non-register scalar values in DoMaterializeOneVariable.
Andrew Kaylor [Wed, 6 Mar 2013 19:35:33 +0000 (19:35 +0000)]
Add support for non-register scalar values in DoMaterializeOneVariable.

llvm-svn: 176574

11 years agoHave basic_istream::read call sgetn intead of sbumpc individual characters. This...
Howard Hinnant [Wed, 6 Mar 2013 19:27:56 +0000 (19:27 +0000)]
Have basic_istream::read call sgetn intead of sbumpc individual characters.  This addresses llvm.org/bugs/show_bug.cgi?id=15427.

llvm-svn: 176573

11 years agoGeneralize my previous fix for -print-options.
Andrew Trick [Wed, 6 Mar 2013 19:04:56 +0000 (19:04 +0000)]
Generalize my previous fix for -print-options.

Always print options that differ from their implicit default. At least
for simple option types.

llvm-svn: 176572

11 years agoRemove tailing whitespaces
Michael Liao [Wed, 6 Mar 2013 18:24:34 +0000 (18:24 +0000)]
Remove tailing whitespaces

llvm-svn: 176570

11 years agoGive -loop-vectorize an explicit default.
Andrew Trick [Wed, 6 Mar 2013 18:22:22 +0000 (18:22 +0000)]
Give -loop-vectorize an explicit default.

This way, clang -mllvm -print-options shows that the driver is overriding it.

llvm-svn: 176569

11 years agoCorrect silly type-o. Thanks Richard.
Howard Hinnant [Wed, 6 Mar 2013 18:16:12 +0000 (18:16 +0000)]
Correct silly type-o.  Thanks Richard.

llvm-svn: 176568

11 years ago[PCH] When pre-validating the headers from the PCH, only validate non-system headers.
Argyrios Kyrtzidis [Wed, 6 Mar 2013 18:12:50 +0000 (18:12 +0000)]
[PCH] When pre-validating the headers from the PCH, only validate non-system headers.

Stat'ing all the headers from the PCH to make sure they are up-to-date takes significant time.
In a particular source file (whose PCH file included Cocoa.h) from total -fsyntax-only time
12% was just stat calls. Change pre-validation to only check non-system headers.

There are some notable disadvantages:

-If a system header, that is not include-guarded, changes after the PCH was created, we will not
find it in the header info table and we will #import it, effectively #importing it twice, thus
we will emit some error due to a multiple definition and after that the "header was modified" error will likely
be emitted, for example something like:

NSDictionary.h:12:1: error: duplicate interface definition for class 'NSDictionary'
@interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration>
^
NSDictionary.h:12:12: note: previous definition is here
@interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration>
           ^
fatal error: file 'NSDictionary.h' has been modified since the precompiled header was built

Though we get the "header was modified" error, this is a bit confusing.

-Theoretically it is possible that such a system header will cause no errors but it will just cause an
unfortunate semantic change, though I find this rather unlikely.

The advantages:

-Reduces compilation time when using a huge PCH like the Cocoa ones
-System headers change very infrequent and when they do, users/build systems should be able to know that
re-building from scratch is needed.

Addresses rdar://13056262

llvm-svn: 176567

11 years ago[PCH] For HeaderFileInfoTrait, hash the key using size & time of the file.
Argyrios Kyrtzidis [Wed, 6 Mar 2013 18:12:47 +0000 (18:12 +0000)]
[PCH] For HeaderFileInfoTrait, hash the key using size & time of the file.

Previously the hash would be the filename portion of the path, which could be
different for a filename with different case or a symbolic link with a different
name completely.
This did not actually create any issue so far because by validating all headers
in the PCH we created uniqued FileEntries based on inodes, so an #include of
a symbolic link (refering to a file from the PCH) would end up with a FileEntry
with filename same as the one recorded in the PCH.

llvm-svn: 176566

11 years ago[PCH] We don't need to instantiate HeaderFileInfoTrait in ASTReader more than once.
Argyrios Kyrtzidis [Wed, 6 Mar 2013 18:12:44 +0000 (18:12 +0000)]
[PCH] We don't need to instantiate HeaderFileInfoTrait in ASTReader more than once.

We can just re-use the one from HeaderFileInfoLookupTable.

llvm-svn: 176565

11 years ago[PCH] Remove a couple of fields from serialization::reader::HeaderFileInfoTrait that...
Argyrios Kyrtzidis [Wed, 6 Mar 2013 18:12:41 +0000 (18:12 +0000)]
[PCH] Remove a couple of fields from serialization::reader::HeaderFileInfoTrait that are not used for anything.

llvm-svn: 176564

11 years agoSpell Objective-C correctly.
Fariborz Jahanian [Wed, 6 Mar 2013 17:55:30 +0000 (17:55 +0000)]
Spell Objective-C correctly.

llvm-svn: 176563

11 years agoMemory Dependence Analysis (not mem-dep test) take advantage of "invariant.load"...
Shuxin Yang [Wed, 6 Mar 2013 17:48:48 +0000 (17:48 +0000)]
Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata.

The "invariant.load" metadata indicates the memory unit being accessed is immutable.
A load annotated with this metadata can be moved across any store.

As I am not sure if it is legal to move such loads across barrier/fence, this
change dose not allow such transformation.

rdar://11311484

Thank Arnold for code review.

llvm-svn: 176562

11 years agosay objective-C in the warning and streamline
Fariborz Jahanian [Wed, 6 Mar 2013 17:36:51 +0000 (17:36 +0000)]
say objective-C in the warning and streamline
several diagnostics into one. // rdar://13094352

llvm-svn: 176560

11 years agoThe bitset(unsigned long long) constructor was broken by the constexpr additions...
Howard Hinnant [Wed, 6 Mar 2013 17:30:26 +0000 (17:30 +0000)]
The bitset(unsigned long long) constructor was broken by the constexpr additions only on 32 bit platforms.  Fixed.  This addresses llvm.org/bugs/show_bug.cgi?id=15444.

llvm-svn: 176559

11 years agoImprove/Cleanup ptrace wrapper and remove dependency on user.h
Matt Kopec [Wed, 6 Mar 2013 17:20:48 +0000 (17:20 +0000)]
Improve/Cleanup ptrace wrapper and remove dependency on user.h

Patch by Ashok Thirumurthi.

llvm-svn: 176558

11 years agoDriver: add support for new style multiarch in Ubuntu 13.04
Dmitri Gribenko [Wed, 6 Mar 2013 17:14:05 +0000 (17:14 +0000)]
Driver: add support for new style multiarch in Ubuntu 13.04

Patch by Sanne Wouda.

llvm-svn: 176557

11 years agoNew ASTMatchers and enhancement to hasOverloadedOperatorName
Edwin Vane [Wed, 6 Mar 2013 17:02:57 +0000 (17:02 +0000)]
New ASTMatchers and enhancement to hasOverloadedOperatorName

Added two new narrowing matchers:
* hasMethod: aplies a matcher to a CXXRecordDecl's methods until a match is made
  or there are no more methods.
* hasCanonicalType: applies a matcher to a QualType's canonicalType.

Enhanced hasOverloadedOperatorName to work on CXXMethodDecl as well as
CXXOperatorCallExpr.

Updated tests and docs.

Reviewers: klimek, gribozavr
llvm-svn: 176556

11 years ago[msan] Block reports from interceptors during _Unwind_Backtrace
Reid Kleckner [Wed, 6 Mar 2013 16:11:58 +0000 (16:11 +0000)]
[msan] Block reports from interceptors during _Unwind_Backtrace

Summary:
I'm hitting a big recursive report from:
  uninit on strlen ->
  __msan::PrintWarningWithOrigin() ->
  __msan::GetStackTrace() ->
  __sanitizer::StackTrace::SlowUnwindStack() ->
  _Unwind_Backtrace() ->
  ... libgcc calls ->
  uninit on strlen() ->
  ... repeats

Reviewers: eugenis

Differential Revision: http://llvm-reviews.chandlerc.com/D497

llvm-svn: 176555

11 years ago[msan] pthread_join() returns int, not void*
Reid Kleckner [Wed, 6 Mar 2013 15:41:35 +0000 (15:41 +0000)]
[msan] pthread_join() returns int, not void*

pthread_join() returns an error code, not the result of the
pthread_create() function like I thought.

llvm-svn: 176554

11 years agoTest case for PR-15414 - nullptr_t functions
Stefanus Du Toit [Wed, 6 Mar 2013 15:32:20 +0000 (15:32 +0000)]
Test case for PR-15414 - nullptr_t functions

The use-null-ptr transform will transform calls to functions that return a
nullptr_t. Even if the function were to only return a null pointer and do
nothing else, this replacement would still be undesired as the behavior and
signature of the function could change in the future.

This adds an XFAILed test case to demonstrate the issue.

Reviewed by: Edwin Vane, Tareq Siraj

llvm-svn: 176553

11 years ago[sanitizers] Fix check failure on dealloc from new thread
Reid Kleckner [Wed, 6 Mar 2013 14:54:08 +0000 (14:54 +0000)]
[sanitizers] Fix check failure on dealloc from new thread

Summary:
Adds a test for this case, which was reduced from a chromium build of
WebKit's DumpRenderTree.

Reviewers: eugenis

CC: glider
Differential Revision: http://llvm-reviews.chandlerc.com/D495

llvm-svn: 176552

11 years agoFixed Use-Nullptr when replacing return(0)
Edwin Vane [Wed, 6 Mar 2013 14:51:34 +0000 (14:51 +0000)]
Fixed Use-Nullptr when replacing return(0)

Before fix, the paren expression was being replaced resulting in returnnullptr.
ParenExpr and implicit casts now ignored so we get return(nullptr) instead.

Added new test cases.

Fixes PR15398

Author: Ariel Bernal <ariel.j.bernal@intel.com>
llvm-svn: 176551

11 years ago[Sanitize] Don't emit function attribute sanitize_address/thread/memory if the functi...
Alexey Samsonov [Wed, 6 Mar 2013 10:54:18 +0000 (10:54 +0000)]
[Sanitize] Don't emit function attribute sanitize_address/thread/memory if the function is blacklisted.

llvm-svn: 176550

11 years agoFixed enum printing for negative enums. There previously was no testing to validate...
Greg Clayton [Wed, 6 Mar 2013 06:23:54 +0000 (06:23 +0000)]
Fixed enum printing for negative enums. There previously was no testing to validate that enum values were being displayed correctly.

Also added C++11 enum test cases to cover enums as int8_t, int16_t int32_t, int64_t, uint8_t, uint16_t, uint32_t, and uint64_t both for DWARF and dSYM cases. The DWARF being emitted by clang is missing the enum integer type, but the code is now ready to accept and deal with the integral type if it is supplied.

llvm-svn: 176548

11 years agoInstCombine: Don't shrink allocas when combining with a bitcast.
Jim Grosbach [Wed, 6 Mar 2013 05:44:53 +0000 (05:44 +0000)]
InstCombine: Don't shrink allocas when combining with a bitcast.

When considering folding a bitcast of an alloca into the alloca itself,
make sure we don't shrink the amount of memory being allocated, or
things rapidly go sideways.

rdar://13324424

llvm-svn: 176547

11 years agoFixed test suite errors due to new clang -v output.
Greg Clayton [Wed, 6 Mar 2013 02:34:51 +0000 (02:34 +0000)]
Fixed test suite errors due to new clang -v output.

llvm-svn: 176546

11 years agoNow that "settings set" will strip leading and trailing spaces, we need a way to...
Greg Clayton [Wed, 6 Mar 2013 02:19:38 +0000 (02:19 +0000)]
Now that "settings set" will strip leading and trailing spaces, we need a way to be able to specify string values that contain spaces. So now settings setting <property> <value>" can have a <value> that is quoted:

settings set prompt "(lldb2) "

llvm-svn: 176545

11 years agorevert r176531 due to clan-native-arm fails
Weiming Zhao [Wed, 6 Mar 2013 02:08:54 +0000 (02:08 +0000)]
revert r176531 due to clan-native-arm fails

llvm-svn: 176544

11 years ago[mips] Add a line which checks function name. Rename file.
Akira Hatanaka [Wed, 6 Mar 2013 01:58:03 +0000 (01:58 +0000)]
[mips] Add a line which checks function name. Rename file.

llvm-svn: 176543

11 years agoPR15390: If a function returns a pointer to a function, that function type
Richard Smith [Wed, 6 Mar 2013 01:37:38 +0000 (01:37 +0000)]
PR15390: If a function returns a pointer to a function, that function type
can't have default arguments even though it's a parameter-declaration-clause in
a function declaration.

llvm-svn: 176542

11 years agoDisable JITed code in any processes that use DynamicLoaderStatic.
Greg Clayton [Wed, 6 Mar 2013 00:59:41 +0000 (00:59 +0000)]
Disable JITed code in any processes that use DynamicLoaderStatic.

llvm-svn: 176541

11 years agoAfter issuing a diagnostic for undefining or redefining a builtin macro,
Richard Smith [Wed, 6 Mar 2013 00:46:00 +0000 (00:46 +0000)]
After issuing a diagnostic for undefining or redefining a builtin macro,
continue parsing the directive rather than silently discarding it.

Allowing undef or redef of __TIME__ and __DATE__ is important to folks
who want stable, reproducible builds.

llvm-svn: 176540

11 years agoobjective-C: don't crash after diagnosing
Fariborz Jahanian [Wed, 6 Mar 2013 00:37:40 +0000 (00:37 +0000)]
objective-C: don't crash after diagnosing
using object subscripting without declaring objectForKeyedSubscript:
// rdar://13333205

llvm-svn: 176539

11 years agoFix PR15355
Michael Liao [Wed, 6 Mar 2013 00:17:04 +0000 (00:17 +0000)]
Fix PR15355

- Clear 'mayStore' flag when loading from the atomic variable before the
  spin loop
- Clear kill flag from one use to multiple use in registers forming the
  address to that atomic variable
- don't use a physical register as live-in register in BB (neither entry
  nor landing pad.) by copying it into virtual register

(patch by Cameron Zwarich)

llvm-svn: 176538

11 years agoUse dyn_cast instead of isa && cast. No functionality change.
Jakub Staszak [Wed, 6 Mar 2013 00:16:16 +0000 (00:16 +0000)]
Use dyn_cast instead of isa && cast. No functionality change.

llvm-svn: 176537

11 years agoRemove duplicated forward declaration.
Jakub Staszak [Wed, 6 Mar 2013 00:04:32 +0000 (00:04 +0000)]
Remove duplicated forward declaration.

llvm-svn: 176536

11 years agoRemove unused static variable.
Douglas Gregor [Tue, 5 Mar 2013 23:59:13 +0000 (23:59 +0000)]
Remove unused static variable.

llvm-svn: 176535

11 years agoPreprocessor: don't keep comments under -traditional-cpp.
Jordan Rose [Tue, 5 Mar 2013 23:54:55 +0000 (23:54 +0000)]
Preprocessor: don't keep comments under -traditional-cpp.

This patch is designed for minimal intrusion into normal preprocessing
and compilation; under -E -traditional-cpp, the lexer will still
generate tok::comment nodes since it is preserving all whitespace, but
the output printer will then throw it away.

<rdar://problem/13338680>

llvm-svn: 176534

11 years ago<rdar://problem/13341472>
Greg Clayton [Tue, 5 Mar 2013 23:54:39 +0000 (23:54 +0000)]
<rdar://problem/13341472>

LLDB wasn't printing the names for negative enums. Fixed the signed extraction of enumerators and how they were registered with clang's type system.

llvm-svn: 176533

11 years ago<rdar://problem/13184855>
Greg Clayton [Tue, 5 Mar 2013 23:52:49 +0000 (23:52 +0000)]
<rdar://problem/13184855>

Spaces in "settings set" value strings no longer cause setting failures.

llvm-svn: 176532

11 years agoPR 11326: Lack diagnosic message when ABI conflicts on ARM
Weiming Zhao [Tue, 5 Mar 2013 23:27:21 +0000 (23:27 +0000)]
PR 11326: Lack diagnosic message when ABI conflicts on ARM

When both Triple and -mabi are used, it may result into conflicting ABI value.

llvm-svn: 176531

11 years ago[mips] Remove android calling convention.
Akira Hatanaka [Tue, 5 Mar 2013 23:22:30 +0000 (23:22 +0000)]
[mips] Remove android calling convention.

This calling convention was added just to handle functions which return vector
of floats. The fix committed in r165585 solves the problem.

llvm-svn: 176530

11 years agofix a missing check in my last patch.
Fariborz Jahanian [Tue, 5 Mar 2013 23:20:29 +0000 (23:20 +0000)]
fix a missing check in my last patch.
// rdar://13094352

llvm-svn: 176529

11 years agoBe more precise in GCC/autoconf build instructions about compiler versions
Daniel Malea [Tue, 5 Mar 2013 22:58:53 +0000 (22:58 +0000)]
Be more precise in GCC/autoconf build instructions about compiler versions

llvm-svn: 176528

11 years ago[mips] Fix MipsCC::analyzeReturn so that, in soft-float mode, fp128 gets
Akira Hatanaka [Tue, 5 Mar 2013 22:54:59 +0000 (22:54 +0000)]
[mips] Fix MipsCC::analyzeReturn so that, in soft-float mode, fp128 gets
returned in registers $2 and $4.

llvm-svn: 176527

11 years agoPreprocessor: don't consider // to be a line comment in -E -std=c89 mode.
Jordan Rose [Tue, 5 Mar 2013 22:51:04 +0000 (22:51 +0000)]
Preprocessor: don't consider // to be a line comment in -E -std=c89 mode.

It's beneficial when compiling to treat // as the start of a line
comment even in -std=c89 mode, since it's not valid C code (with a few
rare exceptions) and is usually intended as such. We emit a pedantic
warning and then continue on as if line comments were enabled.
This has been our behavior for quite some time.

However, people use the preprocessor for things besides C source files.
In today's prompting example, the input contains (unquoted) URLs, which
contain // but should still be preserved.

This change instructs the lexer to treat // as a plain token if Clang is
in C90 mode and generating preprocessed output rather than actually compiling.

<rdar://problem/13338743>

llvm-svn: 176526

11 years agodoc. parsing. Improve on diagnostics on my last patch.
Fariborz Jahanian [Tue, 5 Mar 2013 22:46:07 +0000 (22:46 +0000)]
doc. parsing. Improve on diagnostics on my last patch.
// rdar://13094352.

llvm-svn: 176525

11 years agoTypos: be more precise on the build page when mentioning the non-cmake build system
Daniel Malea [Tue, 5 Mar 2013 22:43:08 +0000 (22:43 +0000)]
Typos: be more precise on the build page when mentioning the non-cmake build system

llvm-svn: 176524

11 years ago[mips] Fix MipsTargetLowering::LowerCallResult and LowerReturn to correctly
Akira Hatanaka [Tue, 5 Mar 2013 22:41:55 +0000 (22:41 +0000)]
[mips] Fix MipsTargetLowering::LowerCallResult and LowerReturn to correctly
handle fp128 returns.

llvm-svn: 176523

11 years agoAdd instructions for building LLDB with CMake
Daniel Malea [Tue, 5 Mar 2013 22:38:50 +0000 (22:38 +0000)]
Add instructions for building LLDB with CMake
- suported generators: Ninja and Unix Makefiles
- added instructions to run tests when building with autoconf

llvm-svn: 176522

11 years ago[mips] Fix MipsTargetLowering::LowerCall to pass fp128 arguments in floating
Akira Hatanaka [Tue, 5 Mar 2013 22:20:28 +0000 (22:20 +0000)]
[mips] Fix MipsTargetLowering::LowerCall to pass fp128 arguments in floating
point registers.

llvm-svn: 176521

11 years ago[mips] Correct handling of fp128 (long double) formals and read long double
Akira Hatanaka [Tue, 5 Mar 2013 22:13:04 +0000 (22:13 +0000)]
[mips] Correct handling of fp128 (long double) formals and read long double
parameters from floating point registers if target is mips64 hard float.

llvm-svn: 176520

11 years agoFix a few typos in comments.
Jakub Staszak [Tue, 5 Mar 2013 22:05:16 +0000 (22:05 +0000)]
Fix a few typos in comments.

llvm-svn: 176519

11 years agoAdd some constantness.
Jakub Staszak [Tue, 5 Mar 2013 22:01:15 +0000 (22:01 +0000)]
Add some constantness.

llvm-svn: 176518

11 years agoFix Ninja LLDB build on Linux (via cmake -G Ninja)
Daniel Malea [Tue, 5 Mar 2013 21:59:12 +0000 (21:59 +0000)]
Fix Ninja LLDB build on Linux (via cmake -G Ninja)
- resolved circular dependency issue by making liblldb depend directly on LLDBWrapPython.cpp
- removed use of '..' for relative directories -- ninja doesn't like this
- fixed build-order problem

llvm-svn: 176517

11 years agostd::distance() == 0 means that iterators are equal. No functionality change.
Jakub Staszak [Tue, 5 Mar 2013 21:53:57 +0000 (21:53 +0000)]
std::distance() == 0 means that iterators are equal. No functionality change.

llvm-svn: 176516

11 years agoRemove outdated claim that GCC builds without a C++ compiler from compilers comparison.
Richard Smith [Tue, 5 Mar 2013 21:49:52 +0000 (21:49 +0000)]
Remove outdated claim that GCC builds without a C++ compiler from compilers comparison.

llvm-svn: 176515

11 years agoAdd more functions to the TLI.
Meador Inge [Tue, 5 Mar 2013 21:47:40 +0000 (21:47 +0000)]
Add more functions to the TLI.

This patch adds many more functions to the target library information.
All of the functions being added were discovered while doing the migration
of the simplify-libcalls attribute annotation functionality to the
functionattrs pass.  As a part of that work the attribute annotation logic
will query TLI to determine if a function should be annotated or not.

Signed-off-by: Meador Inge <meadori@codesourcery.com>
llvm-svn: 176514

11 years agoreverting patch 176508.
Jyotsna Verma [Tue, 5 Mar 2013 20:29:23 +0000 (20:29 +0000)]
reverting patch 176508.

llvm-svn: 176513

11 years agoUse ASTContext::getDeclAlign(<Field Decl>) to get the alignment of the first
Lang Hames [Tue, 5 Mar 2013 20:27:24 +0000 (20:27 +0000)]
Use ASTContext::getDeclAlign(<Field Decl>) to get the alignment of the first
field to be memcpy'd, rather instead of ASTContext::getTypeAlign(<Field Type>).
For packed structs the alignment of a field may be less than the alignment of
the field's type.

<rdar://problem/13338585>

llvm-svn: 176512

11 years ago[libclang] When logging a CXTranslationUnit that came from an AST file, print out...
Argyrios Kyrtzidis [Tue, 5 Mar 2013 20:21:14 +0000 (20:21 +0000)]
[libclang] When logging a CXTranslationUnit that came from an AST file, print out the filename.

llvm-svn: 176511

11 years agoFix this checkin.
Fariborz Jahanian [Tue, 5 Mar 2013 19:52:24 +0000 (19:52 +0000)]
Fix this checkin.

llvm-svn: 176510

11 years agodoc parsing. Add @method and @callback for
Fariborz Jahanian [Tue, 5 Mar 2013 19:40:47 +0000 (19:40 +0000)]
doc parsing. Add @method and @callback for
checkings and few other refactoring/cleanup.
// rdar://13094352.

llvm-svn: 176509

11 years agoHexagon: Add support for lowering block address.
Jyotsna Verma [Tue, 5 Mar 2013 19:37:46 +0000 (19:37 +0000)]
Hexagon: Add support for lowering block address.

llvm-svn: 176508

11 years agoR600: Do not predicate vector op
Vincent Lejeune [Tue, 5 Mar 2013 19:12:06 +0000 (19:12 +0000)]
R600: Do not predicate vector op

llvm-svn: 176507

11 years agoMips specific inline assembler constraint 'R'
Jack Carter [Tue, 5 Mar 2013 19:10:54 +0000 (19:10 +0000)]
Mips specific inline assembler constraint 'R'

'R' An address that can be sued in a non-macro load or store.

Including missing positive test case and fixed typo for r176453.

Thanks to Richard Smith for catching this!

Jack

llvm-svn: 176506

11 years agoHexagon: Expand addc, adde, subc and sube.
Jyotsna Verma [Tue, 5 Mar 2013 19:04:47 +0000 (19:04 +0000)]
Hexagon: Expand addc, adde, subc and sube.

llvm-svn: 176505

11 years agoUse the right number of slashes in comment string
Arnold Schwaighofer [Tue, 5 Mar 2013 19:04:12 +0000 (19:04 +0000)]
Use the right number of slashes in comment string

llvm-svn: 176504

11 years ago[ELF][Hexagon] fixing dynlib test
Shankar Easwaran [Tue, 5 Mar 2013 19:00:21 +0000 (19:00 +0000)]
[ELF][Hexagon] fixing dynlib test

llvm-svn: 176503

11 years agoFixes a test by replacing .align by .p2align and setting triples explicitly.
Eli Bendersky [Tue, 5 Mar 2013 18:56:14 +0000 (18:56 +0000)]
Fixes a test by replacing .align by .p2align and setting triples explicitly.

Patch by David Sehr

llvm-svn: 176502

11 years agoUpdate cmake build.
Benjamin Kramer [Tue, 5 Mar 2013 18:54:05 +0000 (18:54 +0000)]
Update cmake build.

llvm-svn: 176501

11 years agoHexagon: Use MO operand flags to mark constant extended instructions.
Jyotsna Verma [Tue, 5 Mar 2013 18:51:42 +0000 (18:51 +0000)]
Hexagon: Use MO operand flags to mark constant extended instructions.

llvm-svn: 176500

11 years agoHexagon: Add encoding bits to the TFR64 instructions.
Jyotsna Verma [Tue, 5 Mar 2013 18:42:28 +0000 (18:42 +0000)]
Hexagon: Add encoding bits to the TFR64 instructions.
Set imMoveImm, isAsCheapAsAMove flags for TFRI instructions.

llvm-svn: 176499

11 years agoR600: initial scheduler code
Vincent Lejeune [Tue, 5 Mar 2013 18:41:32 +0000 (18:41 +0000)]
R600: initial scheduler code

This is a skeleton for a pre-RA MachineInstr scheduler strategy. Currently
it only tries to expose more parallelism for ALU instructions (this also
makes the distribution of GPR channels more uniform and increases the
chances of ALU instructions to be packed together in a single VLIW group).
Also it tries to reduce clause switching by grouping instruction of the
same kind (ALU/FETCH/CF) together.

Vincent Lejeune:
 - Support for VLIW4 Slot assignement
 - Recomputation of ScheduleDAG to get more parallelism opportunities

Tom Stellard:
 - Fix assertion failure when trying to determine an instruction's slot
   based on its destination register's class
 - Fix some compiler warnings

Vincent Lejeune: [v2]
 - Remove recomputation of ScheduleDAG (will be provided in a later patch)
 - Improve estimation of an ALU clause size so that heuristic does not emit cf
 instructions at the wrong position.
 - Make schedule heuristic smarter using SUnit Depth
 - Take constant read limitations into account

Vincent Lejeune: [v3]
 - Fix some uninitialized values in ConstPair
 - Add asserts to ensure an ALU slot is always populated

llvm-svn: 176498

11 years ago[ELF][Hexagon] fixing test failure
Shankar Easwaran [Tue, 5 Mar 2013 18:39:16 +0000 (18:39 +0000)]
[ELF][Hexagon] fixing test failure

llvm-svn: 176497

11 years agoFix -Wdocumentation warning: use a correct Doxygen comment marker
Dmitri Gribenko [Tue, 5 Mar 2013 18:11:01 +0000 (18:11 +0000)]
Fix -Wdocumentation warning: use a correct Doxygen comment marker

llvm-svn: 176494

11 years agoMake LibASTMatchersTutorial code match text
Edwin Vane [Tue, 5 Mar 2013 18:04:37 +0000 (18:04 +0000)]
Make LibASTMatchersTutorial code match text

Fixed code to match text. Slight adjustment for readability.

Author: Béatrice Creusillet
llvm-svn: 176493

11 years agoAdd support on POSIX to determine if an inferior has changed while debugging it.
Matt Kopec [Tue, 5 Mar 2013 17:23:57 +0000 (17:23 +0000)]
Add support on POSIX to determine if an inferior has changed while debugging it.

llvm-svn: 176492

11 years agoClarify comment for function getObjectSize
Arnold Schwaighofer [Tue, 5 Mar 2013 16:53:24 +0000 (16:53 +0000)]
Clarify comment for function getObjectSize

Clarify that we mean the object starting at the pointer to the end of the
underlying object and not the size of the whole allocated object.

llvm-svn: 176491

11 years agoAdd a test that .align directives on capable processors use long NOPs.
David Sehr [Tue, 5 Mar 2013 16:46:54 +0000 (16:46 +0000)]
Add a test that .align directives on capable processors use long NOPs.

llvm-svn: 176490

11 years ago[ELF] Set symbol type to STT_SECTION, so that objdump.bfd doesnot get confused when...
Shankar Easwaran [Tue, 5 Mar 2013 16:09:32 +0000 (16:09 +0000)]
[ELF] Set symbol type to STT_SECTION, so that objdump.bfd doesnot get confused when disassembling output

llvm-svn: 176489

11 years agoR600: Remove LowerConstCopyPass and lower CONST_COPY right after ISel.
Vincent Lejeune [Tue, 5 Mar 2013 15:04:55 +0000 (15:04 +0000)]
R600: Remove LowerConstCopyPass and lower CONST_COPY right after ISel.

Maintaining CONST_COPY Instructions until Pre Emit may prevent some ifcvt case
and taking them in account for scheduling is difficult for no real benefit.

llvm-svn: 176488

11 years agoR600: Turn BUILD_VECTOR into Reg_Sequence
Vincent Lejeune [Tue, 5 Mar 2013 15:04:49 +0000 (15:04 +0000)]
R600: Turn BUILD_VECTOR into Reg_Sequence

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 176487

11 years agoR600: CONST_ADDRESS node is not marked as mayLoad anymore
Vincent Lejeune [Tue, 5 Mar 2013 15:04:42 +0000 (15:04 +0000)]
R600: CONST_ADDRESS node is not marked as mayLoad anymore

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
mayLoad complexify scheduling and does not bring any usefull info
as the location is not writeable at all.

llvm-svn: 176486

11 years agoR600: Use MUL_IEEE for trig/fdiv intrinsic
Vincent Lejeune [Tue, 5 Mar 2013 15:04:37 +0000 (15:04 +0000)]
R600: Use MUL_IEEE for trig/fdiv intrinsic

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
llvm-svn: 176485

11 years agoR600: Add support for indirect addressing of non default const buffer
Vincent Lejeune [Tue, 5 Mar 2013 15:04:29 +0000 (15:04 +0000)]
R600: Add support for indirect addressing of non default const buffer

NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 176484

11 years ago[ELF] add dynamic library support
Shankar Easwaran [Tue, 5 Mar 2013 14:52:48 +0000 (14:52 +0000)]
[ELF] add dynamic library support

llvm-svn: 176483

11 years ago[ELF] Remove comment
Shankar Easwaran [Tue, 5 Mar 2013 14:45:59 +0000 (14:45 +0000)]
[ELF] Remove comment

llvm-svn: 176482

11 years agoPrint a warning message if compiler-rt can't be built because of old CMake version...
Alexey Samsonov [Tue, 5 Mar 2013 14:43:07 +0000 (14:43 +0000)]
Print a warning message if compiler-rt can't be built because of old CMake version to make this requirement more visible to users

llvm-svn: 176481

11 years agoDocumentation: use code highlighting
Dmitri Gribenko [Tue, 5 Mar 2013 13:05:56 +0000 (13:05 +0000)]
Documentation: use code highlighting

llvm-svn: 176480

11 years ago[Sanitizer] fix signed-unsigned mismatch in test and use correct order of EXPECT_EQ...
Alexey Samsonov [Tue, 5 Mar 2013 12:23:07 +0000 (12:23 +0000)]
[Sanitizer] fix signed-unsigned mismatch in test and use correct order of EXPECT_EQ() args

llvm-svn: 176479

11 years ago[Sanitizer] Add methods back() and pop_back() to InternalVector. Patch by Sergey...
Alexey Samsonov [Tue, 5 Mar 2013 11:58:25 +0000 (11:58 +0000)]
[Sanitizer] Add methods back() and pop_back() to InternalVector. Patch by Sergey Matveev

llvm-svn: 176478

11 years agoAdd a test that we are passing the -fobjc-default-synthesize flag for Apple and
David Chisnall [Tue, 5 Mar 2013 11:20:04 +0000 (11:20 +0000)]
Add a test that we are passing the -fobjc-default-synthesize flag for Apple and
non-Apple platforms.

llvm-svn: 176477