Commit Graph

122971 Commits

Author SHA1 Message Date
Hal Finkel 6fd2b434bd Revert r151278, breaks static linking.
Reverting this because it breaks static linking on ppc64. Specifically, it may be linkonce_odr functions that are the problem.
With this patch, if you link statically, calls to some functions end up calling their descriptor addresses instead
of calling to their entry points. This causes the execution to fail with SIGILL (b/c the descriptor address just
has some pointers, not code).

llvm-svn: 151433
2012-02-25 03:40:11 +00:00
NAKAMURA Takumi bdf94879df Target/X86: Fix assertion failures and warnings caused by r151382 _ftol2 lowering for i386-*-win32 targets. Patch by Joe Groff.
[Joe Groff] Hi everyone. My previous patch applied as r151382 had a few problems:
Clang raised a warning, and X86 LowerOperation would assert out for
fptoui f64 to i32 because it improperly lowered to an illegal
BUILD_PAIR. Here's a patch that addresses these issues. Let me know if
any other changes are necessary. Thanks.

llvm-svn: 151432
2012-02-25 03:37:25 +00:00
Chad Rosier 50e0b81ea9 Add comment.
llvm-svn: 151431
2012-02-25 03:07:57 +00:00
Chad Rosier e2c4506979 Prevent llvm.lifetime intrinsics from being emitted at -O0.
rdar://10921594

llvm-svn: 151430
2012-02-25 02:56:13 +00:00
Chad Rosier 07d37bc1ed Add support for disabling llvm.lifetime intrinsics in the AlwaysInliner. These
are optimization hints, but at -O0 we're not optimizing.  This becomes a problem
when the alwaysinline attribute is abused.
rdar://10921594

llvm-svn: 151429
2012-02-25 02:56:01 +00:00
Eli Friedman 2495ab08fc Work-in-progress for lambda conversion-to-block operator. Still need to implement the retain+autorelease outside of ARC, and there's a bug that causes the generated code to crash in ARC (which I think is unrelated to my code, although I'm not completely sure).
llvm-svn: 151428
2012-02-25 02:48:22 +00:00
Argyrios Kyrtzidis 335c5a42e9 Don't record nested macro expansions in the preprocessing record,
it can only bring pain when dealing with preprocessor abuse (see: boost).

rdar://10898986

llvm-svn: 151427
2012-02-25 02:41:16 +00:00
Ted Kremenek ef31f376bb RetainCountChecker: don't adjust the retain count when analyzing a ReturnStmt unless we are in the top-level call frame. We can do more later, but this makes the checker self-consistent (and fixes a crash).
llvm-svn: 151426
2012-02-25 02:09:09 +00:00
Lang Hames d5862ce317 Make the peephole optimizer clear kill flags on a vreg if it's about to add new
uses of the vreg, since the old kills may no longer be valid.  This was causing
-verify-machineinstrs to complain about uses after kills, and could potentially
have been causing subtle register allocation issues, but I haven't come across a
test case yet.

llvm-svn: 151425
2012-02-25 02:01:00 +00:00
Argyrios Kyrtzidis 01c047e003 [arcmt] GC migrator: don't try to remove redundant __strong, it does
more harm than good.

Fixes rdar://10522805&10521433

llvm-svn: 151424
2012-02-25 01:57:42 +00:00
Greg Clayton c77c97ce85 Bumped Xcode project version to lldb-117 and debugserver-168.
llvm-svn: 151422
2012-02-25 01:50:48 +00:00
Greg Clayton 5dca7330bb Fix build for case sensitive file systems.
llvm-svn: 151421
2012-02-25 01:28:20 +00:00
Chad Rosier e48e5d2945 Fix indentation.
llvm-svn: 151420
2012-02-25 01:10:59 +00:00
Han Ming Ong 846470482c <rdar://problem/3535148>
Added ability to debug root processes on OS X. This uses XPC service that is available on Lion and above only.

llvm-svn: 151419
2012-02-25 01:07:38 +00:00
Eric Christopher 73dc95c5cd Grammar-o.
llvm-svn: 151418
2012-02-25 01:02:44 +00:00
Lang Hames 31bb57bc55 Fixed typo.
llvm-svn: 151417
2012-02-25 00:46:38 +00:00
Eli Friedman 8a78a58188 Improve the diagnostic in ARC mode when a conditional with an Objective-C type and void* is used. <rdar://problem/10486347>.
llvm-svn: 151416
2012-02-25 00:23:44 +00:00
Akira Hatanaka 60f7a8e710 Add definitions of floating point multiply add/sub and negative multiply
add/sub instructions.

llvm-svn: 151415
2012-02-25 00:21:52 +00:00
Douglas Gregor 4a71b12a4e Trying to increase my Ohloh ranking with trivial tweaks
llvm-svn: 151414
2012-02-25 00:16:17 +00:00
DeLesley Hutchins 5b330db270 Bugfix: bogus warning -- "invalid use of non-static data member",
when a class is forward declared, and the reference to the data
member in question does not occur within a method body.

llvm-svn: 151413
2012-02-25 00:11:55 +00:00
Douglas Gregor 78e72f08ec Simplify check per Eli's comment
llvm-svn: 151412
2012-02-25 00:06:47 +00:00
Douglas Gregor f8ab049f17 Add test for C++ DR899.
llvm-svn: 151411
2012-02-24 23:57:42 +00:00
Anna Zaks 7ac344a48a [analyzer] Malloc: reason about the ObjC messages and C++.
Assume none of the ObjC messages defined in system headers free memory,
except for the ones containing 'freeWhenDone' selector. Currently, just
assume that the region escapes to the messages with 'freeWhenDone'
(ideally, we want to treat it as 'free()').

For now, always assume that regions escape when passed to C++ methods.

llvm-svn: 151410
2012-02-24 23:56:53 +00:00
Douglas Gregor 6073dcab38 Implement C++11 [over.match.copy]p1b2, which allows the use of
explicit conversion functions to initialize the argument to a
copy/move constructor that itself is the subject of direct
initialization. Since we don't have that much context in overload
resolution, we end up threading more flags :(.

Fixes <rdar://problem/10903741> / PR10456. 

llvm-svn: 151409
2012-02-24 23:56:31 +00:00
Greg Clayton 41bd8ac206 Added some missing accessors to the SBAttachInfo for user and group ID
getting, setting, and checking.

llvm-svn: 151408
2012-02-24 23:56:06 +00:00
Eli Friedman cb3785e450 Fix a stupid mistake in r151133. Reported to me by Joerg Sonnenberger.
llvm-svn: 151407
2012-02-24 23:53:49 +00:00
Howard Hinnant 8d01935c09 Hook up to the new clang __is_trivially_constructible and __is_trivially_assignable traits. Fixes r10925427 and http://llvm.org/bugs/show_bug.cgi?id=12038.
llvm-svn: 151406
2012-02-24 23:32:26 +00:00
Richard Smith 5e1148e31d Remove FIXME: as Eli points out, the behavior here is now correct.
llvm-svn: 151405
2012-02-24 23:21:24 +00:00
Johnny Chen 4500751b17 Create an additional watchpoint during the test run and verify that the watchpoint fired has the expected watchpoint id.
llvm-svn: 151404
2012-02-24 23:12:08 +00:00
Douglas Gregor 4f283c8b20 For the purposes of building LLVM types, a forward-declared
enumeration type with a fixed underlying type is complete. Fixes
<rdar://problem/10916155>.

llvm-svn: 151403
2012-02-24 22:40:36 +00:00
Akira Hatanaka b049aef2d1 Add an option to use a virtual register as the global base register instead of
reserving a physical register ($gp or $28) for that purpose.

This will completely eliminate loads that restore the value of $gp after every
function call, if the register allocator assigns a callee-saved register, or
eliminate unnecessary loads if it assigns a temporary register. 

example:

.cpload $25       // set $gp.
...
.cprestore 16     // store $gp to stack slot 16($sp).
...
jalr $25          // function call. clobbers $gp.
lw $gp, 16($sp)   // not emitted if callee-saved reg is chosen.
...
lw $2, 4($gp)
...
jalr $25          // function call.
lw $gp, 16($sp)   // not emitted if $gp is not live after this instruction.
...

llvm-svn: 151402
2012-02-24 22:34:47 +00:00
Richard Smith 324df5564e Back out __decltype warning from r151377: we should either warn on all the GNU
__keywords or none of them.

llvm-svn: 151401
2012-02-24 22:30:04 +00:00
Benjamin Kramer 5f640e35e3 Make helper static.
llvm-svn: 151400
2012-02-24 22:19:42 +00:00
Richard Smith 6365c9138e When checking whether a reference to a variable is an ICE, look at the type of
the declaration, not at the type of the DeclRefExpr, since within a lambda the
DeclRefExpr can be more const than the declaration is.

llvm-svn: 151399
2012-02-24 22:12:32 +00:00
Benjamin Kramer 9fceb90175 Remove unused cl::opt, make another opt static.
llvm-svn: 151398
2012-02-24 22:09:25 +00:00
Greg Clayton c7f09cca6d Fixed a crasher that was happening after making ObjectFile objects have a
weak reference back to the Module. We were crashing when trying to make a
memory object file since it was trying to get the object in the Module 
constructor before the "Module *" had been put into a shared pointer, and the
module was trying to initialize a weak pointer back to it.

llvm-svn: 151397
2012-02-24 21:55:59 +00:00
Jakob Stoklund Olesen 7f99142804 Add missing static
llvm-svn: 151396
2012-02-24 21:52:44 +00:00
Fariborz Jahanian 0ed6cb75a7 Minor modern rewriter bug showed up during testing
against a large project.

llvm-svn: 151395
2012-02-24 21:42:38 +00:00
Douglas Gregor 232ee49c7b C++11 [class.ctor]p5 says that
A defaulted default constructor for a class X is defined as deleted if [...]
    -  X is a union and all of its variant members are of const-qualified type.

A pedantic reading therefore says that

 union X { };

has a deleted default constructor, which is both silly and almost
certainly unintended. Pretend as if this this read

    - X is a union with one or more variant members, and all of its
      variant members are of const-qualified type. 

llvm-svn: 151394
2012-02-24 21:25:53 +00:00
Johnny Chen 2120e2bd73 Newly created threads are to inherit from the global debug state of the process.
llvm-svn: 151393
2012-02-24 21:13:45 +00:00
Greg Clayton 38d1f05167 Fixed the launching code when using the new SBLaunchInfo.
llvm-svn: 151392
2012-02-24 20:59:25 +00:00
Kostya Serebryany 6ad2115575 [asan] don't compile gtest with asan when building asan tests
llvm-svn: 151391
2012-02-24 20:49:36 +00:00
Enrico Granata 9283444b8a Reworking the ObjC formatters test case not to test everything in one huge code block - better for maintenance and debugging
llvm-svn: 151390
2012-02-24 20:43:28 +00:00
Dmitri Gribenko 85e8764254 Fix comment: correct predicate name, reformat comment.
llvm-svn: 151389
2012-02-24 20:03:35 +00:00
Enrico Granata 21b2236303 Fixing an if condition which was causing issues in detecting the correct runtime version
llvm-svn: 151388
2012-02-24 19:46:04 +00:00
Argyrios Kyrtzidis e1bc99e1ff Change the text of a FIXME.
llvm-svn: 151387
2012-02-24 19:45:46 +00:00
Argyrios Kyrtzidis f0fc594be5 [libclang] Add a triple to the test.
llvm-svn: 151386
2012-02-24 19:45:42 +00:00
Ahmed Charles 0dca5d8f8c Fix undefined behavior.
llvm-svn: 151385
2012-02-24 19:06:15 +00:00
Jim Grosbach 09b602d85c Thumb2 asm aliases for wide bitwise w/ immediate instructions.
llvm-svn: 151384
2012-02-24 19:06:05 +00:00
Chris Lattner 01990f0e1c fix PR12075, a regression in a recent transform I added. In unreachable code, gep chains can be infinite. Just like "stripPointerCasts", use a set to keep track of visited instructions so we don't recurse infinitely.
llvm-svn: 151383
2012-02-24 19:01:58 +00:00