Commit Graph

88395 Commits

Author SHA1 Message Date
Fariborz Jahanian c05349e53a Some early work for providing block layout info.
for objective-c/c++ blocks (NeXt runtime).

llvm-svn: 110213
2010-08-04 16:57:49 +00:00
Dan Gohman a3ed071166 Fix a typo in a comment.
llvm-svn: 110211
2010-08-04 16:48:36 +00:00
Douglas Gregor 8e984da800 Add code-completion support directly to ASTUnit, which performs code
completion within the translation unit using the same command-line
arguments for parsing the translation unit. Eventually, we'll reuse
the precompiled preamble to improve code-completion performance, and
this also gives us a place to cache results.

Expose this function via the new libclang function
clang_codeCompleteAt(), which performs the code completion within a
CXTranslationUnit. The completion occurs in-process
(clang_codeCompletion() runs code completion out-of-process).

llvm-svn: 110210
2010-08-04 16:47:14 +00:00
Dan Gohman 988bfce174 Print a message when a test failure is due to stderr output
alone, rather than just an exit code.

llvm-svn: 110208
2010-08-04 16:42:38 +00:00
Dan Gohman de75469cd8 Remove CVS artifacts.
llvm-svn: 110207
2010-08-04 16:25:01 +00:00
Dan Gohman ccb6156a0f Remove CVS artifacts.
llvm-svn: 110206
2010-08-04 16:11:24 +00:00
Dan Gohman 1a41e6e0ce Delete scripts which haven't noticed that CVS has gone away.
llvm-svn: 110205
2010-08-04 16:10:42 +00:00
Dan Gohman b3f5c6e795 cvsupdate is gone.
llvm-svn: 110204
2010-08-04 16:09:01 +00:00
Dan Gohman 67c0212353 Delete mkpatch. Everything it does is already done by svn diff by default.
llvm-svn: 110203
2010-08-04 16:07:22 +00:00
Dan Gohman 852287332a Remove a link which is no longer relevant.
llvm-svn: 110202
2010-08-04 15:59:16 +00:00
Dan Gohman 6786a04d0d These tests are no longer stored in *CVS*.
llvm-svn: 110201
2010-08-04 15:58:01 +00:00
Benjamin Kramer a53a4eefa6 Enable COFF writer on mingw32 and cygwin.
llvm-svn: 110200
2010-08-04 15:32:40 +00:00
Stuart Hastings cba0d06b7c call-imm.ll test case regex fix. Patch by Dimitry Andric!
llvm-svn: 110199
2010-08-04 15:31:35 +00:00
Kalle Raiskila 8b2f70125f Make SPU backend handle insertelement and
store for "half vectors"

llvm-svn: 110198
2010-08-04 13:59:48 +00:00
Benjamin Kramer 61c8e6dc16 Print an error message when someone tries -integrated-as on an unsupported target.
- The COFF backend doesn't support MingW/Cygwin at the moment, it'll report an
  error, but it's still much better than random assertions from the MachO backend.
- We want to make ELF the default eventually, it's what the majority of targets use.

llvm-svn: 110197
2010-08-04 13:16:30 +00:00
Torok Edwin e6f478f795 Note some LLVM 2.7 -> 2.8 APIs that changed / got renamed.
I encountered these while upgrading libclamav.

llvm-svn: 110196
2010-08-04 12:43:22 +00:00
Torok Edwin bfc17d0157 Add a missing function.
llvm-svn: 110195
2010-08-04 11:42:45 +00:00
Gabor Greif 94ab490260 by Alexander Herz:
"The CWriter::GetValueName() method does not check if a value as an alias 
and emits the alias name which will never be defined in the output .c 
file (so the output file fails to compile). This can happen if you have 
multiple inheritance with several destructors defined by clang (...D0Ev, 
...D1Ev, ...D2Ev)."

-- applied with minor tweaks. Thanks!

llvm-svn: 110194
2010-08-04 10:00:52 +00:00
Torok Edwin 6b43ea117f Fix build of DataFlow.h
llvm-svn: 110193
2010-08-04 09:30:20 +00:00
John McCall e16adc2b1e Emit standard-library RTTI with external linkage, not weak_odr.
Apply hidden visibility to most RTTI;  libstdc++ does not rely on exact
pointer equality for the type info (just the type info names).  Apply
the same optimization to RTTI that we do to vtables.

Fixes PR5962.

llvm-svn: 110192
2010-08-04 08:34:44 +00:00
Jordy Rose c36df4d0b7 Change the checker callback cache in GRExprEngine to be more compact (and IMHO a little easier to understand), and add the same sort of caching for EvalAssume (tied for least-used callback), mostly as proof-of-concept.
Before we go further with these, we should figure out a way to reuse the visit-and-cache code in CheckerVisit.

llvm-svn: 110191
2010-08-04 07:10:57 +00:00
Eric Christopher 1d3dc20aaa Accept and ignore (for now) -funroll-loops.
llvm-svn: 110190
2010-08-04 06:55:48 +00:00
John McCall 8a705c15d9 Extend the hidden-visibility vtables optimization to template classes that
haven't been explicitly instantiated.

llvm-svn: 110189
2010-08-04 06:38:15 +00:00
John McCall 2dd7d44135 Some more correctness fixes and code-size optimizations for fragile-ABI
ObjC exceptions:
  - don't enter a try for the catch blocks unless there's a finally
  - put the setjmp buffer in the locals set for liveness reasons
  - dump the sync object into an alloca in the locals set for liveness reasons
Some of this can go away if the backend starts to properly calculate liveness
in the presence of setjmp (which would also be a *much* stabler solution).

llvm-svn: 110188
2010-08-04 05:59:32 +00:00
Douglas Gregor bb420abd0b When we try (but fail) to build a precompiled preamble, wait for a
short "cooling off" period (defaulting to 5 reparses) before trying to
build a precompiled preamble again. Previously, if we failed to build
the precompiled preamble at any time, we just gave up the whole
charade any never tried again.

llvm-svn: 110187
2010-08-04 05:53:38 +00:00
Greg Clayton f4b47e1579 Abtracted the old "lldb_private::Thread::StopInfo" into an abtract class.
This will allow debugger plug-ins to make any instance of "lldb_private::StopInfo"
that can completely describe any stop reason. It also provides a framework for
doing intelligent things with the stop info at important times in the lifetime
of the inferior. 

Examples include the signal stop info in StopInfoUnixSignal. It will check with
the process to see that the current action is for the signal. These actions
include wether to stop for the signal, wether the notify that the signal was
hit, and wether to pass the signal along to the inferior process. The 
StopInfoUnixSignal class overrides the "ShouldStop()" method of StopInfo and
this allows the stop info to determine if it should stop at the signal or 
continue the process. 


StopInfo subclasses must override the following functions:

    virtual lldb::StopReason
    GetStopReason () const = 0;

    virtual const char *
    GetDescription () = 0;


StopInfo subclasses can override the following functions:


    // If the subclass returns "false", the inferior will resume. The default
    // version of this function returns "true" which means the default stop
    // info will stop the process. The breakpoint subclass will check if
    // the breakpoint wants us to stop by calling any installed callback on
    // the breakpoint, and also checking if the breakpoint is for the current
    // thread. Signals will check if they should stop based off of the 
    // UnixSignal settings in the process.
    virtual bool
    ShouldStop (Event *event_ptr);

    // Sublasses can state if they want to notify the debugger when "ShouldStop"
    // returns false. This would be handy for breakpoints where you want to
    // log information and continue and is also used by the signal stop info
    // to notify that a signal was received (after it checks with the process
    // signal settings).
    virtual bool
    ShouldNotify (Event *event_ptr)
    {
        return false;
    }

    // Allow subclasses to do something intelligent right before we resume.
    // The signal class will figure out if the signal should be propagated
    // to the inferior process and pass that along to the debugger plug-ins.
    virtual void
    WillResume (lldb::StateType resume_state)
    {
        // By default, don't do anything
    }


The support the Mach exceptions was moved into the lldb/source/Plugins/Process/Utility
folder and now doesn't polute the lldb_private::Thread class with platform
specific code.

llvm-svn: 110184
2010-08-04 01:40:35 +00:00
Dan Gohman 5cae103392 Eliminate unnecessary empty string literals.
llvm-svn: 110183
2010-08-04 01:39:08 +00:00
Dan Gohman 839c972102 Fix a comment.
llvm-svn: 110181
2010-08-04 01:16:35 +00:00
Dan Gohman f77b735376 Don't construct a std::string with a literal "".
llvm-svn: 110180
2010-08-04 01:14:33 +00:00
Dan Gohman 47053d972b Don't print the filename twice in file-not-found errors.
llvm-svn: 110179
2010-08-04 01:13:48 +00:00
Bruno Cardoso Lopes 6586724f71 Add more AVX 256-bit intrinsics and test cases for them
llvm-svn: 110178
2010-08-04 01:11:26 +00:00
Bruno Cardoso Lopes b8f0d52731 Fix a comment typo and add more 256-bit intrinsics
llvm-svn: 110177
2010-08-04 01:09:40 +00:00
John McCall 3faf1cf3ea Add a test case for P%7346, which was fixed by not doing the operator
delete lookup until the end of the class definition.

llvm-svn: 110176
2010-08-04 01:07:02 +00:00
John McCall deb646ebb5 Only look up an 'operator delete' on the definition of a destructor, not on
a declaration.

llvm-svn: 110175
2010-08-04 01:04:25 +00:00
Sean Callanan 5666b674f3 Added support for accessing members of C++ objects,
including superclass members.  This involved ensuring
that access control was ignored, and ensuring that
the operands of BitCasts were properly scanned for
variables that needed importing.

Also laid the groundwork for declaring objects of
custom types; however, this functionality is disabled
for now because of a potential loop in ASTImporter.

llvm-svn: 110174
2010-08-04 01:02:13 +00:00
John McCall 66a8759400 Look through using declarations when deciding whether to use an operator
delete for a virtual destructor.  Diagnose ambiguities.

Fixes PR7803.

llvm-svn: 110173
2010-08-04 00:31:26 +00:00
Dan Gohman 4f9c40c521 Change the logic which interprets output on stderr as an error so that
it doesn't modify the exit code or the stdout contents, and so that it
doesn't clutter the output with "Command has output on stderr!".

llvm-svn: 110171
2010-08-04 00:12:31 +00:00
Bob Wilson 79daf7e0ae Combine NEON VABD (absolute difference) intrinsics with ADDs to make VABA
(absolute difference with accumulate) intrinsics.  Radar 8228576.

llvm-svn: 110170
2010-08-04 00:12:08 +00:00
Dan Gohman 794172ca9c Don't print "Command output (stdout):" when the command has no output,
and same for stderr, to avoid clutter in the output.

llvm-svn: 110169
2010-08-04 00:05:16 +00:00
Dan Gohman c70c6b144a Use the regular conditional operator syntax instead of a clever hack.
llvm-svn: 110168
2010-08-04 00:00:13 +00:00
Dan Gohman fc419ef6a0 Remove PointerAccessInfo, which nothing was using.
llvm-svn: 110167
2010-08-03 23:08:10 +00:00
Chris Lattner 5fba6db223 Make the makefiles go much faster by using the realpath
builtin instead of shell.  On my 8 core mac pro, this speeds
up a 'make -j8' null build of the lib directory from 1.11s to
0.77s wall time.

Patch by NAKAMURA Takumi!

llvm-svn: 110166
2010-08-03 22:53:22 +00:00
John McCall f8280e723d Fix a warning on a test.
llvm-svn: 110165
2010-08-03 22:49:45 +00:00
Chris Lattner 53befe7bc1 fix a win64 encoding problem, patch by Cameron Esfahani!
llvm-svn: 110164
2010-08-03 22:49:22 +00:00
John McCall 8601a75118 Do a very simple pass over every function we emit to infer whether we can
mark it nounwind based on whether it contains any non-nounwind calls.
<rdar://problem/8087431>

llvm-svn: 110163
2010-08-03 22:46:07 +00:00
Chris Lattner 38321174e0 add a hack for visual studio, fixing PR7796
llvm-svn: 110161
2010-08-03 22:13:56 +00:00
Johnny Chen fee57bb464 Added README file for the test suite.
llvm-svn: 110160
2010-08-03 22:12:11 +00:00
Sebastian Redl a19a67f899 Incomplete promotion of selector info to per-file data.
Store all selectors in the selector hash table instead of only those from the method pool.

llvm-svn: 110158
2010-08-03 21:58:15 +00:00
Dan Gohman 5442c71f2e Thread const correctness through a bunch of AliasAnalysis interfaces and
eliminate several const_casts.

Make CallSite implicitly convertible to ImmutableCallSite.

Rename the getModRefBehavior for intrinsic IDs to
getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite,
which happens to be implicitly convertible to bool.

llvm-svn: 110155
2010-08-03 21:48:53 +00:00
Nate Begeman f568b074db Add support for VFP status & control operations for ARM.
llvm-svn: 110153
2010-08-03 21:32:34 +00:00