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

12 years agoSynthesize missing register class intersections.
Jakob Stoklund Olesen [Thu, 15 Dec 2011 16:48:55 +0000 (16:48 +0000)]
Synthesize missing register class intersections.

The function TRI::getCommonSubClass(A, B) returns the largest common
sub-class of the register classes A and B.  This patch teaches TableGen
to synthesize sub-classes such that the answer is always maximal.

In other words, every register that is in both A and B will also be
present in getCommonSubClass(A, B).

This introduces these synthetic register classes:

ARM:
    GPRnopc_and_hGPR
    GPRnopc_and_hGPR
    hGPR_and_rGPR
    GPRnopc_and_hGPR
    GPRnopc_and_hGPR
    hGPR_and_rGPR
    tGPR_and_tcGPR
    hGPR_and_tcGPR

X86:
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR64_NOSP_and_GR64_TC
    GR64_NOSP_and_GR64_TC
    GR64_NOREX_and_GR64_TC
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR64_NOSP_and_GR64_TC
    GR64_NOREX_and_GR64_TC
    GR64_NOREX_NOSP_and_GR64_TC
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR32_ABCD_and_GR32_NOAX
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR32_ABCD_and_GR32_NOAX
    GR32_NOAX_and_GR32_TC
    GR32_NOAX_and_GR32_NOSP
    GR64_NOSP_and_GR64_TC
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR64_NOREX_and_GR64_TC
    GR64_NOREX_NOSP_and_GR64_TC
    GR32_ABCD_and_GR32_NOAX
    GR64_ABCD_and_GR64_TC
    GR32_NOAX_and_GR32_TC
    GR32_AD_and_GR32_NOAX

Other targets are unaffected.

llvm-svn: 146657

12 years agoPass optLevel to XCoreDAGToDAGISel.
Richard Osborne [Thu, 15 Dec 2011 15:18:35 +0000 (15:18 +0000)]
Pass optLevel to XCoreDAGToDAGISel.

Patch by Kyriakos Georgiou.

llvm-svn: 146656

12 years agoRemove quotes from locale name identifier. Credit Edward Meewis.
Howard Hinnant [Thu, 15 Dec 2011 15:01:38 +0000 (15:01 +0000)]
Remove quotes from locale name identifier.  Credit Edward Meewis.

llvm-svn: 146655

12 years agoFix test/Sema/format-strings-scanf.c
Hans Wennborg [Thu, 15 Dec 2011 11:43:45 +0000 (11:43 +0000)]
Fix test/Sema/format-strings-scanf.c

llvm-svn: 146651

12 years agoSupport the 'a' length modifier in scanf format strings as a C90
Hans Wennborg [Thu, 15 Dec 2011 10:25:47 +0000 (10:25 +0000)]
Support the 'a' length modifier in scanf format strings as a C90
extension.

This fixes gcc.dg/format/c90-scanf-3.c and ext-4.c (test for excess
errors).

llvm-svn: 146649

12 years ago[libclang] Give up on using write(); hopefully unbreaks mingw build.
Argyrios Kyrtzidis [Thu, 15 Dec 2011 06:51:30 +0000 (06:51 +0000)]
[libclang] Give up on using write(); hopefully unbreaks mingw build.

llvm-svn: 146648

12 years agoRevert r146646 that was a mistake, and make the intended change in the right file.
Argyrios Kyrtzidis [Thu, 15 Dec 2011 05:53:37 +0000 (05:53 +0000)]
Revert r146646 that was a mistake, and make the intended change in the right file.

Log:
[libclang] Try to unbreak mingw build.

llvm-svn: 146647

12 years ago[libclang] Try to unbreak mingw build.
Argyrios Kyrtzidis [Thu, 15 Dec 2011 05:48:43 +0000 (05:48 +0000)]
[libclang] Try to unbreak mingw build.

llvm-svn: 146646

12 years agoMove the definition-specific data of ObjCInterfaceDecl into a
Douglas Gregor [Thu, 15 Dec 2011 05:27:12 +0000 (05:27 +0000)]
Move the definition-specific data of ObjCInterfaceDecl into a
separately-allocated DefinitionData structure, which we manage the
same way as CXXRecordDecl::DefinitionData. This prepares the way for
making ObjCInterfaceDecls redeclarable, to more accurately model
forward declarations of Objective-C classes and eliminate the mutation
of ObjCInterfaceDecl that causes us serious trouble in the AST reader.

Note that ObjCInterfaceDecl's accessors are fairly robust against
being applied to forward declarations, because Clang (and Sema in
particular) doesn't perform RequireCompleteType/hasDefinition() checks
everywhere it has to. Each of these overly-robust cases is marked with
a FIXME, which we can tackle over time.

llvm-svn: 146644

12 years agoBumped Xcode project version to lldb-95 and debugserver-155.
Greg Clayton [Thu, 15 Dec 2011 05:23:23 +0000 (05:23 +0000)]
Bumped Xcode project version to lldb-95 and debugserver-155.

llvm-svn: 146643

12 years agoFix test.
Eli Friedman [Thu, 15 Dec 2011 04:52:47 +0000 (04:52 +0000)]
Fix test.

llvm-svn: 146642

12 years ago[libclang] Install a fatal error handler that will call abort() instead of exit()
Argyrios Kyrtzidis [Thu, 15 Dec 2011 04:52:41 +0000 (04:52 +0000)]
[libclang] Install a fatal error handler that will call abort() instead of exit()
when there is a report_fatal_error() call.

rdar://10507984

llvm-svn: 146641

12 years ago<rdar://problem/10584789>
Greg Clayton [Thu, 15 Dec 2011 04:38:41 +0000 (04:38 +0000)]
<rdar://problem/10584789>

Added a static memory pressure function in SBDebugger:

    void SBDebugger::MemoryPressureDetected ()

This can be called by applications that detect memory pressure to cause LLDB to release cached information.

llvm-svn: 146640

12 years agoMake constant folding for GEPs a bit more aggressive.
Eli Friedman [Thu, 15 Dec 2011 04:33:48 +0000 (04:33 +0000)]
Make constant folding for GEPs a bit more aggressive.

llvm-svn: 146639

12 years ago<climits> has UINT_MAX, not <limits>.
Eli Friedman [Thu, 15 Dec 2011 04:24:37 +0000 (04:24 +0000)]
<climits> has UINT_MAX, not <limits>.

llvm-svn: 146638

12 years agoAnother fixit for r146633 (to make debian-fnt bot happy), try including limits instead.
Anna Zaks [Thu, 15 Dec 2011 03:27:51 +0000 (03:27 +0000)]
Another fixit for r146633 (to make debian-fnt bot happy), try including limits instead.

llvm-svn: 146637

12 years agoExpose new read memory fucntion through python in SBProcess:
Greg Clayton [Thu, 15 Dec 2011 03:14:23 +0000 (03:14 +0000)]
Expose new read memory fucntion through python in SBProcess:

    size_t
    SBProcess::ReadCStringFromMemory (addr_t addr, void *buf, size_t size, lldb::SBError &error);

    uint64_t
    SBProcess::ReadUnsignedFromMemory (addr_t addr, uint32_t byte_size, lldb::SBError &error);

    lldb::addr_t
    SBProcess::ReadPointerFromMemory (addr_t addr, lldb::SBError &error);

These ReadCStringFromMemory() has some SWIG type magic that makes it return the
python string directly and the "buf" is not needed:

error = SBError()
max_cstr_len = 256
cstr = lldb.process.ReadCStringFromMemory (0x1000, max_cstr_len, error)
if error.Success():
    ....

The other two functions behave as expteced. This will make it easier to get integer values
from the inferior process that are correctly byte swapped. Also for pointers, the correct
pointer byte size will be used.

Also cleaned up a few printf style warnings for the 32 bit lldb build on darwin.

llvm-svn: 146636

12 years agoFixit for r146633. Make sure UINT_MAX is defined on all platforms.
Anna Zaks [Thu, 15 Dec 2011 02:58:00 +0000 (02:58 +0000)]
Fixit for r146633. Make sure UINT_MAX is defined on all platforms.

(Attempt to turn debian-fnt buildbot back to green.)

llvm-svn: 146635

12 years agoEnhance the -Wsign-compare handling to suppress the -Wsign-compare warning in the...
Eli Friedman [Thu, 15 Dec 2011 02:41:52 +0000 (02:41 +0000)]
Enhance the -Wsign-compare handling to suppress the -Wsign-compare warning in the case of a shifted bitfield.  PR11572.

llvm-svn: 146634

12 years agoAdd support for matching one or more (aka regex +) diagnostic messages with -verify.
Anna Zaks [Thu, 15 Dec 2011 02:28:16 +0000 (02:28 +0000)]
Add support for matching one or more (aka regex +) diagnostic messages with -verify.

Ex:
// expected-warning + {{tainted}

llvm-svn: 146633

12 years agogcov-style profiling support for OpenBSD. Patch by Jonathan Gray.
Eli Friedman [Thu, 15 Dec 2011 02:15:56 +0000 (02:15 +0000)]
gcov-style profiling support for OpenBSD.  Patch by Jonathan Gray.

llvm-svn: 146631

12 years agoDon't try to form FGETSIGN after legalization; it is possible in some cases, but...
Eli Friedman [Thu, 15 Dec 2011 02:07:20 +0000 (02:07 +0000)]
Don't try to form FGETSIGN after legalization; it is possible in some cases, but the existing code can't do it correctly. PR11570.

llvm-svn: 146630

12 years agohttp://llvm.org/bugs/show_bug.cgi?id=11579
Johnny Chen [Thu, 15 Dec 2011 01:55:36 +0000 (01:55 +0000)]
http://llvm.org/bugs/show_bug.cgi?id=11579
lldb::SBValue::CreateValueFromAddress does not verify SBType::GetPointerType succeeds

SBValue::CreateValueFromAddress() should check the validity of type and its derived pointer type
before using it.  Add a test case.

llvm-svn: 146629

12 years ago[analyzer] Ensure that the order in which checker callbacks are called
Anna Zaks [Thu, 15 Dec 2011 01:36:04 +0000 (01:36 +0000)]
[analyzer] Ensure that the order in which checker callbacks are called
is deterministic.

Non-determinism was the reason for the test which caused the earlier
buildbot failures, so re-enable the test.

llvm-svn: 146628

12 years agoUse SmallVector/assign(), rather than std::vector/push_back().
Chad Rosier [Thu, 15 Dec 2011 01:16:09 +0000 (01:16 +0000)]
Use SmallVector/assign(), rather than std::vector/push_back().

llvm-svn: 146627

12 years agoobjc: do not auto synthesize properties declared in
Fariborz Jahanian [Thu, 15 Dec 2011 01:03:18 +0000 (01:03 +0000)]
objc: do not auto synthesize properties declared in
protocols; with a warning. // rdar://10567333

llvm-svn: 146626

12 years agoAdd support for lowering fneg when AVX is enabled.
Chad Rosier [Thu, 15 Dec 2011 01:02:25 +0000 (01:02 +0000)]
Add support for lowering fneg when AVX is enabled.
rdar://10566486

llvm-svn: 146625

12 years agoAdded InstCombine for "select cond, ~cond, x" type patterns
Pete Cooper [Thu, 15 Dec 2011 00:56:45 +0000 (00:56 +0000)]
Added InstCombine for "select cond, ~cond, x" type patterns

These can be reduced to "~cond & x" or "~cond | x"

llvm-svn: 146624

12 years agoEnable synthesis of FLOG2 and FEXP2 SelectionDAG nodes from libm calls. These are...
Owen Anderson [Thu, 15 Dec 2011 00:54:12 +0000 (00:54 +0000)]
Enable synthesis of FLOG2 and FEXP2 SelectionDAG nodes from libm calls.  These are already marked as illegal by default.

llvm-svn: 146623

12 years agoIn debugger support mode, if we have a top-level message send
Douglas Gregor [Thu, 15 Dec 2011 00:53:32 +0000 (00:53 +0000)]
In debugger support mode, if we have a top-level message send
expression with an unknown result type, assume that the result type is
'id'. Fixes <rdar://problem/10400663>.

llvm-svn: 146622

12 years agoMake loop preheader insertion in LoopSimplify handle the case where the loop header...
Eli Friedman [Thu, 15 Dec 2011 00:50:34 +0000 (00:50 +0000)]
Make loop preheader insertion in LoopSimplify handle the case where the loop header is a landing pad correctly (by splitting the landingpad out of the loop header).  Make some adjustments to the rest of LoopSimplify to make it clear that the rest of LoopSimplify isn't making bad assumptions about the presence of landing pads.  PR11575.

llvm-svn: 146621

12 years agoModify how the -verify flag works. Currently, the verification string and
Richard Trieu [Thu, 15 Dec 2011 00:38:15 +0000 (00:38 +0000)]
Modify how the -verify flag works.  Currently, the verification string and
diagnostic message are compared.  If either is a substring of the other, then
no error is given.  This gives rise to an unexpected case:

  // expect-error{{candidate function has different number of parameters}}

will match the following error messages from Clang:

  candidate function has different number of parameters (expected 1 but has 2)
  candidate function has different number of parameters

It will also match these other error messages:

  candidate function
  function has different number of parameters
  number of parameters

This patch will change so that the verification string must be a substring of
the diagnostic message before accepting.  Also, all the failing tests from this
change have been corrected.  Some stats from this cleanup:

87 - removed extra spaces around verification strings
70 - wording updates to diagnostics
40 - extra leading or trailing characters (typos, unmatched parens or quotes)
35 - diagnostic level was included (error:, warning:, or note:)
18 - flag name put in the warning (-Wprotocol)

llvm-svn: 146619

12 years agoReplace all comparisons between ObjCInterfaceDecl pointers with calls
Douglas Gregor [Thu, 15 Dec 2011 00:29:59 +0000 (00:29 +0000)]
Replace all comparisons between ObjCInterfaceDecl pointers with calls
to declaresSameEntity(), as a baby step toward tracking forward
declarations of Objective-C classes precisely. Part of
<rdar://problem/10583531>.

llvm-svn: 146618

12 years agoRe-re-enable compact unwind after fixing a failure in SingleSource/Benchmarks/Shootou...
Bill Wendling [Thu, 15 Dec 2011 00:14:24 +0000 (00:14 +0000)]
Re-re-enable compact unwind after fixing a failure in SingleSource/Benchmarks/Shootout-C++/except.cpp and friends. It was encoding the stored registers in the wrong order.

llvm-svn: 146617

12 years ago[libclang] Indexing API: provide an attribute list inside CXIdxEntityInfo
Argyrios Kyrtzidis [Thu, 15 Dec 2011 00:05:00 +0000 (00:05 +0000)]
[libclang] Indexing API: provide an attribute list inside CXIdxEntityInfo
so that we can access the attributes of an entity for a reference.

llvm-svn: 146616

12 years ago[libclang] Suppress indexing references for occurrences of the interface
Argyrios Kyrtzidis [Thu, 15 Dec 2011 00:04:56 +0000 (00:04 +0000)]
[libclang] Suppress indexing references for occurrences of the interface
in a superclass and the protocols in a protocol list.

llvm-svn: 146615

12 years agoAnother improvement to the implementation of .incbin directive by avoiding a
Kevin Enderby [Thu, 15 Dec 2011 00:00:27 +0000 (00:00 +0000)]
Another improvement to the implementation of .incbin directive by avoiding a
buffer copy.  Suggestion by Chris Lattner!

llvm-svn: 146614

12 years agoReplace Decl::isSameEntityAs with a free function declaresSameEntity, which can cope...
Douglas Gregor [Wed, 14 Dec 2011 23:59:32 +0000 (23:59 +0000)]
Replace Decl::isSameEntityAs with a free function declaresSameEntity, which can cope with NULL pointer values

llvm-svn: 146613