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

11 years agoDon't emit calls to virtual [[noreturn]] functions as noreturn; overrides of a
Richard Smith [Tue, 5 Mar 2013 08:30:04 +0000 (08:30 +0000)]
Don't emit calls to virtual [[noreturn]] functions as noreturn; overrides of a
[[noreturn]] function are not required to also be [[noreturn]]. We still emit
calls to virtual __attribute__((noreturn)) functions as noreturn; unlike GCC,
we do require overriders to also be noreturn for that attribute.

llvm-svn: 176476

11 years agoAdd quotation marks to template names in diagnostics.
David Blaikie [Tue, 5 Mar 2013 06:21:38 +0000 (06:21 +0000)]
Add quotation marks to template names in diagnostics.

llvm-svn: 176474

11 years agoFix ivar ordering for Process ctor to match the order they're
Jason Molenda [Tue, 5 Mar 2013 03:33:59 +0000 (03:33 +0000)]
Fix ivar ordering for Process ctor to match the order they're
declared in the .h file.

llvm-svn: 176473

11 years agoscan-build: explicitly say "No bugs found" if there are no reports.
Jordan Rose [Tue, 5 Mar 2013 02:33:08 +0000 (02:33 +0000)]
scan-build: explicitly say "No bugs found" if there are no reports.

Patch by Martin Storsjo!

llvm-svn: 176472

11 years agollvm/test/CodeGen/Mips/mips64-f128.ll: Add explicit -mtriple=mips64el-unknown-unknown...
NAKAMURA Takumi [Tue, 5 Mar 2013 02:18:59 +0000 (02:18 +0000)]
llvm/test/CodeGen/Mips/mips64-f128.ll: Add explicit -mtriple=mips64el-unknown-unknown to appease win32.

FIXME: Is it expected for win32 to affect mips targets?
llvm-svn: 176471

11 years agollvm/test/CodeGen/Thumb/iabs.ll: Add explicit -mtriple=thumb-unknown-unknown to appea...
NAKAMURA Takumi [Tue, 5 Mar 2013 02:18:52 +0000 (02:18 +0000)]
llvm/test/CodeGen/Thumb/iabs.ll: Add explicit -mtriple=thumb-unknown-unknown to appease win32 hosts.

llvm-svn: 176470

11 years agoSilence a number of static analyzer warnings with assertions and such.
Jordan Rose [Tue, 5 Mar 2013 01:27:54 +0000 (01:27 +0000)]
Silence a number of static analyzer warnings with assertions and such.

No functionality change.

llvm-svn: 176469

11 years agodoc parsing. We want to issue a strong warning when
Fariborz Jahanian [Tue, 5 Mar 2013 01:05:07 +0000 (01:05 +0000)]
doc parsing. We want to issue a strong warning when
an @function comment is not followed by a function decl.
// rdar://13094352

llvm-svn: 176468

11 years agoRemove unused #includes.
Bill Wendling [Tue, 5 Mar 2013 01:00:45 +0000 (01:00 +0000)]
Remove unused #includes.

llvm-svn: 176467

11 years agoupdate how libcompiler_rt.dylib links under libSystem.dylib on MacOSX
Nick Kledzik [Tue, 5 Mar 2013 00:16:52 +0000 (00:16 +0000)]
update how libcompiler_rt.dylib links under libSystem.dylib on MacOSX

llvm-svn: 176466

11 years agoAdded summary option to cpp11-migrate tool
Dmitri Gribenko [Tue, 5 Mar 2013 00:12:33 +0000 (00:12 +0000)]
Added summary option to cpp11-migrate tool

Added a summary option that enables output to stdout counting the number of
changes each transform has accepted, rejected or deferred.

Patch by Ariel Bernal.

llvm-svn: 176465

11 years agoThe current X86 NOP padding uses one long NOP followed by the remainder in
David Sehr [Tue, 5 Mar 2013 00:02:23 +0000 (00:02 +0000)]
The current X86 NOP padding uses one long NOP followed by the remainder in
one-byte NOPs.  If the processor actually executes those NOPs, as it sometimes
does with aligned bundling, this can have a performance impact.  From my
micro-benchmarks run on my one machine, a 15-byte NOP followed by twelve
one-byte NOPs is about 20% worse than a 15 followed by a 12.  This patch
changes NOP emission to emit as many 15-byte (the maximum) as possible followed
by at most one shorter NOP.

llvm-svn: 176464

11 years ago[analyzer] Don't let cf_audited_transfer override CFRetain semantics.
Jordan Rose [Mon, 4 Mar 2013 23:21:32 +0000 (23:21 +0000)]
[analyzer] Don't let cf_audited_transfer override CFRetain semantics.

We weren't treating a cf_audited_transfer CFRetain as returning +1 because
its name doesn't contain "Create" or "Copy". Oops! Fortunately, the
standard definitions of these functions are not marked audited.

<rdar://problem/13339601>

llvm-svn: 176463

11 years agoUn-skipping tests affected by llvm.org/pr15256
Daniel Malea [Mon, 4 Mar 2013 23:15:08 +0000 (23:15 +0000)]
Un-skipping tests affected by llvm.org/pr15256

patch by Ashok Thirumurthi!

llvm-svn: 176462

11 years agoComment parsing: refactor handling of command markers in AST
Dmitri Gribenko [Mon, 4 Mar 2013 23:06:15 +0000 (23:06 +0000)]
Comment parsing: refactor handling of command markers in AST

* Use the term 'command marker', because the semantics of 'backslash' and 'at'
  commands are the same.  (Talking about 'at commands' makes them look like a
  special entity.)

* Sink the flag down into bitfields, reducing the size of AST nodes.

* Change the flag into an enum for clarity.  Boolean function parameters are
  not very clear.

* Add unittests for new tok::at_command tokens.

llvm-svn: 176461

11 years agoFix makefile and re-enable test disabled due to llvm.org/pr15256
Daniel Malea [Mon, 4 Mar 2013 23:04:53 +0000 (23:04 +0000)]
Fix makefile and re-enable test disabled due to llvm.org/pr15256
- fix is: don't pass incompatible -stdlib option when building with GCC

llvm-svn: 176460

11 years agoCheck isDiscardableIfUnused, rather than hasLocalLinkage, when bumping
Lang Hames [Mon, 4 Mar 2013 22:40:44 +0000 (22:40 +0000)]
Check isDiscardableIfUnused, rather than hasLocalLinkage, when bumping
GlobalValue linkage up to ExternalLinkage in the ExtractGV pass. This
prevents linkonce and linkonce_odr symbols from being DCE'd.

llvm-svn: 176459

11 years agoAdd ARM v6m, v7m, and v7em architectures for Cortex-M series processors.
Bob Wilson [Mon, 4 Mar 2013 22:37:49 +0000 (22:37 +0000)]
Add ARM v6m, v7m, and v7em architectures for Cortex-M series processors.

<rdar://problem/11314476>

llvm-svn: 176458

11 years agoTidy up lists of Cortex-A series processors, adding entries for A7.
Bob Wilson [Mon, 4 Mar 2013 22:37:46 +0000 (22:37 +0000)]
Tidy up lists of Cortex-A series processors, adding entries for A7.

Also fix a missing entry for cortex-r5 in one copy of getLLVMArchSuffixForARM.

llvm-svn: 176457

11 years agoFix confused use of llvm::StringSwitch for armv7r architecture.
Bob Wilson [Mon, 4 Mar 2013 22:37:43 +0000 (22:37 +0000)]
Fix confused use of llvm::StringSwitch for armv7r architecture.

svn 170909 added support for cortex-r5 but in this case it was done
incorrectly. The last argument to StringSwitch.Cases() is the replacement
value, so by adding "cortex-r5" it changed the default cpu for armv7r to
cortex-r5 instead of cortex-r4.

llvm-svn: 176456

11 years ago[mips] Print move instructions.
Akira Hatanaka [Mon, 4 Mar 2013 22:25:01 +0000 (22:25 +0000)]
[mips] Print move instructions.

"move $4, $5" is printed instead of "or $4, $5, $zero".

llvm-svn: 176455

11 years ago<rdar://problem/13338643>
Greg Clayton [Mon, 4 Mar 2013 21:46:16 +0000 (21:46 +0000)]
<rdar://problem/13338643>

DWARF with .o files now uses 40-60% less memory!

Big fixes include:
- Change line table internal representation to contain "file addresses". Since each line table is owned by a compile unit that is owned by a module, it makes address translation into lldb_private::Address easy to do when needed.
- Removed linked address members/methods from lldb_private::Section and lldb_private::Address
- lldb_private::LineTable can now relink itself using a FileRangeMap to make it easier to re-link line tables in the future
- Added ObjectFile::ClearSymtab() so that we can get rid of the object file symbol tables after we parse them once since they are not needed and kept memory allocated for no reason
- Moved the m_sections_ap (std::auto_ptr to section list) and m_symtab_ap (std::auto_ptr to the lldb_private::Symtab) out of each of the ObjectFile subclasses and put it into lldb_private::ObjectFile.
- Changed how the debug map is parsed and stored to be able to:
    - Lazily parse the debug map for each object file
    - not require the address map for a .o file until debug information is linked for a .o file

llvm-svn: 176454

11 years agoMips specific inline assembler constraint 'R'
Jack Carter [Mon, 4 Mar 2013 21:36:11 +0000 (21:36 +0000)]
Mips specific inline assembler constraint 'R'

'R' An address that can be sued in a non-macro load or store.
This patch includes a positive test case.

llvm-svn: 176453

11 years agoMips specific inline assembler constraint 'R'
Jack Carter [Mon, 4 Mar 2013 21:33:15 +0000 (21:33 +0000)]
Mips specific inline assembler constraint 'R'

'R' An address that can be sued in a non-macro load or store.
This patch includes a positive test case.

llvm-svn: 176452

11 years ago<rdar://problem/13338758>
Han Ming Ong [Mon, 4 Mar 2013 21:25:51 +0000 (21:25 +0000)]
<rdar://problem/13338758>

Make it configurable what to profile.
For Mac, we don't use the dirty page size yet and hence there is no need to gather that. This should be way better in not draining the battery since we are operating between 0% to 0.1% on the Mac after this change.

llvm-svn: 176451

11 years ago[PCH] In HeaderFileInfoTrait::EqualKey(), use FileManager::getFile() to compare two...
Argyrios Kyrtzidis [Mon, 4 Mar 2013 20:33:40 +0000 (20:33 +0000)]
[PCH] In HeaderFileInfoTrait::EqualKey(), use FileManager::getFile() to compare two filenames, instead of llvm::sys::fs::equivalent().

llvm::sys::fs::equivalent() does 2 stat calls every time it's called. Use FileManager::getFile() to take advantage
of the stat caching that FileManager is providing.

llvm-svn: 176450

11 years agoComment parsing tests: move a test into a group of similar tests
Dmitri Gribenko [Mon, 4 Mar 2013 20:23:16 +0000 (20:23 +0000)]
Comment parsing tests: move a test into a group of similar tests

llvm-svn: 176449

11 years ago[comment parsing] source fidelity for tparam command too.
Fariborz Jahanian [Mon, 4 Mar 2013 20:08:47 +0000 (20:08 +0000)]
[comment parsing] source fidelity for tparam command too.
// rdar://13066276

llvm-svn: 176448

11 years agoMake sure to not split string literals at the first character.
Manuel Klimek [Mon, 4 Mar 2013 20:03:38 +0000 (20:03 +0000)]
Make sure to not split string literals at the first character.

llvm-svn: 176447

11 years agoPrint function names under --polly-report
Tobias Grosser [Mon, 4 Mar 2013 19:49:51 +0000 (19:49 +0000)]
Print function names under --polly-report

llvm-svn: 176446

11 years agowarn-documentation.cpp: reorganize tests
Dmitri Gribenko [Mon, 4 Mar 2013 19:39:33 +0000 (19:39 +0000)]
warn-documentation.cpp: reorganize tests

Tests are ordered by command in this file.  It is nice to keep it that way.

llvm-svn: 176445

11 years agocomment parsing. Missed a case of referring
Fariborz Jahanian [Mon, 4 Mar 2013 18:53:41 +0000 (18:53 +0000)]
comment parsing. Missed a case of referring
to original command in diagnostic. // rdar://13066276

llvm-svn: 176444

11 years agoReapply r176381, writing the CHECKs in a more forgiving manner to account for
Eli Bendersky [Mon, 4 Mar 2013 18:20:31 +0000 (18:20 +0000)]
Reapply r176381, writing the CHECKs in a more forgiving manner to account for
running llvm-objdump on Darwin.

llvm-svn: 176443

11 years agoBypass Slow Divides
Preston Gurd [Mon, 4 Mar 2013 18:13:57 +0000 (18:13 +0000)]
Bypass Slow Divides

* Only apply divide bypass optimization when not optimizing for size.
* Fixed bug caused by constant for 0 value of type Int32,
  used dividend type to generate the constant instead.
* For atom x86-64 apply the divide bypass to use 16-bit divides instead of
  64-bit divides when operand values are small enough.
* Added lit tests for 64-bit divide bypass.

Patch by Tyler Nowicki!

llvm-svn: 176442

11 years agohasQualifer() matcher should return false if there's no qualifier
Edwin Vane [Mon, 4 Mar 2013 17:51:00 +0000 (17:51 +0000)]
hasQualifer() matcher should return false if there's no qualifier

Instead of passing NULL on to sub-matcher, just return false. Updated tests and
regenerated docs.

Author: Tareq A Siraj <tareq.a.siraj@intel.com>
llvm-svn: 176441

11 years agoR600: Use the GPU type to determine the correct DataLayout v2
Tom Stellard [Mon, 4 Mar 2013 17:40:53 +0000 (17:40 +0000)]
R600: Use the GPU type to determine the correct DataLayout v2

v2:
  - Add R600_DOUBLE_OPS for RV670
  - s/CPU/GPU/

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
llvm-svn: 176440

11 years agoR600: Clean up datalayout strings so they better match hardware capabilities
Tom Stellard [Mon, 4 Mar 2013 17:40:28 +0000 (17:40 +0000)]
R600: Clean up datalayout strings so they better match hardware capabilities

llvm-svn: 176439