Commit Graph

107984 Commits

Author SHA1 Message Date
Devang Patel 503c3998f3 Fix struct member's scope. Patch by Xi Wang.
llvm-svn: 133828
2011-06-24 22:00:39 +00:00
John McCall 23c29fea92 Change the IR-generation of VLAs so that we capture bounds,
not sizes;  so that we use well-typed allocas;  and so that we
properly recurse through the full set of variably-modified types.

llvm-svn: 133827
2011-06-24 21:55:10 +00:00
Bob Wilson 932e5b5d52 Shorten some ARM builtin names by removing unnecessary "neon" prefix.
llvm-svn: 133826
2011-06-24 21:32:46 +00:00
Bob Wilson 4f728fd0de Shorten some ARM builtin names by removing unnecessary "neon" prefix.
llvm-svn: 133825
2011-06-24 21:32:40 +00:00
Chad Rosier e553e75b15 Hoist simple check above more complex checking to avoid unnecessary
overheads.  No functional change intended.

llvm-svn: 133824
2011-06-24 21:15:36 +00:00
Jim Grosbach 045e26166a Testcase for r133818
llvm-svn: 133823
2011-06-24 20:59:01 +00:00
Devang Patel 6be2a11257 Revert unintentional check-in.
llvm-svn: 133822
2011-06-24 20:48:14 +00:00
Devang Patel f071d72c44 Handle debug info for i128 constants.
llvm-svn: 133821
2011-06-24 20:46:11 +00:00
Evan Cheng e862d59eee - Add MCRegisterInfo registration machinery. Also added x86 registration routines.
- Rename TargetRegisterDesc to MCRegisterDesc.

llvm-svn: 133820
2011-06-24 20:42:09 +00:00
Fariborz Jahanian 9fc39c4944 No need to warn if 'unavailable' method/property
is not implemented. // rdar://9651605

llvm-svn: 133819
2011-06-24 20:31:37 +00:00
Jim Grosbach 6629b574b3 ARM movw/movt fixups need to mask the high bits.
The fixup value comes in as the whole 32-bit value, so for the lo16 fixup,
the upper bits need to be masked off. Previously we assumed the masking had
already been done and asserted.

rdar://9635991

llvm-svn: 133818
2011-06-24 20:06:59 +00:00
Fariborz Jahanian 6fc3029eb8 objc-arc: Give more descriptive diagnostics when
making unsafe assignment of a retainable 
object, Per John's request.

llvm-svn: 133817
2011-06-24 20:00:03 +00:00
Argyrios Kyrtzidis d8a2771109 Only do delayed diagnostics if there were no errors when parsing the decl.
Fixes crash in http://llvm.org/PR10109 & rdar://9584039.

llvm-svn: 133816
2011-06-24 19:59:27 +00:00
Jim Grosbach 018970216c tidy up whitespace.
llvm-svn: 133815
2011-06-24 19:43:27 +00:00
Dan Bailey dd01c4ac7a PTX: Add support for i8 type and introduce associated .b8 registers
The i8 type is required for boolean values, but can only use ld, st and mov instructions. The i1 type continues to be used for predicates.

llvm-svn: 133814
2011-06-24 19:27:10 +00:00
Chad Rosier fa8d89327f The Neon VCVT (between floating-point and fixed-point, Advanced SIMD)
instructions can be used to match combinations of multiply/divide and VCVT 
(between floating-point and integer, Advanced SIMD).  Basically the VCVT 
immediate operand that specifies the number of fraction bits corresponds to a 
floating-point multiply or divide by the corresponding power of 2.

For example, VCVT (floating-point to fixed-point, Advanced SIMD) can replace a 
combination of VMUL and VCVT (floating-point to integer) as follows:

Example (assume d17 = <float 8.000000e+00, float 8.000000e+00>):
  vmul.f32        d16, d17, d16
  vcvt.s32.f32    d16, d16
becomes:
  vcvt.s32.f32    d16, d16, #3

Similarly, VCVT (fixed-point to floating-point, Advanced SIMD) can replace a 
combinations of VCVT (integer to floating-point) and VDIV as follows:

Example (assume d17 = <float 8.000000e+00, float 8.000000e+00>):
  vcvt.f32.s32    d16, d16
  vdiv.f32        d16, d17, d16
becomes:
  vcvt.f32.s32    d16, d16, #3

llvm-svn: 133813
2011-06-24 19:23:04 +00:00
Justin Holewinski 1be944a466 PTX: Add preliminary support for outputting debug information in the form of
.file and .loc directives.

Ideally, we would utilize the existing support in AsmPrinter for this, but
I cannot find a way to get .file and .loc directives to print without the
rest of the associated DWARF sections, which ptxas cannot handle.

llvm-svn: 133812
2011-06-24 19:19:18 +00:00
Akira Hatanaka 35792089e7 Change the chain input of nodes that load the address of a function. This change
enables SelectionDAG::getLoad at MipsISelLowering.cpp:1914 to return a
pre-existing node instead of redundantly create a new node every time it is
called.

llvm-svn: 133811
2011-06-24 19:01:25 +00:00
Johnny Chen b5491a6e60 Add fuzz calls for SBBreakpointLocation.
llvm-svn: 133810
2011-06-24 19:00:22 +00:00
Johnny Chen 1bd3d731d9 Add fuzz calls for SBBreakpoint.
llvm-svn: 133809
2011-06-24 18:49:27 +00:00
Jim Grosbach 3c9ede62f6 Fixup info for Thumb2 unconditional branch.
rdar://9667872

llvm-svn: 133808
2011-06-24 18:48:32 +00:00
Argyrios Kyrtzidis 5a9e5c4df6 [arcmt] Add test for rdar://9601437.
llvm-svn: 133807
2011-06-24 18:41:23 +00:00
Fariborz Jahanian 5f98da0ea2 objc-arc: Check on a variety of unsafe assignment of retained
objects.  // rdar://9495837

llvm-svn: 133806
2011-06-24 18:25:34 +00:00
Bob Wilson cb8fa3ec1d Fix comments.
llvm-svn: 133805
2011-06-24 18:08:10 +00:00
Argyrios Kyrtzidis 2cfce18645 Allow Lexer::getLocForEndOfToken to return the location just passed the macro instantiation
if the location given points at the last token of the macro instantiation.

Fixes rdar://9045701.

llvm-svn: 133804
2011-06-24 17:58:59 +00:00
Akira Hatanaka ca88b4abec Prevent generation of redundant addiu instructions that compute address of
static variables or functions. 

llvm-svn: 133803
2011-06-24 17:55:19 +00:00
Argyrios Kyrtzidis 6c7b185357 In TextDiagnosticPrinter::EmitCaretDiagnostic, don't always drop fixits if the caret location
points to a macro instantiation.

llvm-svn: 133802
2011-06-24 17:28:31 +00:00
Argyrios Kyrtzidis 3ea4adb841 Allow the fixit for missing ':' in the ?: ternary operator if it is pointing
at the start of a macro instantiation.

llvm-svn: 133801
2011-06-24 17:28:29 +00:00
Argyrios Kyrtzidis f096a6e754 SourceManager::isAtStartOfMacroInstantiation should check not only if the location
is at the first token but that the location's offset is not inside the token as well.

llvm-svn: 133800
2011-06-24 17:28:26 +00:00
Justin Holewinski 7d65756aba PTX: Re-work target sm/compute selection and add some basic GPU
targets: g80, gt200, gf100(fermi)

llvm-svn: 133799
2011-06-24 16:27:49 +00:00
Rafael Espindola 5135ae2383 Simplify
llvm-svn: 133798
2011-06-24 15:50:56 +00:00
Rafael Espindola cb0213bda6 Now that bb with phis are not considered simple, duplicate them even if
we cannot duplicate to every predecessor.

llvm-svn: 133797
2011-06-24 15:47:41 +00:00
NAKAMURA Takumi 67677898d3 unittests/Basic/FileManagerTest.cpp: Unbreak Win32, mingw and msvc.
LLVM_ON_WIN32 is defined in llvm/Config/config.h.
IMO, it might be enough with _WIN32 in most cases, LLVM_ON_xxx could be deprecated.

llvm-svn: 133794
2011-06-24 14:10:29 +00:00
Rafael Espindola ad0cdd5606 Simplify now that blocks with phis are not considered simple.
llvm-svn: 133793
2011-06-24 14:04:13 +00:00
Rafael Espindola cff9c5e9a0 Fix CellSPU CMakeList.txt.
llvm-svn: 133792
2011-06-24 13:58:45 +00:00
Benjamin Kramer bb576b3156 Make the generated InitXXXMCRegisterInfo function "static inline", so it doesn't get emitted into multiple object files.
This caused linker errors when linking both libLLVMX86Desc and libLLVMX86CodeGen
into a single binary (for example when building a monolithic libLLVM shared library).

llvm-svn: 133791
2011-06-24 11:03:31 +00:00
Jay Foad 0c3675f432 Fix unused label warning.
llvm-svn: 133790
2011-06-24 09:29:56 +00:00
Evan Cheng 8e731166d0 Fix CellSPU CMakeLists.txt
llvm-svn: 133787
2011-06-24 05:04:48 +00:00
Greg Clayton 17cc8b9d88 Remove an assertion and replace with safe code that emits a warning.
llvm-svn: 133786
2011-06-24 03:47:23 +00:00
Greg Clayton 0c74e78d63 Fixed SBTarget attach calls to properly deal with being connected to a remotely
connected process connection.

Also added support for more kinds of continue packet when multiple threads
need to continue where some want to continue with signals.

llvm-svn: 133785
2011-06-24 03:21:43 +00:00
Alexis Hunt 1da39282ec This patch started as an attempt to fix up the horrid naming
conventions. I then discovered a typo in the using declaration bit in
LookupSpecialMember. This led to discovering [namespace.udecl]p15, which
clang implements incorrectly. Thus I've added a comment and implemented
the code consistently with the rest of clang - that is incorrectly.

And because I don't want to include tests of something incorrect, I've
ripped the test out.

llvm-svn: 133784
2011-06-24 02:11:39 +00:00
Evan Cheng 247533179a Starting to refactor Target to separate out code that's needed to fully describe
target machine from those that are only needed by codegen. The goal is to
sink the essential target description into MC layer so we can start building
MC based tools without needing to link in the entire codegen.

First step is to refactor TargetRegisterInfo. This patch added a base class
MCRegisterInfo which TargetRegisterInfo is derived from. Changed TableGen to
separate register description from the rest of the stuff.

llvm-svn: 133782
2011-06-24 01:44:41 +00:00
Peter Collingbourne 44c9b3758f ++ cannot be used to increment an enum, so do it another way
llvm-svn: 133781
2011-06-24 01:12:22 +00:00
Johnny Chen 2f675dcb39 Add fuzz calls for SBBlock.
llvm-svn: 133780
2011-06-24 00:21:36 +00:00
Argyrios Kyrtzidis cff00d9c12 Rename objc_lifetime -> objc_ownership, and modify diagnostics to talk about 'ownership', not 'lifetime'.
rdar://9477613.

llvm-svn: 133779
2011-06-24 00:08:59 +00:00
Johnny Chen 4d1f660ace Start adding API calls to the invalid SB API object after default construction.
It should not crash lldb.

This checkin adds calls for SBAddress.

llvm-svn: 133778
2011-06-24 00:06:53 +00:00
Jakub Staszak 1aae619933 Calculate backedge probability correctly.
llvm-svn: 133776
2011-06-23 23:52:11 +00:00
Fariborz Jahanian 3ee91fad90 When forming a cycle in objc's inheritance hierarchy,
diagnose it properly and don't throw clang into an
infinit loop. // rdar://9653341

llvm-svn: 133773
2011-06-23 23:16:19 +00:00
Johnny Chen 9d2f340249 Add an initial test file for the newly added data formatter command.
main.cpp is contributed from Enrico.

Modify CommandObjectType.cpp to set status on the CommandReturnObject when succeeded as well.

llvm-svn: 133772
2011-06-23 23:14:10 +00:00
Jim Grosbach 7633256b9d Tidy up.
llvm-svn: 133770
2011-06-23 22:29:00 +00:00