platform/upstream/llvm.git
11 years ago[tsan] fix cmake build
Kostya Serebryany [Thu, 20 Dec 2012 12:26:09 +0000 (12:26 +0000)]
[tsan] fix cmake build

llvm-svn: 170689

11 years agoMinor coding style issue: NULL -> 0
Alexander Kornienko [Thu, 20 Dec 2012 12:23:54 +0000 (12:23 +0000)]
Minor coding style issue: NULL -> 0

llvm-svn: 170688

11 years ago[asan] add memalign tests
Kostya Serebryany [Thu, 20 Dec 2012 12:11:52 +0000 (12:11 +0000)]
[asan] add memalign tests

llvm-svn: 170687

11 years agoAdd __has_feature(memory_sanitizer).
Evgeniy Stepanov [Thu, 20 Dec 2012 12:03:13 +0000 (12:03 +0000)]
Add __has_feature(memory_sanitizer).

llvm-svn: 170686

11 years ago[asan] add a flag poison_heap to allow better allocator benchmarking, implemenet...
Kostya Serebryany [Thu, 20 Dec 2012 11:54:21 +0000 (11:54 +0000)]
[asan] add a flag poison_heap to allow better allocator benchmarking, implemenet malloc_stats() on Linux

llvm-svn: 170685

11 years agoASTDumper coding style fixes.
Alexander Kornienko [Thu, 20 Dec 2012 11:08:38 +0000 (11:08 +0000)]
ASTDumper coding style fixes.
http://llvm-reviews.chandlerc.com/D226

Patch by Philip Craig!

llvm-svn: 170684

11 years agoclang/test/Driver/warning-options.cpp: Appease MSYS bash.
NAKAMURA Takumi [Thu, 20 Dec 2012 11:08:13 +0000 (11:08 +0000)]
clang/test/Driver/warning-options.cpp: Appease MSYS bash.

llvm-svn: 170683

11 years agollvmbuild/main.py: Let LibraryDependencies.inc deterministic.
NAKAMURA Takumi [Thu, 20 Dec 2012 10:35:18 +0000 (10:35 +0000)]
llvmbuild/main.py: Let LibraryDependencies.inc deterministic.

FYI, llvm and clang can be built deterministically between stage 2 and stage3, among iterative clean rebuilds, with GNU ar;

configure --disable-timestamps
make AR.Flags=crsD RANLIB=echo

llvm-svn: 170682

11 years agotsan: add java interface implementation stub
Dmitry Vyukov [Thu, 20 Dec 2012 10:21:30 +0000 (10:21 +0000)]
tsan: add java interface implementation stub

llvm-svn: 170681

11 years ago[asan] asan_allocator2: make all remaining tests pass.
Kostya Serebryany [Thu, 20 Dec 2012 08:53:41 +0000 (08:53 +0000)]
[asan] asan_allocator2: make all remaining tests pass.

llvm-svn: 170680

11 years agotsan: add Java interface
Dmitry Vyukov [Thu, 20 Dec 2012 07:47:04 +0000 (07:47 +0000)]
tsan: add Java interface

llvm-svn: 170679

11 years ago[asan] add ASAN_PCRE_DOTALL to two new multi-line regexps
Kostya Serebryany [Thu, 20 Dec 2012 07:26:33 +0000 (07:26 +0000)]
[asan] add ASAN_PCRE_DOTALL to two new multi-line regexps

llvm-svn: 170677

11 years agoFormatting fixes. Remove some unnecessary 'else' after 'return'. No functional change.
Craig Topper [Thu, 20 Dec 2012 07:15:54 +0000 (07:15 +0000)]
Formatting fixes. Remove some unnecessary 'else' after 'return'. No functional change.

llvm-svn: 170676

11 years agoRemoving trailing whitespace
Craig Topper [Thu, 20 Dec 2012 07:09:41 +0000 (07:09 +0000)]
Removing trailing whitespace

llvm-svn: 170675

11 years agoImplement cfi_def_cfa_offset. "Make check" test case for this comming in the
Reed Kotler [Thu, 20 Dec 2012 06:59:37 +0000 (06:59 +0000)]
Implement cfi_def_cfa_offset. "Make check" test case for this comming in the
next few days but it's already tested a lot from test-suite and works fine.
This patch completes almost 100% pass of test-suite for mips 16.

llvm-svn: 170674

11 years agoThere is one more patch to finish large frames. Make sure we assert
Reed Kotler [Thu, 20 Dec 2012 06:57:00 +0000 (06:57 +0000)]
There is one more patch to finish large frames. Make sure we assert
on code that has large frames which will not yet compile correctly.

llvm-svn: 170673

11 years agoAdd constant extender support to GP-relative load/store instructions.
Jyotsna Verma [Thu, 20 Dec 2012 06:52:46 +0000 (06:52 +0000)]
Add constant extender support to GP-relative load/store instructions.

llvm-svn: 170672

11 years agoAdd TSFlags to ALU32 type instructions for constant-extender/Relationship maps.
Jyotsna Verma [Thu, 20 Dec 2012 06:45:39 +0000 (06:45 +0000)]
Add TSFlags to ALU32 type instructions for constant-extender/Relationship maps.

llvm-svn: 170671

11 years ago[ASan] don't use -fsanitize=address linker flag for unit tests on Android
Alexey Samsonov [Thu, 20 Dec 2012 06:16:50 +0000 (06:16 +0000)]
[ASan] don't use -fsanitize=address linker flag for unit tests on Android

llvm-svn: 170670

11 years agoset register class properly for mips16 here
Reed Kotler [Thu, 20 Dec 2012 06:06:35 +0000 (06:06 +0000)]
set register class properly for mips16 here

llvm-svn: 170669

11 years agoUndefine PPC harder.
Rafael Espindola [Thu, 20 Dec 2012 05:13:09 +0000 (05:13 +0000)]
Undefine PPC harder.

This was causing a build failure while trying to build on ppc ubuntu 12.10 with
cmake.

llvm-svn: 170668

11 years agoThis assert is overly restrictive and does not work for mips16.
Reed Kotler [Thu, 20 Dec 2012 05:09:15 +0000 (05:09 +0000)]
This assert is overly restrictive and does not work for mips16.

llvm-svn: 170667

11 years agoMove C++ name demangling support from ubsan into sanitizer_common.
Richard Smith [Thu, 20 Dec 2012 05:00:13 +0000 (05:00 +0000)]
Move C++ name demangling support from ubsan into sanitizer_common.

llvm-svn: 170666

11 years agoTurn on register scavenger for Mips 16
Reed Kotler [Thu, 20 Dec 2012 04:44:58 +0000 (04:44 +0000)]
Turn on register scavenger for Mips 16
We use an unused Mips 32 register for the emergency slot
instead of using the stack.

llvm-svn: 170665

11 years ago[mips] Refactor SLT (set on less than) instructions. Separate encoding
Akira Hatanaka [Thu, 20 Dec 2012 04:27:52 +0000 (04:27 +0000)]
[mips] Refactor SLT (set on less than) instructions. Separate encoding
information from the rest.

llvm-svn: 170664

11 years ago[mips] Refactor unconditional branch instruction. Separate encoding information
Akira Hatanaka [Thu, 20 Dec 2012 04:22:39 +0000 (04:22 +0000)]
[mips] Refactor unconditional branch instruction. Separate encoding information
from the rest.

llvm-svn: 170663

11 years agoImplement std::is_base_of for the case where we don't have a compiler
Richard Smith [Thu, 20 Dec 2012 04:20:28 +0000 (04:20 +0000)]
Implement std::is_base_of for the case where we don't have a compiler
intrinsic. This relies upon the fact that overload resolution does not check
access and ambiguity for a derived-to-base conversion. This passes all
is_base_of tests in the test suite.

llvm-svn: 170662

11 years ago[mips] Remove asm string parameter from pseudo instructions. Add InstrItinClass
Akira Hatanaka [Thu, 20 Dec 2012 04:20:09 +0000 (04:20 +0000)]
[mips] Remove asm string parameter from pseudo instructions. Add InstrItinClass
parameter.

llvm-svn: 170661

11 years ago[mips] Delete definition of CPRESTORE instruction.
Akira Hatanaka [Thu, 20 Dec 2012 04:15:30 +0000 (04:15 +0000)]
[mips] Delete definition of CPRESTORE instruction.

llvm-svn: 170660

11 years ago[mips] Refactor conditional branch instructions with one register operand.
Akira Hatanaka [Thu, 20 Dec 2012 04:13:23 +0000 (04:13 +0000)]
[mips] Refactor conditional branch instructions with one register operand.
Separate encoding information from the rest.

llvm-svn: 170659

11 years agoDon't use isa<CallInst>(this) in the constructor for CallInst's base class.
Richard Smith [Thu, 20 Dec 2012 04:11:02 +0000 (04:11 +0000)]
Don't use isa<CallInst>(this) in the constructor for CallInst's base class.
This has undefined behavior, because the classof implementation attempts to
access parts of the not-yet-constructed derived class. Found by clang
-fsanitize=vptr.

llvm-svn: 170658

11 years ago[mips] Refactor conditional branch instructions with two register operands.
Akira Hatanaka [Thu, 20 Dec 2012 04:10:13 +0000 (04:10 +0000)]
[mips] Refactor conditional branch instructions with two register operands.
Separate encoding information from the rest.

llvm-svn: 170657

11 years agofix most of remaining issues with large frames.
Reed Kotler [Thu, 20 Dec 2012 04:07:42 +0000 (04:07 +0000)]
fix most of remaining issues with large frames.
these patches are tested a lot by test-suite but
make check tests are forthcoming once the next
few patches that complete this are committed.
with the next few patches the pass rate for mips16 is
near 100%

llvm-svn: 170656

11 years ago[mips] Use "or $r0, $r1, $zero" instead of "addu $r0, $zero, $r1" to copy
Akira Hatanaka [Thu, 20 Dec 2012 04:06:06 +0000 (04:06 +0000)]
[mips] Use "or $r0, $r1, $zero" instead of "addu $r0, $zero, $r1" to copy
physical register $r1 to $r0.

GNU disassembler recognizes an "or" instruction as a "move", and this change
makes the disassembled code easier to read.

Original patch by Reed Kotler.

llvm-svn: 170655

11 years agoFix use-before-construction of X86TargetLowering.
Richard Smith [Thu, 20 Dec 2012 04:04:17 +0000 (04:04 +0000)]
Fix use-before-construction of X86TargetLowering.

llvm-svn: 170654

11 years agoDon't use -1 as a value of an unsigned 7-bit enumeration; that has undefined
Richard Smith [Thu, 20 Dec 2012 04:02:58 +0000 (04:02 +0000)]
Don't use -1 as a value of an unsigned 7-bit enumeration; that has undefined
behavior and violates the !range constraints we put on loads of this enum.
Found by clang -fsanitize=enum.

llvm-svn: 170653

11 years agoDon't leave IsUnsigned uninitialized in a default-constructed APSInt. Copying
Richard Smith [Thu, 20 Dec 2012 03:59:24 +0000 (03:59 +0000)]
Don't leave IsUnsigned uninitialized in a default-constructed APSInt. Copying
such a structure has undefined behavior. Caught by -fsanitize=bool.

llvm-svn: 170652

11 years ago[mips] Change the order of template parameters. Move the default parameters to
Akira Hatanaka [Thu, 20 Dec 2012 03:52:08 +0000 (03:52 +0000)]
[mips] Change the order of template parameters. Move the default parameters to
the end.

llvm-svn: 170651

11 years ago[mips] Refactor shift instructions with register operands. Separate encoding
Akira Hatanaka [Thu, 20 Dec 2012 03:48:24 +0000 (03:48 +0000)]
[mips] Refactor shift instructions with register operands. Separate encoding
information from the rest.

llvm-svn: 170650

11 years ago[mips] Refactor shift immediate instructions. Separate encoding information
Akira Hatanaka [Thu, 20 Dec 2012 03:44:41 +0000 (03:44 +0000)]
[mips] Refactor shift immediate instructions. Separate encoding information
from the rest.

llvm-svn: 170649

11 years ago[mips] Refactor arithmetic and logic instructions with immediate operands.
Akira Hatanaka [Thu, 20 Dec 2012 03:40:03 +0000 (03:40 +0000)]
[mips] Refactor arithmetic and logic instructions with immediate operands.
Separate encoding information from the rest.

llvm-svn: 170648

11 years ago[mips] Refactor arithmetic and logic instructions. Separate encoding
Akira Hatanaka [Thu, 20 Dec 2012 03:34:05 +0000 (03:34 +0000)]
[mips] Refactor arithmetic and logic instructions. Separate encoding
information from the rest.

llvm-svn: 170647

11 years agodocs: Show TOC for GettingStarted.rst.
Sean Silva [Thu, 20 Dec 2012 03:32:39 +0000 (03:32 +0000)]
docs: Show TOC for GettingStarted.rst.

This is a pretty lengthy document, so put the table of contents in your
face so that it's easier to scope out the content.

This document is a mess currently and needs to be
refactored/revised/split-up.

llvm-svn: 170646

11 years agoclang/test/Misc/ast-dump-decl.c: Add triple. __thread is not supported on all targets.
NAKAMURA Takumi [Thu, 20 Dec 2012 03:30:30 +0000 (03:30 +0000)]
clang/test/Misc/ast-dump-decl.c: Add triple. __thread is not supported on all targets.

llvm-svn: 170645

11 years agoUpdated link in LanguageExtensions.rst to point to BlockLanguageSpec.rst instead...
Michael Gottesman [Thu, 20 Dec 2012 03:23:52 +0000 (03:23 +0000)]
Updated link in LanguageExtensions.rst to point to BlockLanguageSpec.rst instead of BlockLanguageSpec.txt.

Thanks to Jean-Daniel Dupas for comments!

llvm-svn: 170644

11 years agoChanged UTF-8 emdashes to --- ala Dmitri Gribenko's comments.
Michael Gottesman [Thu, 20 Dec 2012 03:23:49 +0000 (03:23 +0000)]
Changed UTF-8 emdashes to --- ala Dmitri Gribenko's comments.

llvm-svn: 170643

11 years ago[mips] Delete ArithOverflowR and ArithOverflow and use ArithLogicR and
Akira Hatanaka [Thu, 20 Dec 2012 03:00:16 +0000 (03:00 +0000)]
[mips] Delete ArithOverflowR and ArithOverflow and use ArithLogicR and
ArithLogicI as the instruction base classes.

llvm-svn: 170642

11 years agoClarify the comments in PlatformDarwin::LocateExecutableScriptingResource
Jason Molenda [Thu, 20 Dec 2012 02:53:18 +0000 (02:53 +0000)]
Clarify the comments in PlatformDarwin::LocateExecutableScriptingResource
a bit.

llvm-svn: 170641

11 years agoFix another uninitialized bool member bug found by -fsanitize=bool. This one
Richard Smith [Thu, 20 Dec 2012 02:47:01 +0000 (02:47 +0000)]
Fix another uninitialized bool member bug found by -fsanitize=bool. This one
appears to currently be benign (we happen to test the flags in the right
order, so we never depend on the uninitialized value).

llvm-svn: 170640

11 years agoRobustify the @encode code and add support for _Atomic.
John McCall [Thu, 20 Dec 2012 02:45:14 +0000 (02:45 +0000)]
Robustify the @encode code and add support for _Atomic.

Fixes PR14628.

llvm-svn: 170639

11 years agodocs: Clean up adornments.
Sean Silva [Thu, 20 Dec 2012 02:40:45 +0000 (02:40 +0000)]
docs: Clean up adornments.

For whatever reason the usage of '^^^' and '---' adornments were
reversed compared to the "canonical" style of the LLVM docs (which is
currently "the style used in SphinxQuickstartTemplate.rst"). This change
doesn't affect the document structure at all, I'm just doing it for
trivial stylistic consistency (the document content is *much* more
important---thanks Nadav for writing this up!).

Also, trim the adornments to be the same length as the section names.

llvm-svn: 170638

11 years agodocs: ASCII-fy
Sean Silva [Thu, 20 Dec 2012 02:23:25 +0000 (02:23 +0000)]
docs: ASCII-fy

llvm-svn: 170637

11 years agoFix code that attempted to produce a diagnostic with one DiagnosticEngine, then
Richard Smith [Thu, 20 Dec 2012 02:22:15 +0000 (02:22 +0000)]
Fix code that attempted to produce a diagnostic with one DiagnosticEngine, then
produce a note for that diagnostic either with a different DiagnosticEngine or
after calling DiagnosticEngine::Reset(). That didn't make any sense, and did the
wrong thing if the original diagnostic was suppressed.

llvm-svn: 170636

11 years agoProvide couple of DeclPrint tests for my last patch.
Fariborz Jahanian [Thu, 20 Dec 2012 02:20:09 +0000 (02:20 +0000)]
Provide couple of DeclPrint tests for my last patch.

llvm-svn: 170635

11 years agoImplement AST dumper for Decls.
Alexander Kornienko [Thu, 20 Dec 2012 02:09:13 +0000 (02:09 +0000)]
Implement AST dumper for Decls.
http://llvm-reviews.chandlerc.com/D52

Patch by Philip Craig!

llvm-svn: 170634

11 years ago<rdar://problem/12903081>
Enrico Granata [Thu, 20 Dec 2012 02:07:45 +0000 (02:07 +0000)]
<rdar://problem/12903081>

When looking for the Python script to load for a given module, replace dots with underscores if there are any after stripping the extension
This means that for a module named foo.devel.xyz a file named foo_devel.py will be what we try to load

llvm-svn: 170633

11 years agoLoop Vectorizer: Enable if-conversion.
Nadav Rotem [Thu, 20 Dec 2012 02:00:02 +0000 (02:00 +0000)]
Loop Vectorizer: Enable if-conversion.

llvm-svn: 170632

11 years agos/AttributesImpl/AttributeImpl/g This is going to apply to Attribute, not Attributes.
Bill Wendling [Thu, 20 Dec 2012 01:36:59 +0000 (01:36 +0000)]
s/AttributesImpl/AttributeImpl/g This is going to apply to Attribute, not Attributes.

llvm-svn: 170631

11 years agoDo not introduce vector operations in functions marked with noimplicitfloat.
Bob Wilson [Thu, 20 Dec 2012 01:36:20 +0000 (01:36 +0000)]
Do not introduce vector operations in functions marked with noimplicitfloat.

<rdar://problem/12879313>

llvm-svn: 170630

11 years agoClean up some DOxygen comments.
Jim Grosbach [Thu, 20 Dec 2012 01:14:48 +0000 (01:14 +0000)]
Clean up some DOxygen comments.

llvm-svn: 170629

11 years agoClean up some DOxygen comments.
Jim Grosbach [Thu, 20 Dec 2012 01:14:45 +0000 (01:14 +0000)]
Clean up some DOxygen comments.

llvm-svn: 170628

11 years agoFix an uninitialized member variable, found by -fsanitize=bool.
Richard Smith [Thu, 20 Dec 2012 01:05:39 +0000 (01:05 +0000)]
Fix an uninitialized member variable, found by -fsanitize=bool.

llvm-svn: 170627

11 years agowhitespace
Nadav Rotem [Thu, 20 Dec 2012 00:49:56 +0000 (00:49 +0000)]
whitespace

llvm-svn: 170626

11 years ago[analyzer] Add the pointer escaped callback.
Anna Zaks [Thu, 20 Dec 2012 00:38:25 +0000 (00:38 +0000)]
[analyzer] Add the pointer escaped callback.

Instead of using several callbacks to identify the pointer escape event,
checkers now can register for the checkPointerEscape.

Converted the Malloc checker to use the new callback.
SimpleStreamChecker will be converted next.

llvm-svn: 170625

11 years ago[ELF][Reader] Ignore SHF_GROUP when switching on flags.
Michael J. Spencer [Thu, 20 Dec 2012 00:37:24 +0000 (00:37 +0000)]
[ELF][Reader] Ignore SHF_GROUP when switching on flags.

llvm-svn: 170624

11 years agoStyle fixes.
Michael J. Spencer [Thu, 20 Dec 2012 00:37:10 +0000 (00:37 +0000)]
Style fixes.

llvm-svn: 170623

11 years agodoc: resize the image.
Nadav Rotem [Thu, 20 Dec 2012 00:29:18 +0000 (00:29 +0000)]
doc: resize the image.

llvm-svn: 170622

11 years agoTarget/R600: Update MIB according to r170588.
NAKAMURA Takumi [Thu, 20 Dec 2012 00:22:11 +0000 (00:22 +0000)]
Target/R600: Update MIB according to r170588.

llvm-svn: 170620

11 years agoSetting TestInferiorChanged.py to expectedFailureLinux because of bugzilla 14662.
Andrew Kaylor [Thu, 20 Dec 2012 00:19:27 +0000 (00:19 +0000)]
Setting TestInferiorChanged.py to expectedFailureLinux because of bugzilla 14662.

Note that the test actually fails before reaching the assertion described in that bug, but the failure is a trivial matter of adding OS-conditional expected stop reason strings (as noted by new comments in this patch).  However, with the stop reason strings changed, the test fails for the more substantial reason noted in bugzilla 14662.

llvm-svn: 170619

11 years agoDoc: update the chart.
Nadav Rotem [Thu, 20 Dec 2012 00:03:36 +0000 (00:03 +0000)]
Doc: update the chart.

llvm-svn: 170618

11 years ago[preprocessor] When "merging" macro argument tokens into one SLocEntry chunk,
Argyrios Kyrtzidis [Wed, 19 Dec 2012 23:55:44 +0000 (23:55 +0000)]
[preprocessor] When "merging" macro argument tokens into one SLocEntry chunk,
make sure they came from the same kind of FileIDs.

Thanks to Abramo Bagnara for providing the test case.

llvm-svn: 170616

11 years agoAdd a context so that once we uniquify strings we can access them easily.
Bill Wendling [Wed, 19 Dec 2012 23:55:43 +0000 (23:55 +0000)]
Add a context so that once we uniquify strings we can access them easily.

llvm-svn: 170615

11 years agoTypo.
Chad Rosier [Wed, 19 Dec 2012 23:47:16 +0000 (23:47 +0000)]
Typo.

llvm-svn: 170613

11 years ago<rdar://problem/12446222>
Enrico Granata [Wed, 19 Dec 2012 23:42:07 +0000 (23:42 +0000)]
<rdar://problem/12446222>

Implement the ability for Python commands to be interrupted by pressing CTRL+C
Also add a new Mutex subclass that attempts to be helpful for debugging by logging actions performed on it

FYI of all interested - there is a separate deadlocking issue related to how LLDB dispatches CTRL+C that might cause LLDB to deadlock upon pressing CTRL+C while in a Python command.
This is not a regression, and was just previously masked by us not even trying to bail out of Python commands, so that it would not be clear from a user perspective whether we were
deadlocked or stuck in an inconsistent state within the Python interpreter.

llvm-svn: 170612

11 years ago[driver] Have -isysroot warn on nonexistent paths.
Chad Rosier [Wed, 19 Dec 2012 23:41:50 +0000 (23:41 +0000)]
[driver] Have -isysroot warn on nonexistent paths.
rdar://12282267

llvm-svn: 170611

11 years agoMC: Add MCInstrDesc::mayAffectControlFlow() method.
Jim Grosbach [Wed, 19 Dec 2012 23:38:53 +0000 (23:38 +0000)]
MC: Add MCInstrDesc::mayAffectControlFlow() method.

MC disassembler clients (LLDB) are interested in querying if an
instruction may affect control flow other than by virtue of being
an explicit branch instruction. For example, instructions which
write directly to the PC on some architectures.

llvm-svn: 170610

11 years agoAdd isSubRegisterEq() and isSuperRegisterEq().
Jim Grosbach [Wed, 19 Dec 2012 23:38:49 +0000 (23:38 +0000)]
Add isSubRegisterEq() and isSuperRegisterEq().

isSub and isSuper return false if RegA == RegB. Add variants which also
include the identity function.

llvm-svn: 170609

11 years agoMove isSubRegister() and isSuperRegister to MCRegisterInfo.
Jim Grosbach [Wed, 19 Dec 2012 23:38:46 +0000 (23:38 +0000)]
Move isSubRegister() and isSuperRegister to MCRegisterInfo.

These were defined on TargetRegisterInfo, but they don't use any information
that's not available in MCRegisterInfo, so sink them down to be available
at the MC layer.

llvm-svn: 170608

11 years agoFix doc comment. '///' not '//'.
Jim Grosbach [Wed, 19 Dec 2012 23:38:44 +0000 (23:38 +0000)]
Fix doc comment. '///' not '//'.

llvm-svn: 170607

11 years agoAudit DeclPrinter with -ast-dump on Cocoa.h and
Fariborz Jahanian [Wed, 19 Dec 2012 23:36:00 +0000 (23:36 +0000)]
Audit DeclPrinter with -ast-dump on Cocoa.h and
fix any bad objectiveC syntax coming out of
DeclPrinter. This is on going. Also, introduce a new
PrintPolicy and use it as needed when declaration tag
is to be produced via DeclPrinter.

llvm-svn: 170606

11 years agoMark register tests as expectedFailureLinux because of bugzilla reports 14600 and...
Andrew Kaylor [Wed, 19 Dec 2012 23:31:12 +0000 (23:31 +0000)]
Mark register tests as expectedFailureLinux because of bugzilla reports 14600 and 14661.

llvm-svn: 170605

11 years agoDisable confirmation prompt in TestProcessLaunch (to avoid hang on Linux once bug...
Daniel Malea [Wed, 19 Dec 2012 23:22:11 +0000 (23:22 +0000)]
Disable confirmation prompt in TestProcessLaunch (to avoid hang on Linux once bug is fixed)

llvm-svn: 170603

11 years agoRefactor isIntrinsic() to be quicker, and change classof() (and thus, isa<IntrinsicIn...
Michael Ilseman [Wed, 19 Dec 2012 23:17:20 +0000 (23:17 +0000)]
Refactor isIntrinsic() to be quicker, and change classof() (and thus, isa<IntrinsicInst>()) to use it. This decreases the number of occurrences of the slow-path string matching performed by getIntrinsicID().

llvm-svn: 170602

11 years agoThis patch removes the SymbolFileSymtab support
Sean Callanan [Wed, 19 Dec 2012 23:05:01 +0000 (23:05 +0000)]
This patch removes the SymbolFileSymtab support
for reporting class types from Objective-C runtime
class symbols.  Instead, LLDB now queries the
Objective-C runtime for class types.

We have also added a (minimal) Objective-C runtime
type vendor for Objective-C runtime version 1, to
prevent regressions when calling class methods in
the V1 runtime.

Other components of this fix include:

- We search the Objective-C runtime in a few more
  places.

- We enable enumeration of all members of
  Objective-C classes, which Clang does in certain
  circumstances.

- SBTarget::FindFirstType and SBTarget::FindTypes
  now query the Objective-C runtime as needed.

- I fixed several test cases.

<rdar://problem/12885034>

llvm-svn: 170601

11 years agos/AttributeListImpl/AttributeSetImpl/g to match the namechange of AttributeList.
Bill Wendling [Wed, 19 Dec 2012 22:42:22 +0000 (22:42 +0000)]
s/AttributeListImpl/AttributeSetImpl/g to match the namechange of AttributeList.

llvm-svn: 170600

11 years agoAlways use addOperand(MF, MO) from MachineInstrBuilder.
Jakob Stoklund Olesen [Wed, 19 Dec 2012 22:35:46 +0000 (22:35 +0000)]
Always use addOperand(MF, MO) from MachineInstrBuilder.

The single-argument MachineInstr::addOperand(MO) will be removed soon.

llvm-svn: 170599

11 years ago[PCH/Modules] In ASTReader::completeVisibleDeclsMap, make sure to visit all
Argyrios Kyrtzidis [Wed, 19 Dec 2012 22:21:18 +0000 (22:21 +0000)]
[PCH/Modules] In ASTReader::completeVisibleDeclsMap, make sure to visit all
modules when getting the decls for a namespace or translation unit.

Otherwise the code-completion results will not be complete.

rdar://12889089

llvm-svn: 170596

11 years agoAdd a missing 'else'. Found by grep '} if'
Dmitri Gribenko [Wed, 19 Dec 2012 22:13:01 +0000 (22:13 +0000)]
Add a missing 'else'.  Found by grep '} if'

No testcase because it is apparently not so trivial to construct.

llvm-svn: 170595

11 years agoR600: Add entry in CODE_OWNERS.TXT
Tom Stellard [Wed, 19 Dec 2012 22:10:35 +0000 (22:10 +0000)]
R600: Add entry in CODE_OWNERS.TXT

llvm-svn: 170594

11 years agoR600: Remove unecessary VREG alignment.
Tom Stellard [Wed, 19 Dec 2012 22:10:34 +0000 (22:10 +0000)]
R600: Remove unecessary VREG alignment.

Unlike SGPRs VGPRs doesn't need to be aligned.

Patch by: Christian König

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
llvm-svn: 170593

11 years agoR600: control flow optimization
Tom Stellard [Wed, 19 Dec 2012 22:10:33 +0000 (22:10 +0000)]
R600: control flow optimization

Branch if we have enough instructions so that it makes sense.
Also remove branches if they don't make sense.

Patch by: Christian König

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
llvm-svn: 170592

11 years agoR600: New control flow for SI v2
Tom Stellard [Wed, 19 Dec 2012 22:10:31 +0000 (22:10 +0000)]
R600: New control flow for SI v2

This patch replaces the control flow handling with a new
pass which structurize the graph before transforming it to
machine instruction. This has a couple of different advantages
and currently fixes 20 piglit tests without a single regression.

It is now a general purpose transformation that could be not
only be used for SI/R6xx, but also for other hardware
implementations that use a form of structurized control flow.

v2: further cleanup, fixes and documentation

Patch by: Christian König

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 170591

11 years agoDocumentation: UsersManual.rst: some cleanups after semi-automatic conversion
Dmitri Gribenko [Wed, 19 Dec 2012 22:06:59 +0000 (22:06 +0000)]
Documentation: UsersManual.rst: some cleanups after semi-automatic conversion

llvm-svn: 170590

11 years agoSplit out abbreviations for the skeleton info from the rest of
Eric Christopher [Wed, 19 Dec 2012 22:02:53 +0000 (22:02 +0000)]
Split out abbreviations for the skeleton info from the rest of
the abbreviations. Part of implementing split dwarf.

llvm-svn: 170589

11 years agoRemove the explicit MachineInstrBuilder(MI) constructor.
Jakob Stoklund Olesen [Wed, 19 Dec 2012 21:31:56 +0000 (21:31 +0000)]
Remove the explicit MachineInstrBuilder(MI) constructor.

Use the version that also takes an MF reference instead.

It would technically be possible to extract an MF reference from the MI
as MI->getParent()->getParent(), but that would not work for MIs that
are not inserted into any basic block.

Given the reasonably small number of places this constructor was used at
all, I preferred the compile time check to a run time assertion.

llvm-svn: 170588

11 years agoFix a bug that was found by building clang with -fsanitize.
Nadav Rotem [Wed, 19 Dec 2012 20:47:04 +0000 (20:47 +0000)]
Fix a bug that was found by building clang with -fsanitize.
I introduced it in r166785. PR14291.

If TD is unavailable use getScalarSizeInBits, but don't optimize
pointers or vectors of pointers.

llvm-svn: 170586

11 years agodocs: Fix title underline warnings
Meador Inge [Wed, 19 Dec 2012 20:16:40 +0000 (20:16 +0000)]
docs: Fix title underline warnings

Building Vectorizers.rst produces a few warnings of the form:

   WARNING: Title underline too short.

Fixed by adding the extra needed dashes under the title.

llvm-svn: 170582

11 years agoLLVM sdisel normalize bit extraction of the form:
Evan Cheng [Wed, 19 Dec 2012 20:16:09 +0000 (20:16 +0000)]
LLVM sdisel normalize bit extraction of the form:
 ((x & 0xff00) >> 8) << 2
to
 (x >> 6) & 0x3fc

This is general goodness since it folds a left shift into the mask. However,
the trailing zeros in the mask prevents the ARM backend from using the bit
extraction instructions. And worse since the mask materialization may require
an addition instruction. This comes up fairly frequently when the result of
the bit twiddling is used as memory address. e.g.

 = ptr[(x & 0xFF0000) >> 16]

We want to generate:
  ubfx   r3, r1, #16, #8
  ldr.w  r3, [r0, r3, lsl #2]

vs.
  mov.w  r9, #1020
  and.w  r2, r9, r1, lsr #14
  ldr    r2, [r0, r2]

Add a late ARM specific isel optimization to
ARMDAGToDAGISel::PreprocessISelDAG(). It folds the left shift to the
'base + offset' address computation; change the mask to one which doesn't have
trailing zeros and enable the use of ubfx.

Note the optimization has to be done late since it's target specific and we
don't want to change the DAG normalization. It's also fairly restrictive
as shifter operands are not always free. It's only done for lsh 1 / 2. It's
known to be free on some cpus and they are most common for address
computation.

This is a slight win for blowfish, rijndael, etc.

rdar://12870177

llvm-svn: 170581

11 years agoRemove edis remnant.
Benjamin Kramer [Wed, 19 Dec 2012 20:11:17 +0000 (20:11 +0000)]
Remove edis remnant.

llvm-svn: 170580

11 years agoRemove edis - the enhanced disassembler. Fixes PR14654.
Roman Divacky [Wed, 19 Dec 2012 19:55:47 +0000 (19:55 +0000)]
Remove edis - the enhanced disassembler. Fixes PR14654.

llvm-svn: 170578