platform/upstream/llvm.git
12 years agoFix off-by-one error in bucket sort.
Jakob Stoklund Olesen [Fri, 16 Dec 2011 23:00:05 +0000 (23:00 +0000)]
Fix off-by-one error in bucket sort.

The bad sorting caused a misaligned basic block when building 176.vpr in
ARM mode.

<rdar://problem/10594653>

llvm-svn: 146767

12 years agoFix an inconsistency in the syntactic form of InitListExpr in case of initialization...
Nicola Gigante [Fri, 16 Dec 2011 22:57:37 +0000 (22:57 +0000)]
Fix an inconsistency in the syntactic form of InitListExpr in case of initialization that involves a ConstructorConversion

llvm-svn: 146766

12 years agoDon't allow #include (and its friends #import, #include_next and
Richard Smith [Fri, 16 Dec 2011 22:50:01 +0000 (22:50 +0000)]
Don't allow #include (and its friends #import, #include_next and
#__include_macros) in the arguments of a function-style macro. Directives in the
arguments of such macros have undefined behaviour, and GCC does not correctly
support these cases. In some situations, this can lead to better diagnostics.

llvm-svn: 146765

12 years agoAdd missing header change
Douglas Gregor [Fri, 16 Dec 2011 22:40:58 +0000 (22:40 +0000)]
Add missing header change

llvm-svn: 146764

12 years agoMake sure we're always setting the previous declaration of an ObjCInterfaceDecl
Douglas Gregor [Fri, 16 Dec 2011 22:37:11 +0000 (22:37 +0000)]
Make sure we're always setting the previous declaration of an ObjCInterfaceDecl

llvm-svn: 146763

12 years agoAdd the value of "suitably aligned" from the C++11 standard to Basic/TargetInfo.
Nick Lewycky [Fri, 16 Dec 2011 22:34:14 +0000 (22:34 +0000)]
Add the value of "suitably aligned" from the C++11 standard to Basic/TargetInfo.
This is equal to alignof(std::max_align_t) on the platform and equal to the
alignment provided by malloc. (Platform owners please double-check your
platform's value.)

llvm-svn: 146762

12 years agoFix 80-column violation and whitespace. No functionality change.
Nick Lewycky [Fri, 16 Dec 2011 22:32:39 +0000 (22:32 +0000)]
Fix 80-column violation and whitespace. No functionality change.

llvm-svn: 146761

12 years agoAdd missing flush call. This is an attempt to fix a broken Windows buildbot.
Eli Friedman [Fri, 16 Dec 2011 22:12:23 +0000 (22:12 +0000)]
Add missing flush call.  This is an attempt to fix a broken Windows buildbot.

llvm-svn: 146760

12 years agoReduce recursion limit on this test further to try to make the msys bot green.
Richard Smith [Fri, 16 Dec 2011 21:59:02 +0000 (21:59 +0000)]
Reduce recursion limit on this test further to try to make the msys bot green.

llvm-svn: 146759

12 years agoFix vinsertf128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to
Chad Rosier [Fri, 16 Dec 2011 21:40:31 +0000 (21:40 +0000)]
Fix vinsertf128_* AVX intrinsics to use "I" (ICE) markings.  Fix avxintrin.h to
take them into account.
rdar://10590282

llvm-svn: 146758

12 years agoFix vperm2f128_* AVX intrinsics to use "I" (ICE) markings. Fix avxintrin.h to
Chad Rosier [Fri, 16 Dec 2011 21:07:34 +0000 (21:07 +0000)]
Fix vperm2f128_* AVX intrinsics to use "I" (ICE) markings.  Fix avxintrin.h to
take them into account.
rdar://10576962

llvm-svn: 146757

12 years agoUpdated Clang to take an enhancement to the way
Sean Callanan [Fri, 16 Dec 2011 21:06:35 +0000 (21:06 +0000)]
Updated Clang to take an enhancement to the way
we handle Objective-C method calls.  Currently,
LLDB treats the result of an Objective-C method
as unknown if the type information doesn't have
the method's signature.  Now Clang can cast the
result to id if it isn't explicitly cast.

I also added a test case for this, as well as a
fix for a type import problem that this feature
exposed.

llvm-svn: 146756

12 years agoAdd a warning flag for ext_embedded_directive. gcc considers this undefined
Richard Smith [Fri, 16 Dec 2011 20:58:01 +0000 (20:58 +0000)]
Add a warning flag for ext_embedded_directive. gcc considers this undefined
behaviour to be an error, so it's useful to be able to make it an error in clang
too.

llvm-svn: 146755

12 years agoAPInt: update asserts for base-36
Dylan Noblesmith [Fri, 16 Dec 2011 20:36:31 +0000 (20:36 +0000)]
APInt: update asserts for base-36

Hexatridecimal was added in r139695.

And fix the unittest that now triggers the assert.

llvm-svn: 146754

12 years agoPR11594: Don't blindly build a UnaryOperator UO_Minus on an expression which
Richard Smith [Fri, 16 Dec 2011 19:31:14 +0000 (19:31 +0000)]
PR11594: Don't blindly build a UnaryOperator UO_Minus on an expression which
might not be an rvalue when checking array accesses. Instead, pass through a
flag indicating the array index is negated.

llvm-svn: 146753

12 years agoRecently the GCD tests started failing because of the invalid size of
Kostya Serebryany [Fri, 16 Dec 2011 19:13:35 +0000 (19:13 +0000)]
Recently the GCD tests started failing because of the invalid size of
FakeStack on the worker threads.
This patch moves the AsanThread initialization into a separate
procedure that's called when AsanThread objects are called for worker
threads.
Patch by glider@google.com

llvm-svn: 146752

12 years agoDon't adjust for alignment padding in OffsetIsInRange.
Jakob Stoklund Olesen [Fri, 16 Dec 2011 19:10:00 +0000 (19:10 +0000)]
Don't adjust for alignment padding in OffsetIsInRange.

This adjustment is already included in the block offsets computed by
BasicBlockInfo, and adjusting again here can cause the pass to loop.

When CreateNewWater splits a basic block, OffsetIsInRange would reject
the new CPE on the next pass because of the too conservative alignment
adjustment. This caused the block to be split again, and so on.

llvm-svn: 146751

12 years agoHexagon: Fix a nasty order-of-initialization bug.
Benjamin Kramer [Fri, 16 Dec 2011 19:08:59 +0000 (19:08 +0000)]
Hexagon: Fix a nasty order-of-initialization bug.

Reenable the tests.

llvm-svn: 146750

12 years agoC++11 constexpr: Add note stacks containing backtraces if constant evaluation
Richard Smith [Fri, 16 Dec 2011 19:06:07 +0000 (19:06 +0000)]
C++11 constexpr: Add note stacks containing backtraces if constant evaluation
fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit
argument to driver and frontend, to control the maximum number of notes so
produced (default 10). Fix APValue printing to be able to pretty-print all
APValue types, and move the testing for this functionality from a unittest to
a -verify test now that it's visible in clang's output.

llvm-svn: 146749

12 years ago[analyzer] Better stdin support.
Anna Zaks [Fri, 16 Dec 2011 18:28:50 +0000 (18:28 +0000)]
[analyzer] Better stdin support.

llvm-svn: 146748

12 years agoFixup to the relaxed diagnostic verification option r146633.
Anna Zaks [Fri, 16 Dec 2011 18:28:45 +0000 (18:28 +0000)]
Fixup to the relaxed diagnostic verification option r146633.

We should exit when matching the '+' even if nothing was found to
prevent searching for all UNIT_MAX items.

llvm-svn: 146747

12 years agoHandle all of the "thumb" target triple architecture variants that llvm
Greg Clayton [Fri, 16 Dec 2011 18:15:52 +0000 (18:15 +0000)]
Handle all of the "thumb" target triple architecture variants that llvm
handles.

llvm-svn: 146746

12 years agoUpdate tests to match r146744.
Devang Patel [Fri, 16 Dec 2011 17:56:38 +0000 (17:56 +0000)]
Update tests to match r146744.

llvm-svn: 146745

12 years agoIn DICompositeType, referenced to derived type is either metadata or null.
Devang Patel [Fri, 16 Dec 2011 17:51:31 +0000 (17:51 +0000)]
In DICompositeType, referenced to derived type is either metadata or null.

llvm-svn: 146744

12 years agoClarify and fix subprogram description.
Devang Patel [Fri, 16 Dec 2011 17:50:04 +0000 (17:50 +0000)]
Clarify and fix subprogram description.

llvm-svn: 146743

12 years agoIf there is a definition of an ObjCInterfaceDecl, make it the Decl returned from...
Douglas Gregor [Fri, 16 Dec 2011 16:34:57 +0000 (16:34 +0000)]
If there is a definition of an ObjCInterfaceDecl, make it the Decl returned from the corresponding ObjCInterfaceType

llvm-svn: 146740

12 years agoNote ARM constant island alignment in the release notes.
Jakob Stoklund Olesen [Fri, 16 Dec 2011 16:07:41 +0000 (16:07 +0000)]
Note ARM constant island alignment in the release notes.

The command line option should be removed, but not until the feature has
gotten a lot of testing. The ARMConstantIslandPass tends to have subtle
bugs that only show up after a while.

llvm-svn: 146739

12 years agoSupport decltype in pseudo destructors and dependent destructor calls.
David Blaikie [Fri, 16 Dec 2011 16:03:09 +0000 (16:03 +0000)]
Support decltype in pseudo destructors and dependent destructor calls.

Reviewed by Eli Friedman.

llvm-svn: 146738

12 years agoobjc: after issuing the warning on direct use of __attribute__((NSObject))
Fariborz Jahanian [Fri, 16 Dec 2011 15:54:29 +0000 (15:54 +0000)]
objc: after issuing the warning on direct use of __attribute__((NSObject))
on properties, prevent consequential error  diagnostics. // rdar://10591336

llvm-svn: 146737

12 years agoAllow unique_ptr<T const []> to be constructed with a T* (in addition to a const T*)
Howard Hinnant [Fri, 16 Dec 2011 15:37:23 +0000 (15:37 +0000)]
Allow unique_ptr<T const []> to be constructed with a T* (in addition to a const T*)

llvm-svn: 146736

12 years agoAdds a JSON parser and a benchmark (json-bench) to catch performance regressions.
Manuel Klimek [Fri, 16 Dec 2011 13:09:10 +0000 (13:09 +0000)]
Adds a JSON parser and a benchmark (json-bench) to catch performance regressions.

llvm-svn: 146735

12 years agoPut the '*' in the right place in the unit test. Forgot to fix up this
Chandler Carruth [Fri, 16 Dec 2011 09:37:55 +0000 (09:37 +0000)]
Put the '*' in the right place in the unit test. Forgot to fix up this
bit of style, sorry.

llvm-svn: 146733

12 years agoMake GCC happy by using makeAraryRef instead of the implicit conversion.
Chandler Carruth [Fri, 16 Dec 2011 09:36:16 +0000 (09:36 +0000)]
Make GCC happy by using makeAraryRef instead of the implicit conversion.
I have no idea why GCC can't cope with the implicit conversion and Clang
can, or whose bug it is. Grr.

llvm-svn: 146732

12 years agoAdd a generic collection of class templates to ADT for building
Chandler Carruth [Fri, 16 Dec 2011 08:58:59 +0000 (08:58 +0000)]
Add a generic collection of class templates to ADT for building
variadic-like functions in C++98. See the comments in the header file
for a more detailed description of how these work. We plan to use these
extensively in the AST matching library. This code and idea were
originally authored by Zhanyong Wan. I've condensed it using macros
to reduce repeatition and adjusted it to fit better with LLVM's ADT.

Thanks to both David Blaikie and Doug Gregor for the review!

llvm-svn: 146729

12 years agoBy popular demand, link up types by name if they are isomorphic and one is an
Chris Lattner [Fri, 16 Dec 2011 08:36:07 +0000 (08:36 +0000)]
By popular demand, link up types by name if they are isomorphic and one is an
autorenamed version of the other.   This makes the IR easier to read, because
we don't end up with random renamed versions of the types after LTO'ing a large app.

llvm-svn: 146728

12 years agoAdapt to move of isSafeToSpeculativelyExecute into another header.
Tobias Grosser [Fri, 16 Dec 2011 08:27:42 +0000 (08:27 +0000)]
Adapt to move of isSafeToSpeculativelyExecute into another header.

llvm-svn: 146727

12 years agoDon't try to match 'unpackl/h v, v' for 32xi8 and 16xi16 when only AVX1 is supported...
Craig Topper [Fri, 16 Dec 2011 08:06:31 +0000 (08:06 +0000)]
Don't try to match 'unpackl/h v, v' for 32xi8 and 16xi16 when only AVX1 is supported. Fix 'unpackh v, v' for 256-bit types to understand 128-bit lanes.

llvm-svn: 146726

12 years agoTweak CMake build on Cygwin.
NAKAMURA Takumi [Fri, 16 Dec 2011 06:21:08 +0000 (06:21 +0000)]
Tweak CMake build on Cygwin.

llvm-svn: 146725

12 years agoTarget/Hexagon: Fix CMake build.
NAKAMURA Takumi [Fri, 16 Dec 2011 06:21:02 +0000 (06:21 +0000)]
Target/Hexagon: Fix CMake build.

llvm-svn: 146724

12 years agoWhen we're unwinding out of frame 0 and we end up with a bogus frame
Jason Molenda [Fri, 16 Dec 2011 04:30:31 +0000 (04:30 +0000)]
When we're unwinding out of frame 0 and we end up with a bogus frame
1 -- an address pointing off into non-executable memory -- don't
abort the unwind.  We'll use the ABI's default UnwindPlan to try
to get out of frame 1 and on many platforms with a standard frame
chain stack layout we can get back on track and get a valid frame
2.  This preserves the lldb behavior to-date; the change last week
to require the memory region to be executable broke it.

I'd like to mark this frame specially when displayed to the user;
I tried to override the places where the frame's pc value is returned
to change it to a sentinel value (e.g. LLDB_INVALID_ADDRESS) but
couldn't get that to work cleanly so I backed that part out for
now.  When this happens we'll often miss one of the user's actual
frames, the one that's of most interest to the user, so I'd like
to make this visually distinctive.

Note that a frame in non-executable memory region is only allowed
for frame 1.  After that we should be solid on the unwind and any
pc address in non-executable memory indicates a failure and we
should stop unwinding.

llvm-svn: 146723

12 years agoFix chaining of ObjCInterfaceDecl redeclarations
Douglas Gregor [Fri, 16 Dec 2011 03:12:41 +0000 (03:12 +0000)]
Fix chaining of ObjCInterfaceDecl redeclarations

llvm-svn: 146722

12 years agoAvoid a confusing assert for silly options: -unroll-runtime -unroll-count=1.
Andrew Trick [Fri, 16 Dec 2011 02:03:48 +0000 (02:03 +0000)]
Avoid a confusing assert for silly options: -unroll-runtime -unroll-count=1.

No need for an explicit test case for an unsupported combination of options.

llvm-svn: 146721

12 years agoSimplify the setup leading to the testing of ReadMemory(), ReadCStringFromMemory...
Johnny Chen [Fri, 16 Dec 2011 01:56:27 +0000 (01:56 +0000)]
Simplify the setup leading to the testing of ReadMemory(), ReadCStringFromMemory(), and ReadUnsignedFromMemory().
Instead of getting the location of the variable and converting the hex string to an int, just use
val.AddressOf().GetValueAsUnsigned() to compute the address of the memory region to read from.

llvm-svn: 146719

12 years ago[asan] add a test for instrumenting globals
Kostya Serebryany [Fri, 16 Dec 2011 01:28:19 +0000 (01:28 +0000)]
[asan] add a test for instrumenting globals

llvm-svn: 146718

12 years agoRemove unnecessary #include.
Jim Ingham [Fri, 16 Dec 2011 00:46:12 +0000 (00:46 +0000)]
Remove unnecessary #include.

llvm-svn: 146717

12 years agoAdd a test sequence of SBProcess.ReadCStringFromMemory() with (char *)my_char_ptr...
Johnny Chen [Fri, 16 Dec 2011 00:25:30 +0000 (00:25 +0000)]
Add a test sequence of SBProcess.ReadCStringFromMemory() with (char *)my_char_ptr as the address to read from.

    char *my_char_ptr = (char *)"Does it work?";

llvm-svn: 146716

12 years agoSema::RequireCompleteType currently attempts to
Sean Callanan [Fri, 16 Dec 2011 00:20:31 +0000 (00:20 +0000)]
Sema::RequireCompleteType currently attempts to
instantiate a class from its template pattern
before it consults the ExternalASTSource.  LLDB
in particular will sometimes provide patterns
that need to be completed first.

To make this possible, I have moved the
completion before the code that does the
instantiation, allowing the ExternalASTSource
to provide the required information.

llvm-svn: 146715

12 years agoARM NEON aliases for vmovq.f*
Jim Grosbach [Fri, 16 Dec 2011 00:12:22 +0000 (00:12 +0000)]
ARM NEON aliases for vmovq.f*

llvm-svn: 146714

12 years agoExtract a method. No functional change.
Jakob Stoklund Olesen [Fri, 16 Dec 2011 00:12:05 +0000 (00:12 +0000)]
Extract a method.  No functional change.

llvm-svn: 146713

12 years agoFix a bug where when debugging with .o files, we end up with two symbols for each...
Jim Ingham [Fri, 16 Dec 2011 00:05:58 +0000 (00:05 +0000)]
Fix a bug where when debugging with .o files, we end up with two symbols for each real OBJC_CLASS_$_whatever, one of which is correctly classified as an ObjCClass symbol, and the other is just a data symbol.  This was messing up the ObjC dynamic type detection.
<rdar://problem/10589527>

llvm-svn: 146712

12 years agollvm-config: Fix --targets-built, I changed this to use the registry but wasn't
Daniel Dunbar [Fri, 16 Dec 2011 00:04:43 +0000 (00:04 +0000)]
llvm-config: Fix --targets-built, I changed this to use the registry but wasn't
properly initializing the target infos. I decided it wasn't worth linking them
in for this, so just switched back to using the Makefile variable for now. We
can reconsider later if we ever get pluggable targets.

llvm-svn: 146711

12 years agoThumb2 ADR assembly parsing w/o the .w suffix.
Jim Grosbach [Thu, 15 Dec 2011 23:52:17 +0000 (23:52 +0000)]
Thumb2 ADR assembly parsing w/o the .w suffix.

llvm-svn: 146710

12 years agoMake sure we correctly note the existence of an i8 immediate for vblendvps and friend...
Eli Friedman [Thu, 15 Dec 2011 23:46:18 +0000 (23:46 +0000)]
Make sure we correctly note the existence of an i8 immediate for vblendvps and friends, so we compute fixups correctly.  PR11586.

llvm-svn: 146709

12 years agollvm-config: Update help text for removal of "backend" pseudo component.
Daniel Dunbar [Thu, 15 Dec 2011 23:43:17 +0000 (23:43 +0000)]
llvm-config: Update help text for removal of "backend" pseudo component.

llvm-svn: 146708

12 years agoIn SourceManager::~SourceManager do a sanity check to make sure we
Argyrios Kyrtzidis [Thu, 15 Dec 2011 23:37:55 +0000 (23:37 +0000)]
In SourceManager::~SourceManager do a sanity check to make sure we
don't try to destruct a null ContentCache.

rdar://10567159

llvm-svn: 146707

12 years agobuild/unittests: Fix llvm-config names for gtest libraries, and bring Makefile
Daniel Dunbar [Thu, 15 Dec 2011 23:35:08 +0000 (23:35 +0000)]
build/unittests: Fix llvm-config names for gtest libraries, and bring Makefile
library names in line with those used by CMake.
 - Patch by Johannes Obermayr, with tweaks by me.

llvm-svn: 146706

12 years agoWhen generating debug info for an ObjCInterfaceDecl, try to dig out the definition.
Douglas Gregor [Thu, 15 Dec 2011 23:32:29 +0000 (23:32 +0000)]
When generating debug info for an ObjCInterfaceDecl, try to dig out the definition.

llvm-svn: 146705

12 years agoAdd test scenario for newly added SBProcess APIs: ReadCStringFromMemory() and ReadUns...
Johnny Chen [Thu, 15 Dec 2011 23:30:05 +0000 (23:30 +0000)]
Add test scenario for newly added SBProcess APIs: ReadCStringFromMemory() and ReadUnsignedFromMemory().

llvm-svn: 146704

12 years ago[asan] revert r146529: we do need to build asan-rt as a shared library. Will need...
Kostya Serebryany [Thu, 15 Dec 2011 23:08:00 +0000 (23:08 +0000)]
[asan] revert r146529: we do need to build asan-rt as a shared library. Will need to find a different way to modify preinit_array

llvm-svn: 146703

12 years agoMove parts of lib/Target that use CodeGen into lib/CodeGen.
Nick Lewycky [Thu, 15 Dec 2011 22:58:58 +0000 (22:58 +0000)]
Move parts of lib/Target that use CodeGen into lib/CodeGen.

llvm-svn: 146702

12 years ago[asan] added a test to check that a global-buffer-overflow mentioned the module name...
Kostya Serebryany [Thu, 15 Dec 2011 22:57:32 +0000 (22:57 +0000)]
[asan] added a test to check that a global-buffer-overflow mentioned the module name; revert incorrect change in the test runner

llvm-svn: 146701

12 years agoMake check a bit more strict so we don't call ARM_AM::getFP32Imm with a value that...
Eli Friedman [Thu, 15 Dec 2011 22:56:53 +0000 (22:56 +0000)]
Make check a bit more strict so we don't call ARM_AM::getFP32Imm with a value that isn't a 32-bit value.  (This is just to be safe; I don't think this actually causes any issues in practice.)

llvm-svn: 146700

12 years agoARM NEON VCLE is an alias for VCGE w/ the source operands reversed.
Jim Grosbach [Thu, 15 Dec 2011 22:56:33 +0000 (22:56 +0000)]
ARM NEON VCLE is an alias for VCGE w/ the source operands reversed.

llvm-svn: 146699

12 years ago[asan] add the name of the module to the description of a global variable. This impro...
Kostya Serebryany [Thu, 15 Dec 2011 22:55:55 +0000 (22:55 +0000)]
[asan] add the name of the module to the description of a global variable. This improves the readability of global-buffer-overflow reports.

llvm-svn: 146698

12 years agoAdd fuzz call for newly added method SBTarget.GetInstructions().
Johnny Chen [Thu, 15 Dec 2011 22:45:30 +0000 (22:45 +0000)]
Add fuzz call for newly added method SBTarget.GetInstructions().

llvm-svn: 146696

12 years agoAdd fuzz calls for newly added SBProcess methods. Fix a typo in the audodoc of SBPro...
Johnny Chen [Thu, 15 Dec 2011 22:34:59 +0000 (22:34 +0000)]
Add fuzz calls for newly added SBProcess methods.  Fix a typo in the audodoc of SBProcess.ReadCStringFromMemory().

llvm-svn: 146695

12 years agoMove ObjCInterfaceDecl's "EndLoc" into DefinitionData, since it only
Douglas Gregor [Thu, 15 Dec 2011 22:34:59 +0000 (22:34 +0000)]
Move ObjCInterfaceDecl's "EndLoc" into DefinitionData, since it only
applies to an actual definition. Plus, clarify the purpose of this
field and give the accessor a different name, since getLocEnd() is
supposed to be the same as getSourceRange().getEnd().

llvm-svn: 146694

12 years agoAdd MCTargetDesc library to Hexagon target
Tony Linthicum [Thu, 15 Dec 2011 22:29:08 +0000 (22:29 +0000)]
Add MCTargetDesc library to Hexagon target

llvm-svn: 146692

12 years agoARM NEON VTBL/VTBX assembly parsing and encoding.
Jim Grosbach [Thu, 15 Dec 2011 22:27:11 +0000 (22:27 +0000)]
ARM NEON VTBL/VTBX assembly parsing and encoding.

llvm-svn: 146691

12 years agoEnable proper constant island alignment by default.
Jakob Stoklund Olesen [Thu, 15 Dec 2011 22:14:45 +0000 (22:14 +0000)]
Enable proper constant island alignment by default.

The code size increase is tiny (< 0.05%) because so little code uses
16-byte constant pool entries.

llvm-svn: 146690

12 years agoAdd missing zmovl AVX patterns which were causing crashes.
Chad Rosier [Thu, 15 Dec 2011 22:11:31 +0000 (22:11 +0000)]
Add missing zmovl AVX patterns which were causing crashes.
Patch by Elena Demikhovsky <elena.demikhovsky@intel.com>!

llvm-svn: 146689

12 years ago[asan] fix a bug (issue 19) where dlclose and the following mmap caused a false posit...
Kostya Serebryany [Thu, 15 Dec 2011 21:59:03 +0000 (21:59 +0000)]
[asan] fix a bug (issue 19) where dlclose and the following mmap caused a false positive. compiler part.

llvm-svn: 146688

12 years ago[asan] fix a bug (issue 19) where dlclose and the following mmap caused a false posit...
Kostya Serebryany [Thu, 15 Dec 2011 21:55:34 +0000 (21:55 +0000)]
[asan] fix a bug (issue 19) where dlclose and the following mmap caused a false positive. run-time part.

llvm-svn: 146687

12 years agoSilence warning.
Jim Grosbach [Thu, 15 Dec 2011 21:54:55 +0000 (21:54 +0000)]
Silence warning.

llvm-svn: 146686

12 years agoARM NEON two-register double spaced register list parsing support.
Jim Grosbach [Thu, 15 Dec 2011 21:44:33 +0000 (21:44 +0000)]
ARM NEON two-register double spaced register list parsing support.

llvm-svn: 146685

12 years agoFix assert in LowerBUILD_VECTOR for v16i16 type on AVX.
Chad Rosier [Thu, 15 Dec 2011 21:34:44 +0000 (21:34 +0000)]
Fix assert in LowerBUILD_VECTOR for v16i16 type on AVX.
Patch by Elena Demikhovsky <elena.demikhovsky@intel.com>!

llvm-svn: 146684

12 years ago[analyzer] Address Jordy's comments for r145985.
Anna Zaks [Thu, 15 Dec 2011 21:33:26 +0000 (21:33 +0000)]
[analyzer] Address Jordy's comments for r145985.

llvm-svn: 146683

12 years agoZap unnecessary semicolons.
Eli Friedman [Thu, 15 Dec 2011 21:11:38 +0000 (21:11 +0000)]
Zap unnecessary semicolons.

llvm-svn: 146682

12 years ago[asan] regression test for asan issue 19, currently fails.
Kostya Serebryany [Thu, 15 Dec 2011 20:38:14 +0000 (20:38 +0000)]
[asan] regression test for asan issue 19, currently fails.

llvm-svn: 146681

12 years agoWhen name lookup finds a module-private Objective-C class declaration,
Douglas Gregor [Thu, 15 Dec 2011 20:36:27 +0000 (20:36 +0000)]
When name lookup finds a module-private Objective-C class declaration,
check whether any previous declarations of the class were visible.

llvm-svn: 146680

12 years agoKeep track of all declarations of an Objective-C class (both forward
Douglas Gregor [Thu, 15 Dec 2011 20:29:51 +0000 (20:29 +0000)]
Keep track of all declarations of an Objective-C class (both forward
declarations and definitions) as ObjCInterfaceDecls within the same
redeclaration chain. This new representation matches what we do for
C/C++ variables/functions/classes/templates/etc., and makes it
possible to answer the query "where are all of the declarations of
this class?"

llvm-svn: 146679

12 years agoSet specific target cpu for testcase.
Lang Hames [Thu, 15 Dec 2011 20:22:34 +0000 (20:22 +0000)]
Set specific target cpu for testcase.

llvm-svn: 146678

12 years agoFixed several bugs, implemented support for vector types, and cleaned out dead code.
Howard Hinnant [Thu, 15 Dec 2011 20:02:15 +0000 (20:02 +0000)]
Fixed several bugs, implemented support for vector types, and cleaned out dead code.

llvm-svn: 146677

12 years agoMove disassemble-raw-data dir to reside under test/python_api where they belong.
Johnny Chen [Thu, 15 Dec 2011 19:56:28 +0000 (19:56 +0000)]
Move disassemble-raw-data dir to reside under test/python_api where they belong.
Add debug statements for the raw bytes and the disassembled instruction.

llvm-svn: 146676

12 years agoAdded test case for r146671.
Lang Hames [Thu, 15 Dec 2011 19:56:07 +0000 (19:56 +0000)]
Added test case for r146671.

llvm-svn: 146675

12 years agoUse the proper comparator for set_intersection.
Jakob Stoklund Olesen [Thu, 15 Dec 2011 19:26:23 +0000 (19:26 +0000)]
Use the proper comparator for set_intersection.

llvm-svn: 146674

12 years agoRefactor and simplify AddInitializerToDecl.
Richard Smith [Thu, 15 Dec 2011 19:20:59 +0000 (19:20 +0000)]
Refactor and simplify AddInitializerToDecl.

llvm-svn: 146673

12 years agoclarify that clang version number macros are marketing version #'s, not something...
Chris Lattner [Thu, 15 Dec 2011 19:06:36 +0000 (19:06 +0000)]
clarify that clang version number macros are marketing version #'s, not something useful.

llvm-svn: 146672

12 years agoFix VSELECT operand order. Was previously backwards, causing bogus vector shift resul...
Lang Hames [Thu, 15 Dec 2011 18:57:27 +0000 (18:57 +0000)]
Fix VSELECT operand order. Was previously backwards, causing bogus vector shift results - <rdar://problem/10559581>.

llvm-svn: 146671

12 years agoUpdate DebugLoc while merging nodes at -O0.
Devang Patel [Thu, 15 Dec 2011 18:21:18 +0000 (18:21 +0000)]
Update DebugLoc while merging nodes at -O0.

Patch by Kyriakos Georgiou!

llvm-svn: 146670

12 years agoExtend ObjCInterfaceDecl::DefinitionData to contain a pointer to the
Douglas Gregor [Thu, 15 Dec 2011 18:17:27 +0000 (18:17 +0000)]
Extend ObjCInterfaceDecl::DefinitionData to contain a pointer to the
definition, and implement ObjCInterfaceDecl::getDefinition()
efficiently based on that.

llvm-svn: 146669

12 years agoUpdate tests to match r146665.
Devang Patel [Thu, 15 Dec 2011 18:03:43 +0000 (18:03 +0000)]
Update tests to match r146665.

llvm-svn: 146668

12 years agoIntroduce the core infrastructure needed to model a complete
Douglas Gregor [Thu, 15 Dec 2011 18:03:09 +0000 (18:03 +0000)]
Introduce the core infrastructure needed to model a complete
redeclaration chain for Objective-C classes, including:
  - Using the first declaration as the canonical declaration.
  - Using the definition as the primary DeclContext
  - Making sure that all declarations have a pointer to the definition
  data, and the definition knows that it is the definition.
  - Serialization support for when a definition gets added to a
  declaration that comes from an AST file.

However, note that we're not taking advantage of much of this code
yet, because we're still re-using ObjCInterfaceDecls.

llvm-svn: 146667

12 years agoAdd a test case to make sure that the nop really does follow the bl on ppc64 elf
Hal Finkel [Thu, 15 Dec 2011 17:59:23 +0000 (17:59 +0000)]
Add a test case to make sure that the nop really does follow the bl on ppc64 elf

llvm-svn: 146666

12 years agoVirtual table holder field is either metadata or null.
Devang Patel [Thu, 15 Dec 2011 17:55:56 +0000 (17:55 +0000)]
Virtual table holder field is either metadata or null.

llvm-svn: 146665

12 years agoEnsure that the nop that should follow a bl call in PPC64 ELF actually does
Hal Finkel [Thu, 15 Dec 2011 17:54:01 +0000 (17:54 +0000)]
Ensure that the nop that should follow a bl call in PPC64 ELF actually does

llvm-svn: 146664

12 years ago[asan] poison the internal asan heap memory, just in case. Change Printf to Report...
Kostya Serebryany [Thu, 15 Dec 2011 17:41:30 +0000 (17:41 +0000)]
[asan] poison the internal asan heap memory, just in case. Change Printf to Report when debugging globals.

llvm-svn: 146663

12 years ago"Accidentally" fixed a bug with overloading of functions with
Douglas Gregor [Thu, 15 Dec 2011 17:20:18 +0000 (17:20 +0000)]
"Accidentally" fixed a bug with overloading of functions with
Objective-C objects as parameters in r146659. Add a test for it.

llvm-svn: 146660

12 years agoTwo null Decl*'s don't refer to the same declaration, because they
Douglas Gregor [Thu, 15 Dec 2011 17:15:07 +0000 (17:15 +0000)]
Two null Decl*'s don't refer to the same declaration, because they
don't refer to anything. Amusingly, we were relying on this in one
place. Thanks to Chandler for noticing the weirdness in
declaresSameEntity.

llvm-svn: 146659

12 years agoProvide a default constructor for ObjCInterfaceDecl::DefinitionData
Douglas Gregor [Thu, 15 Dec 2011 16:51:02 +0000 (16:51 +0000)]
Provide a default constructor for ObjCInterfaceDecl::DefinitionData
that value-initializes all of its members for which
default-initialization does not suffice. This should clean up the
failures for compilers that do not implement C++ DR543:

  http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#543

and, therefore, implement very unfortunate semantics for
value-initialization of classes with implicitly-declared, non-trivial
default constructors.

llvm-svn: 146658