platform/upstream/llvm.git
11 years agoR600/SI: Handle VGPR64 destination in copyPhysReg().
Tom Stellard [Thu, 7 Feb 2013 19:39:43 +0000 (19:39 +0000)]
R600/SI: Handle VGPR64 destination in copyPhysReg().

Allows nexuiz to run with radeonsi.

Patch by: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174655

11 years agoR600/SI: Add pattern for mul.
Tom Stellard [Thu, 7 Feb 2013 19:39:42 +0000 (19:39 +0000)]
R600/SI: Add pattern for mul.

20 more little piglits with radeonsi.

Patch by: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174654

11 years agoR600/SI: simplify and fix SMRD encoding
Tom Stellard [Thu, 7 Feb 2013 19:39:40 +0000 (19:39 +0000)]
R600/SI: simplify and fix SMRD encoding

The _SGPR variants where wrong.

Patch by: Christian König

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174653

11 years agoR600/SI: add proper 64bit immediate support v2
Tom Stellard [Thu, 7 Feb 2013 19:39:38 +0000 (19:39 +0000)]
R600/SI: add proper 64bit immediate support v2

v2: rebased on current upstream

Patch by: Christian König

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174652

11 years agoR600: Add an explicit default processor
Tom Stellard [Thu, 7 Feb 2013 19:39:34 +0000 (19:39 +0000)]
R600: Add an explicit default processor

This is for the case when no processor is passed to the backend.  This
prevents the

'' is not a recognized processor for this target (ignoring processor)

warning from being generated by clang.

llvm-svn: 174651

11 years agoIdentify and simplify idempotent intrinsics. Test case included.
Michael Ilseman [Thu, 7 Feb 2013 19:26:05 +0000 (19:26 +0000)]
Identify and simplify idempotent intrinsics. Test case included.

llvm-svn: 174650

11 years agoAdd missing header from r174648
Douglas Gregor [Thu, 7 Feb 2013 19:15:44 +0000 (19:15 +0000)]
Add missing header from r174648

llvm-svn: 174649

11 years agoRetain all hidden methods in the global method pool, because they may become visible...
Douglas Gregor [Thu, 7 Feb 2013 19:13:24 +0000 (19:13 +0000)]
Retain all hidden methods in the global method pool, because they may become visible <rdar://problem/13172858>.

llvm-svn: 174648

11 years agolibclang: reduce CXString abuse
Dmitri Gribenko [Thu, 7 Feb 2013 19:09:22 +0000 (19:09 +0000)]
libclang: reduce CXString abuse

ContainerUSR is not really a CXString, but it should own the underlying memory
buffer.  Thus, it is better to change the type to std::string.  This will not
introduce extra copying overhead, since the workaround that is being removed
was already making a copy.

llvm-svn: 174647

11 years agoLoop Vectorizer: Refactor Memory Cost Computation
Arnold Schwaighofer [Thu, 7 Feb 2013 19:05:21 +0000 (19:05 +0000)]
Loop Vectorizer: Refactor Memory Cost Computation

We don't want too many classes in a pass and the classes obscure the details. I
was going a little overboard with object modeling here. Replace classes by
generic code that handles both loads and stores.

No functionality change intended.

llvm-svn: 174646

11 years agoRename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency.
Douglas Gregor [Thu, 7 Feb 2013 19:01:24 +0000 (19:01 +0000)]
Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for consistency.

llvm-svn: 174645

11 years agoThread safety analysis: make sure that expressions in attributes are parsed
DeLesley Hutchins [Thu, 7 Feb 2013 19:01:07 +0000 (19:01 +0000)]
Thread safety analysis: make sure that expressions in attributes are parsed
in an unevaluated context.

llvm-svn: 174644

11 years agoFix for combined loop and nullptr convert tests
Edwin Vane [Thu, 7 Feb 2013 18:49:23 +0000 (18:49 +0000)]
Fix for combined loop and nullptr convert tests

The rewriter was previously reading the content buffer from the file itself.
Since we are now keeping the content in memory and writing to the file only
once, the rewriter's buffer (from the file) was not in sync with the
RefactoringTool's buffer. Adding an overrideFileContents call (similar to how
Clang-format handles for this) will resolve this issue.

Author: Jack Yang <jack.yang@intel.com>
Reviewers: gribozavr, klimek
llvm-svn: 174643

11 years agoBelt and suspenders when calling sysconf
Marshall Clow [Thu, 7 Feb 2013 18:48:09 +0000 (18:48 +0000)]
Belt and suspenders when calling sysconf

llvm-svn: 174642

11 years agoADT: Correct APInt::getActiveWords for zero values
Meador Inge [Thu, 7 Feb 2013 18:36:50 +0000 (18:36 +0000)]
ADT: Correct APInt::getActiveWords for zero values

PR15138 was opened because of a segfault in the Bitcode writer.
The actual issue ended up being a bug in APInt where calls to
APInt::getActiveWords returns a bogus value when the APInt value
is 0.  This patch fixes the problem by ensuring that getActiveWords
returns 1 for 0 valued APInts.

llvm-svn: 174641

11 years agoTestcase for r174477.
Chad Rosier [Thu, 7 Feb 2013 18:32:25 +0000 (18:32 +0000)]
Testcase for r174477.

llvm-svn: 174640

11 years ago[Object][ELF] Fix crash on no dynamic section.
Michael J. Spencer [Thu, 7 Feb 2013 18:26:45 +0000 (18:26 +0000)]
[Object][ELF] Fix crash on no dynamic section.

llvm-svn: 174639

11 years ago<rdar://problem/13107151>
Enrico Granata [Thu, 7 Feb 2013 18:23:56 +0000 (18:23 +0000)]
<rdar://problem/13107151>

SBValueList was backed by a ValueObjectList. This caused us to lose track of the additional metadata in the ValueImpl that backs SBValue.
This checkin fixes that by backing SBValueList with ValueListImpl (that essentially wraps a vector<SBValue>).

llvm-svn: 174638

11 years agoAnother libc++ warning suppression on Linux; no functionality change
Marshall Clow [Thu, 7 Feb 2013 17:37:58 +0000 (17:37 +0000)]
Another libc++ warning suppression on Linux; no functionality change

llvm-svn: 174637

11 years agoMore libc++ warning suppression on Linux; no functionality change
Marshall Clow [Thu, 7 Feb 2013 17:20:56 +0000 (17:20 +0000)]
More libc++ warning suppression on Linux; no functionality change

llvm-svn: 174636

11 years agotsan: fix suppress_java logic
Dmitry Vyukov [Thu, 7 Feb 2013 17:12:28 +0000 (17:12 +0000)]
tsan: fix suppress_java logic

llvm-svn: 174635

11 years agoR600/SI: Use proper instructions for array/shadow samplers.
Tom Stellard [Thu, 7 Feb 2013 17:02:14 +0000 (17:02 +0000)]
R600/SI: Use proper instructions for array/shadow samplers.

Patch by: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174634

11 years agoR600/SI: Make sample intrinsic address parameter type overloaded.
Tom Stellard [Thu, 7 Feb 2013 17:02:13 +0000 (17:02 +0000)]
R600/SI: Make sample intrinsic address parameter type overloaded.

Handle vectors of 1 to 16 integers.

Change the intrinsic names to prevent the wrong one from being selected at
runtime due to the overloading.

Patch By: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174633

11 years agoR600/SI: Add basic support for more integer vector types.
Tom Stellard [Thu, 7 Feb 2013 17:02:09 +0000 (17:02 +0000)]
R600/SI: Add basic support for more integer vector types.

v1i32, v2i32, v8i32 and v16i32.

Only add VGPR register classes for integer vector types, to avoid attempts
copying from VGPR to SGPR registers, which is not possible.

Patch By: Michel Dänzer

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174632

11 years agoARM cost model: Add costs for vector selects
Arnold Schwaighofer [Thu, 7 Feb 2013 16:10:15 +0000 (16:10 +0000)]
ARM cost model: Add costs for vector selects

Vector selects are cheap on NEON. They get lowered to a vbsl instruction.

radar://13158753

llvm-svn: 174631

11 years agoEnable overloading of OpenCL events - this is needed for the overloaded OpenCL builti...
Guy Benyei [Thu, 7 Feb 2013 16:05:33 +0000 (16:05 +0000)]
Enable overloading of OpenCL events - this is needed for the overloaded OpenCL builtin functions.

llvm-svn: 174630

11 years ago[ASan] Remove the replace_cfallocator flag, which is used no more.
Alexander Potapenko [Thu, 7 Feb 2013 15:59:37 +0000 (15:59 +0000)]
[ASan] Remove the replace_cfallocator flag, which is used no more.
See https://code.google.com/p/address-sanitizer/issues/detail?id=10 for the context.

llvm-svn: 174629

11 years ago[ASan] Enable alloc_dealloc_mismatch by default on Darwin.
Alexander Potapenko [Thu, 7 Feb 2013 15:55:21 +0000 (15:55 +0000)]
[ASan] Enable alloc_dealloc_mismatch by default on Darwin.
Enable AddressSanitizer.AllocDeallocMismatch tests.

llvm-svn: 174628

11 years agoFileCheckize volatile test
Tim Northover [Thu, 7 Feb 2013 15:39:16 +0000 (15:39 +0000)]
FileCheckize volatile test

llvm-svn: 174627

11 years ago[ASan] Enable the new and delete wrappers on Darwin.
Alexander Potapenko [Thu, 7 Feb 2013 15:33:56 +0000 (15:33 +0000)]
[ASan] Enable the new and delete wrappers on Darwin.
Also fix large_func_test.cc, which got broken when we switched to allocator2: the OOB access was too far from the original allocation, so ASan decided to describe the next one.

llvm-svn: 174626

11 years agoRevert accidental check-in. These changes are probably good, but premature at this...
Howard Hinnant [Thu, 7 Feb 2013 15:31:44 +0000 (15:31 +0000)]
Revert accidental check-in.  These changes are probably good, but premature at this point.

llvm-svn: 174625

11 years agotsan: intercept libc __res_iclose
Dmitry Vyukov [Thu, 7 Feb 2013 15:27:45 +0000 (15:27 +0000)]
tsan: intercept libc __res_iclose
this is required to catch close of file descriptors created in getaddrinfo()

llvm-svn: 174624

11 years agoMichael van der Westhuizen: The attached patch add support for building against libc...
Howard Hinnant [Thu, 7 Feb 2013 15:27:39 +0000 (15:27 +0000)]
Michael van der Westhuizen: The attached patch add support for building against libc++abi and libcxxrt to CMake builds of libc++.

Usage (with the appropriate CC and CXX environment variables) is:
$ cmake -DLIBCXX_CXX_ABI=libcxxabi '-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/home/michael/libcxxabi/include' ../libcxx
and:
$ cmake -DLIBCXX_CXX_ABI=libcxxrt '-DLIBCXX_LIBCXXRT_INCLUDE_PATHS=/home/michael/libcxxrt/src' ../libcxx

llvm-svn: 174623

11 years agotsan: fix Go build
Dmitry Vyukov [Thu, 7 Feb 2013 15:26:55 +0000 (15:26 +0000)]
tsan: fix Go build

llvm-svn: 174622

11 years agoOnly check for volatile memcpys in test.
Tim Northover [Thu, 7 Feb 2013 15:11:48 +0000 (15:11 +0000)]
Only check for volatile memcpys in test.

AArch64 handles aggFct's return struct slightly differently, leading
to an extra memcpy. This test is fortunately only concerned about
volatile copies, so we can modify the grep text to filter it.

llvm-svn: 174621

11 years agoAdd AArch64 wchar definition to test
Tim Northover [Thu, 7 Feb 2013 15:11:44 +0000 (15:11 +0000)]
Add AArch64 wchar definition to test

This should allow it to pass if the default triple is AArch64

llvm-svn: 174620

11 years agoXFAIL test that's inappropriate for AArch64 ABI
Tim Northover [Thu, 7 Feb 2013 15:11:40 +0000 (15:11 +0000)]
XFAIL test that's inappropriate for AArch64 ABI

Only some ABIs require the "signext" attribute on parameters. On most
platforms, however, it's a useful test so it's best not to limit it to some
random arbitrary platform.

llvm-svn: 174619

11 years agoPermit ABIs where the caller extends the result (test change).
Tim Northover [Thu, 7 Feb 2013 15:11:36 +0000 (15:11 +0000)]
Permit ABIs where the caller extends the result (test change).

This test was written to make sure *something* sane is generated, not
to test any ABI's signedness semantics.

This should allow the test to pass if AArch64 is the default target.

llvm-svn: 174618

11 years ago[sanitizer] always allocate 16-byte aligned chunks of memory
Kostya Serebryany [Thu, 7 Feb 2013 15:04:06 +0000 (15:04 +0000)]
[sanitizer] always allocate 16-byte aligned chunks of memory

llvm-svn: 174617

11 years ago[sanitizer_common] Fix lint warnings.
Alexander Potapenko [Thu, 7 Feb 2013 14:58:04 +0000 (14:58 +0000)]
[sanitizer_common] Fix lint warnings.

llvm-svn: 174616

11 years agoR600/SI: Add pattern for flog2
Michel Danzer [Thu, 7 Feb 2013 14:55:16 +0000 (14:55 +0000)]
R600/SI: Add pattern for flog2

22 more little piglits with radeonsi.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174615

11 years agoFDE::dumpHeader(): Forgot to fix one more formatting, ... take two!
NAKAMURA Takumi [Thu, 7 Feb 2013 14:54:42 +0000 (14:54 +0000)]
FDE::dumpHeader(): Forgot to fix one more formatting, ... take two!

Excuse me, I could not test it locally.

llvm-svn: 174614

11 years agoDocumentation: fix typo: stdard -> stdarg
Dmitri Gribenko [Thu, 7 Feb 2013 14:48:33 +0000 (14:48 +0000)]
Documentation: fix typo: stdard -> stdarg

llvm-svn: 174613

11 years agoDocumentation: add information about builtin includes to FAQ
Dmitri Gribenko [Thu, 7 Feb 2013 14:36:37 +0000 (14:36 +0000)]
Documentation: add information about builtin includes to FAQ

llvm-svn: 174612

11 years agoClean up some warnings for Linux build; No functionality change
Marshall Clow [Thu, 7 Feb 2013 14:22:51 +0000 (14:22 +0000)]
Clean up some warnings for Linux build; No functionality change

llvm-svn: 174611

11 years agoR600: Consolidate sub register indices.
Tom Stellard [Thu, 7 Feb 2013 14:02:37 +0000 (14:02 +0000)]
R600: Consolidate sub register indices.

Use sub0-15 everywhere.

Patch by: Michel Dänzerr

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 174610

11 years agoR600: Add support for SET*_DX10 instructions
Tom Stellard [Thu, 7 Feb 2013 14:02:35 +0000 (14:02 +0000)]
R600: Add support for SET*_DX10 instructions

These instructions compare two floating point values and return an
integer true (-1) or false (0) value.

When compiling code generated by the Mesa GLSL frontend, the SET*_DX10
instructions save us four instructions for most branch decisions that
use floating-point comparisons.

llvm-svn: 174609

11 years agoR600: Add tests for unsupported condition codes.
Tom Stellard [Thu, 7 Feb 2013 14:02:33 +0000 (14:02 +0000)]
R600: Add tests for unsupported condition codes.

All of the le and lt variants are unsupported.

llvm-svn: 174608

11 years agoR600: Fix assembly name for SETGT_INT
Tom Stellard [Thu, 7 Feb 2013 14:02:27 +0000 (14:02 +0000)]
R600: Fix assembly name for SETGT_INT

llvm-svn: 174607

11 years agolibclang: CursorVisitor::VisitBuiltinTypeLoc(): Add OCLSampler. [-Wswitch]
NAKAMURA Takumi [Thu, 7 Feb 2013 12:47:42 +0000 (12:47 +0000)]
libclang: CursorVisitor::VisitBuiltinTypeLoc(): Add OCLSampler. [-Wswitch]

llvm-svn: 174606

11 years agoImplements equalsNode for Decl and Stmt.
Manuel Klimek [Thu, 7 Feb 2013 12:42:10 +0000 (12:42 +0000)]
Implements equalsNode for Decl and Stmt.

This is a powerful tool when doing iterative refined matches,
where another match is started inside the match callback of the first
one; this allows for example to find out whether the node was in
the condition or body of its parent if-statement.

llvm-svn: 174605

11 years ago[ASan] Fix a compilation warning.
Alexander Potapenko [Thu, 7 Feb 2013 12:00:40 +0000 (12:00 +0000)]
[ASan] Fix a compilation warning.

llvm-svn: 174604

11 years ago[ASan] Implement asan_mz_size(), asan_mz_force_lock() and asan_mz_force_unlock()...
Alexander Potapenko [Thu, 7 Feb 2013 11:40:03 +0000 (11:40 +0000)]
[ASan] Implement asan_mz_size(), asan_mz_force_lock() and asan_mz_force_unlock() for allocator2.
Switch to allocator2 on Darwin.

llvm-svn: 174603

11 years agoFDE::dumpHeader(): Forgot to fix one more formatting. It affected bigendian hosts.
NAKAMURA Takumi [Thu, 7 Feb 2013 10:57:42 +0000 (10:57 +0000)]
FDE::dumpHeader(): Forgot to fix one more formatting. It affected bigendian hosts.

llvm-svn: 174602

11 years agoAdd OpenCL samplers as Clang builtin types and check sampler related restrictions.
Guy Benyei [Thu, 7 Feb 2013 10:55:47 +0000 (10:55 +0000)]
Add OpenCL samplers as Clang builtin types and check sampler related restrictions.

llvm-svn: 174601

11 years ago[sanitizer] OFF_T on Mac is u64.
Evgeniy Stepanov [Thu, 7 Feb 2013 09:52:43 +0000 (09:52 +0000)]
[sanitizer] OFF_T on Mac is u64.

llvm-svn: 174600

11 years ago[tsan] race_on_write test
Kostya Serebryany [Thu, 7 Feb 2013 09:48:17 +0000 (09:48 +0000)]
[tsan] race_on_write test

llvm-svn: 174599

11 years ago[sanitizer] Exclude off64_t test on mac.
Evgeniy Stepanov [Thu, 7 Feb 2013 09:34:08 +0000 (09:34 +0000)]
[sanitizer] Exclude off64_t test on mac.

llvm-svn: 174598

11 years ago[Sanitizer] include stddef.h for ptrdiff_t in interception type test
Alexey Samsonov [Thu, 7 Feb 2013 09:03:01 +0000 (09:03 +0000)]
[Sanitizer] include stddef.h for ptrdiff_t in interception type test

llvm-svn: 174597

11 years agoImplement aeabi_{f,d}cmp*.
Zonr Chang [Thu, 7 Feb 2013 08:29:47 +0000 (08:29 +0000)]
Implement aeabi_{f,d}cmp*.

Special thanks to Anton for the review.

llvm-svn: 174596

11 years ago[msan] add strip_path_prefix flag; print error summary; don't crash while printing...
Kostya Serebryany [Thu, 7 Feb 2013 08:04:56 +0000 (08:04 +0000)]
[msan] add strip_path_prefix flag; print error summary; don't crash while printing summary if debug info is missing. The tests will follow later once we establish the lit-like tests for msan.

llvm-svn: 174595

11 years ago[sanitizer] Add a missing header.
Evgeniy Stepanov [Thu, 7 Feb 2013 07:43:41 +0000 (07:43 +0000)]
[sanitizer] Add a missing header.

llvm-svn: 174594

11 years ago[sanitizer] Fix wrong size of OFF_T on 32-bit platforms.
Evgeniy Stepanov [Thu, 7 Feb 2013 07:37:12 +0000 (07:37 +0000)]
[sanitizer] Fix wrong size of OFF_T on 32-bit platforms.

This broke pread/pwrite interceptors when building without
-D_FILE_OFFSET_BITS=64, and always on Android.

llvm-svn: 174593

11 years ago[docs] lld self hosts.
Michael J. Spencer [Thu, 7 Feb 2013 07:26:45 +0000 (07:26 +0000)]
[docs] lld self hosts.

llvm-svn: 174592

11 years agoRemove this testcase until I can figure out how to properly conditionalize it.
Owen Anderson [Thu, 7 Feb 2013 07:01:54 +0000 (07:01 +0000)]
Remove this testcase until I can figure out how to properly conditionalize it.

llvm-svn: 174591

11 years ago[Driver] Add -L and -l support.
Michael J. Spencer [Thu, 7 Feb 2013 06:47:17 +0000 (06:47 +0000)]
[Driver] Add -L and -l support.

llvm-svn: 174590

11 years ago[Driver] Replace Target with TargetInfo. Simplify LinkerInput.
Michael J. Spencer [Thu, 7 Feb 2013 06:46:48 +0000 (06:46 +0000)]
[Driver] Replace Target with TargetInfo. Simplify LinkerInput.

This removes Target and moves the functionality it had over to TargetInfo.

This also simplifies LinkerInput by removing the InputKind. This will be handled elsewhere.

llvm-svn: 174589

11 years agoAnother attempt at getting the XFAIL line right for this test.
Owen Anderson [Thu, 7 Feb 2013 06:26:55 +0000 (06:26 +0000)]
Another attempt at getting the XFAIL line right for this test.

llvm-svn: 174588

11 years ago[ReleaseNotes] tidy up organization and formatting
Sean Silva [Thu, 7 Feb 2013 05:56:46 +0000 (05:56 +0000)]
[ReleaseNotes] tidy up organization and formatting

llvm-svn: 174587

11 years agoUpdate Release notes regarding TTI.
Nadav Rotem [Thu, 7 Feb 2013 05:44:58 +0000 (05:44 +0000)]
Update Release notes regarding TTI.

llvm-svn: 174586

11 years agoDocument the loop vectorizer changes.
Nadav Rotem [Thu, 7 Feb 2013 05:42:31 +0000 (05:42 +0000)]
Document the loop vectorizer changes.

llvm-svn: 174585

11 years agoApply the pure-virtual odr rule to other constructs which can call overloaded
Nick Lewycky [Thu, 7 Feb 2013 05:08:22 +0000 (05:08 +0000)]
Apply the pure-virtual odr rule to other constructs which can call overloaded
operators.

llvm-svn: 174584

11 years agoMake sure we call externals from libraries properly when -static.
Reed Kotler [Thu, 7 Feb 2013 04:34:51 +0000 (04:34 +0000)]
Make sure we call externals from libraries properly when -static.
For example, when we are doing mips16 hard float or soft float.

llvm-svn: 174583

11 years agotblgen: Diagnose duplicate includes.
Sean Silva [Thu, 7 Feb 2013 04:30:39 +0000 (04:30 +0000)]
tblgen: Diagnose duplicate includes.

A double inclusion will pretty much always be an error in TableGen, so
there's no point going on just to die with "def already defined" or
whatnot.

I'm not too thrilled about the "public: ... private: ..." to expose the
DependenciesMapTy, but I really didn't see a better way to keep that
type centralized. It's a smell that indicates that some refactoring is
needed to make this code more loosely coupled.

This should avoid all bugs of the same nature as PR15189.

llvm-svn: 174582

11 years agoMoved some comments due to the recent refactoring of ObjCARC.
Michael Gottesman [Thu, 7 Feb 2013 04:12:57 +0000 (04:12 +0000)]
Moved some comments due to the recent refactoring of ObjCARC.

1. Moved a comment from ObjCARCOpts.cpp -> ObjCARCContract.cpp.
2. Removed a comment from ObjCARCOpts.cpp that was already moved to
ObjCARCAliasAnalysis.h/.cpp.

llvm-svn: 174581

11 years agoEnable jumps when in -static mode.
Reed Kotler [Thu, 7 Feb 2013 03:49:51 +0000 (03:49 +0000)]
Enable jumps when in -static mode.

llvm-svn: 174580

11 years agoAddress sanitizer found an issue which we filed a bug for: <rdar://problem/13168967>
Greg Clayton [Thu, 7 Feb 2013 03:41:30 +0000 (03:41 +0000)]
Address sanitizer found an issue which we filed a bug for: <rdar://problem/13168967>

llvm-svn: 174579

11 years agoFixed an bug found by running LLDB with the address sanitizer! We were accessing...
Greg Clayton [Thu, 7 Feb 2013 03:38:34 +0000 (03:38 +0000)]
Fixed an bug found by running LLDB with the address sanitizer! We were accessing one past the end of the buffer.

llvm-svn: 174578

11 years agoFix handling of module imports adding names to a DeclContext after qualified
Richard Smith [Thu, 7 Feb 2013 03:37:08 +0000 (03:37 +0000)]
Fix handling of module imports adding names to a DeclContext after qualified
name lookup has been performed in that context (this probably only happens in
C++).

1) Whenever we add names to a context, set a flag on it, and if we perform
lookup and discover that the context has had a lookup table built but has the
flag set, update all entries in the lookup table with additional names from
the external source.

2) When marking a DeclContext as having external visible decls, mark the
context in which lookup is performed, not the one we are adding. These won't
be the same if we're adding another copy of a pre-existing namespace.

llvm-svn: 174577

11 years agoSimplify FindExternalVisibleDeclsByName by making it return a bool indicating
Richard Smith [Thu, 7 Feb 2013 03:30:24 +0000 (03:30 +0000)]
Simplify FindExternalVisibleDeclsByName by making it return a bool indicating
if it found any decls, rather than returning a list of found decls. This
removes a returning-ArrayRef-to-deleted-storage bug from
MultiplexExternalSemaSource (in code not exercised by any of the clang
binaries), reduces the work required in the found-no-decls case with PCH, and
importantly removes the need for DeclContext::lookup to be reentrant.

No functionality change intended!

llvm-svn: 174576

11 years ago-Wimplicit-fallthrough: fixed two cases where "fallthrough annotation in unreachable...
Alexander Kornienko [Thu, 7 Feb 2013 02:17:19 +0000 (02:17 +0000)]
-Wimplicit-fallthrough: fixed two cases where "fallthrough annotation in unreachable code" was issued incorrectly.

Summary:
-Wimplicit-fallthrough: fixed two cases where "fallthrough annotation in unreachable code" was issued incorrectly:

1. In actual unreachable code, but not immediately on a fall-through execution
path "fallthrough annotation does not directly precede switch label" is better;
2. After default: in a switch with covered enum cases. Actually, these shouldn't
be treated as unreachable code for our purpose.

Reviewers: rsmith

Reviewed By: rsmith

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D374

llvm-svn: 174575

11 years agoDWARFDebugFrame.cpp: Fix formatting on i686 hosts.
NAKAMURA Takumi [Thu, 7 Feb 2013 02:02:27 +0000 (02:02 +0000)]
DWARFDebugFrame.cpp: Fix formatting on i686 hosts.

FIXME: Are they really truncated to i32 from i64 unconditionally?
llvm-svn: 174574

11 years agoobjective-C modern translator. Fix up the translated
Fariborz Jahanian [Thu, 7 Feb 2013 01:53:15 +0000 (01:53 +0000)]
objective-C modern translator. Fix up the translated
metadata to handle ivar bitfields. This is wip.
// rdar://13138459

llvm-svn: 174573

11 years ago80-col
Michael J. Spencer [Thu, 7 Feb 2013 01:43:18 +0000 (01:43 +0000)]
80-col

llvm-svn: 174572

11 years agoPreserve fast-math flags after reassociation and commutation. Update test cases
Michael Ilseman [Thu, 7 Feb 2013 01:40:15 +0000 (01:40 +0000)]
Preserve fast-math flags after reassociation and commutation. Update test cases

llvm-svn: 174571

11 years agoAST dumping: indicate the previous declaration for a redeclaration, and
Richard Smith [Thu, 7 Feb 2013 01:35:44 +0000 (01:35 +0000)]
AST dumping: indicate the previous declaration for a redeclaration, and
indicate the semantic DC if it's not the lexical DC. In passing, correct
the ascii-art child marker for a child of a FriendDecl.

llvm-svn: 174570

11 years agowhitespace
Michael Ilseman [Thu, 7 Feb 2013 01:27:13 +0000 (01:27 +0000)]
whitespace

llvm-svn: 174569

11 years ago[Object][ELF] Do the actual devirtualization.
Michael J. Spencer [Thu, 7 Feb 2013 01:24:22 +0000 (01:24 +0000)]
[Object][ELF] Do the actual devirtualization.

llvm-svn: 174568

11 years agoBe a little more permissive with -fmodules-ignore-macro= by removing everything after...
Douglas Gregor [Thu, 7 Feb 2013 01:18:48 +0000 (01:18 +0000)]
Be a little more permissive with -fmodules-ignore-macro= by removing everything after the second '=' if it is there.

llvm-svn: 174567

11 years ago[Object][ELF] Devirtualize and simplify dynamic table iteration.
Michael J. Spencer [Thu, 7 Feb 2013 01:17:23 +0000 (01:17 +0000)]
[Object][ELF] Devirtualize and simplify dynamic table iteration.

llvm-svn: 174566

11 years agoAdd a *San + modules FIXME.
Richard Smith [Thu, 7 Feb 2013 01:09:29 +0000 (01:09 +0000)]
Add a *San + modules FIXME.

llvm-svn: 174565

11 years agoFix CMake detection of various cmath functions, and XFAIL the test on platforms that...
Owen Anderson [Thu, 7 Feb 2013 00:54:05 +0000 (00:54 +0000)]
Fix CMake detection of various cmath functions, and XFAIL the test on platforms that are known to be missing them.

llvm-svn: 174564

11 years ago[build/Darwin] Use the correct libc++abi reexport list.
Daniel Dunbar [Thu, 7 Feb 2013 00:24:19 +0000 (00:24 +0000)]
[build/Darwin] Use the correct libc++abi reexport list.

 - This updates the build script to match the change originally in r149634, so
   that we re-export symbols from libc++abi appropriately.

llvm-svn: 174563

11 years ago[build] Detabify.
Daniel Dunbar [Thu, 7 Feb 2013 00:24:17 +0000 (00:24 +0000)]
[build] Detabify.

llvm-svn: 174562

11 years agoConditionalize constant folding of math intrinsics on the availability of an implemen...
Owen Anderson [Thu, 7 Feb 2013 00:21:34 +0000 (00:21 +0000)]
Conditionalize constant folding of math intrinsics on the availability of an implementation on the host.  This is a little bit unfortunate, but until someone decides to implement a full libm for APFloat, we don't have a better way to get this functionality.

llvm-svn: 174561

11 years agoIntroduce -fmodules-ignore-macro=NNN to ignore a macro when building/loading modules.
Douglas Gregor [Thu, 7 Feb 2013 00:21:12 +0000 (00:21 +0000)]
Introduce -fmodules-ignore-macro=NNN to ignore a macro when building/loading modules.

The use of this flag enables a modules optimization where a given set
of macros can be labeled as "ignored" by the modules
system. Definitions of those macros will be completely ignored when
building the module hash and will be stripped when actually building
modules. The overall effect is that this flag can be used to
drastically reduce the number of

Eventually, we'll want modules to tell us what set of macros they
respond to (the "configuration macros"), and anything not in that set
will be excluded. However, that requires a lot of per-module
information that must be accurate, whereas this option can be used
more readily.

Fixes the rest of <rdar://problem/13165109>.

llvm-svn: 174560

11 years agoFormatter: Move ObjC literal tests to its own test case.
Nico Weber [Thu, 7 Feb 2013 00:19:29 +0000 (00:19 +0000)]
Formatter: Move ObjC literal tests to its own test case.

Slightly expand the boxed expressions test with a few more snippets from
http://clang.llvm.org/docs/ObjectiveCLiterals.html

llvm-svn: 174559

11 years agoBe ready for fully qualified hash names in the __apples_types tables.
Greg Clayton [Wed, 6 Feb 2013 23:56:13 +0000 (23:56 +0000)]
Be ready for fully qualified hash names in the __apples_types tables.

llvm-svn: 174558

11 years agoFixed a problem that would cause LLDB to crash
Sean Callanan [Wed, 6 Feb 2013 23:21:59 +0000 (23:21 +0000)]
Fixed a problem that would cause LLDB to crash
if it encountered bad debug information.  This
debug information had an Objective-C method whose
selector disagreed with the true number of arguments
to that method.

<rdar://problem/12992864>

llvm-svn: 174557

11 years agoRemoved debug print line I left in.
Greg Clayton [Wed, 6 Feb 2013 22:52:04 +0000 (22:52 +0000)]
Removed debug print line I left in.

llvm-svn: 174556