Commit Graph

105833 Commits

Author SHA1 Message Date
Evan Cheng 54459240e3 Add target triple so test doesn't fail on Windows machines.
llvm-svn: 131439
2011-05-17 00:15:58 +00:00
Eli Friedman 83ba150f3a Add x86 fast-isel for calls returning first-class aggregates. rdar://9435872.
llvm-svn: 131438
2011-05-17 00:13:47 +00:00
Owen Anderson 97f0cf32ea @llvm.lifetime.begin acts as a load, not @llvm.lifetime.end.
llvm-svn: 131437
2011-05-17 00:05:49 +00:00
Jakob Stoklund Olesen 4edf17d91f Teach LiveInterval::isZeroLength about null SlotIndexes.
When instructions are deleted, they leave tombstone SlotIndex entries.
The isZeroLength method should ignore these null indexes.

This causes RABasic to sometimes spill a callee-saved register in the
abi-isel.ll test, so don't run that test with -regalloc=basic.  Prioritizing
register allocation according to spill weight can cause more registers to be
used.

llvm-svn: 131436
2011-05-16 23:50:05 +00:00
Ted Kremenek c249c411c2 Fix crash on C++ code when compiling with -finstrument-functions.
llvm-svn: 131435
2011-05-16 23:49:20 +00:00
John McCall 2ccfe89b3e Emit complete-object constructors for abstract classes in kext mode for
reasons that honestly really, really need to be looked into.

llvm-svn: 131434
2011-05-16 23:34:46 +00:00
Johnny Chen 1b96c1ee01 Fix bad test case; not all compilers are guaranteed to step into code inlined from the STL header file.
rdar://problem/8983790

llvm-svn: 131433
2011-05-16 23:24:17 +00:00
Alexis Hunt 97ab554c1c Implement the new C++0x rules for non-trivial things in unions so that
my defaulted constructor tests stop yelling at me about them.

llvm-svn: 131432
2011-05-16 22:41:40 +00:00
Jim Grosbach 4e983166bc Kill some dead code.
llvm-svn: 131431
2011-05-16 22:24:07 +00:00
Dan Gohman d282f46c6b Delete unused variables.
llvm-svn: 131430
2011-05-16 22:19:54 +00:00
Dan Gohman d4d12d14b5 Trim #includes.
llvm-svn: 131429
2011-05-16 22:14:50 +00:00
Dan Gohman ae9b1685a8 Fix whitespace and 80-column violations.
llvm-svn: 131428
2011-05-16 22:09:53 +00:00
Devang Patel a0b682db62 There is no need to force DebugLoc on a PHI at this point.
llvm-svn: 131427
2011-05-16 22:05:03 +00:00
Jim Grosbach e85c0dde7a Track how many insns fast-isel successfully selects as well as how many it
misses.

llvm-svn: 131426
2011-05-16 21:51:07 +00:00
Manuel Klimek c9675152b3 Pulls the common part of the clang-check example into Tooling, to allow new tools to be implemented without duplicating the boilerplate.
llvm-svn: 131425
2011-05-16 21:33:46 +00:00
Eli Friedman d4a3609d30 Remove dead code. Fix associated test to use FileCheck.
llvm-svn: 131424
2011-05-16 21:28:22 +00:00
Devang Patel 539cde8bce Test case for r131422.
llvm-svn: 131423
2011-05-16 21:25:49 +00:00
Devang Patel 8e60ff11db Preserve debug info for unused zero extended boolean argument.
Radar 9422775.

llvm-svn: 131422
2011-05-16 21:24:05 +00:00
Charles Davis 2701815ed8 Add a method I forgot in the last commit. Don't worry, this one passed
self-host :).

llvm-svn: 131421
2011-05-16 21:13:58 +00:00
Eli Friedman a4d4a0162d Make fast-isel work correctly s/uadd.with.overflow intrinsics.
llvm-svn: 131420
2011-05-16 21:06:17 +00:00
Eli Friedman 4c08bb450a Fix silly typo.
llvm-svn: 131419
2011-05-16 20:34:53 +00:00
Johnny Chen fac7b3aae6 Add implementation of built-in function len() for those lldb containers with
unambiguous iteration support.  So that we could, for example:

    ...

    REGs = lldbutil.get_GPRs(frame)
    print "Number of general purpose registers: %d" % len(REGs)
    for reg in REGs:
        print "%s => %s" %(reg.GetName(), reg.GetValue())

    ...

llvm-svn: 131418
2011-05-16 20:31:18 +00:00
Eli Friedman 9ac944774f Basic fast-isel of extractvalue. Not too helpful on its own, given the IR clang generates for cases like this, but it should become more useful soon.
llvm-svn: 131417
2011-05-16 20:27:46 +00:00
Nick Lewycky 9c876bf937 Fix errors in this llvm ir example.
llvm-svn: 131416
2011-05-16 19:29:30 +00:00
Caroline Tice b5059acc5f Fix places that were writing directly to the debugger's output
handles to go through the appropriate channels instead.

llvm-svn: 131415
2011-05-16 19:20:50 +00:00
Howard Hinnant 872a91167e Brought call_once variadic call up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.
llvm-svn: 131414
2011-05-16 19:05:11 +00:00
Howard Hinnant 8df61ea84d Brought thread variadic constructor up to current spec, which allows move-only functors and move-only arguments, but disallows functors with non-const lvalue reference parameters.
llvm-svn: 131413
2011-05-16 18:40:35 +00:00
Johnny Chen 29fd504c09 Renamed the test cases more properly to test_lldb_iter_module/breakpoint/farme.
llvm-svn: 131412
2011-05-16 18:30:00 +00:00
Jason W Kim 94c31fdd31 Add a FIXME reminder to remove ForceARMElfPIC switch.
llvm-svn: 131411
2011-05-16 16:35:21 +00:00
Howard Hinnant 7735ccaf86 Supply missing std::qualifier to call.
llvm-svn: 131410
2011-05-16 16:20:59 +00:00
Howard Hinnant 23fdcd70c6 Spit 5th bullet __invoke into function pointers and everything else because result_of doesn't deal with function pointers.
llvm-svn: 131409
2011-05-16 16:20:21 +00:00
Howard Hinnant 07de7bcaa0 Supply missing move ctor in __bind_r, though this one will eventually be defaulted
llvm-svn: 131408
2011-05-16 16:19:01 +00:00
Howard Hinnant 15c34d48ba Redesign of result_of to handle reference-qualified member functions
llvm-svn: 131407
2011-05-16 16:17:21 +00:00
Rafael Espindola e90c1cb221 sets bit 0 of the function address of thumb function in .symtab
("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)

Patch by Koan-Sin Tan!

llvm-svn: 131406
2011-05-16 16:17:21 +00:00
Rafael Espindola 71f8b08a80 Extra refactoring noticed by Eli Friedman.
llvm-svn: 131405
2011-05-16 15:48:45 +00:00
Joerg Sonnenberger 637603a7cc Make the triple an explicit argument of FindTargetProgramPath.
Preserve the original triple in the NetBSD toolchain when using -m32 or
-m64 and the resulting effective target is different from the triple it
started with. This allows -m32 to use the same assembler/linking in
cross-compiling mode and avoids confusion about passing down target
specific flags in that case like --32.

llvm-svn: 131404
2011-05-16 13:35:02 +00:00
Rafael Espindola 5ec1941e58 Add test for PR9927.
llvm-svn: 131403
2011-05-16 12:42:39 +00:00
Zhongxing Xu 56cf054a35 Remove redundant template partial specilization.
llvm-svn: 131402
2011-05-16 12:42:22 +00:00
Rafael Espindola c0d4cb17c1 Revert 131377, 131369 and 131365.
131365 caused PR9927.

llvm-svn: 131401
2011-05-16 12:30:54 +00:00
Anders Carlsson d6f1518cc9 Fix another regression from the "skip vtable pointer initialization"
optimization. Make sure to require a vtable when trying to get the address
of a VTT, otherwise we would never end up emitting the VTT.

llvm-svn: 131400
2011-05-16 04:08:36 +00:00
Rafael Espindola 2050af838d Don't do tail calls in a function that call setjmp. The stack might be
corrupted when setjmp returns again.

llvm-svn: 131399
2011-05-16 03:05:33 +00:00
Greg Clayton 93ecc368c1 Add support for the 'G' packet not being implemented or returning an error.
If we are asked to restore all register values, we need to fall back to 
restoring each register one by one.

llvm-svn: 131398
2011-05-16 03:02:32 +00:00
Greg Clayton b4aaf2e78d Fixed an issue where large memory writes might not get chunked up into smaller
packets in GDB remote.

Also fixed a compiler warning for an unhandled case for a switch.

llvm-svn: 131397
2011-05-16 02:35:02 +00:00
John McCall 92e18ed40f Stop leaving a.out files around.
llvm-svn: 131396
2011-05-16 02:23:45 +00:00
John McCall 7ec4b4342c Don't actually emit calls to the reserved global placement new and delete
operators;  their semantics are guaranteed by the language.

If someone wants to argue that freestanding compiles shouldn't recognize
this, I might be convinceable.

llvm-svn: 131395
2011-05-16 01:05:12 +00:00
Greg Clayton 1cfca1dc09 Dump JIT memory requirements when "log enable lldb expr" logging is enabled.
Correctly handle invalid 32-bit mmap fail return value in ProcessGDBRemote.

llvm-svn: 131394
2011-05-15 23:56:52 +00:00
Greg Clayton 17a0cb68c9 Properly handle when commands are not unsupported in the GDB remote clients.
Prior to this fix we would often call SendPacketAndWaitForResponse() which
returns the number of bytes in the response. The UNSUPPORTED response in the
GDB remote protocol is zero bytes and we were checking for it inside an if
statement:

if (SendPacketAndWaitForResponse(...))
{
    if (response.IsUnsupportedResponse())
    {
        // UNSUPPORTED...
        // This will never happen...
    }
}

We now handle is properly as:

if (SendPacketAndWaitForResponse(...))
{
}
else
{
    // UNSUPPORTED...
}

llvm-svn: 131393
2011-05-15 23:46:54 +00:00
Greg Clayton 5d353156d0 Added the ability to get a 32 or 64 bit simple return value from the
ABIMacOSX_arm plugin.

Modified darwin-debug to print out the exectuable, working directory and
arguments a bit differently.

llvm-svn: 131392
2011-05-15 22:49:24 +00:00
Sean Callanan d12cf8bbc9 Updated to use the latest LLVM/Clang, to pick up JIT
changes.

llvm-svn: 131391
2011-05-15 22:34:38 +00:00
Alexis Hunt f9933e80f2 main() exists in hosted, not freestanding implementations. Fixes the
build.

llvm-svn: 131390
2011-05-15 20:59:31 +00:00