Commit Graph

122877 Commits

Author SHA1 Message Date
Eric Christopher da97054114 If the Address of a variable is an argument then treat the entire
variable declaration as an argument because we want that address
anyhow for our debug information.

This seems to fix rdar://9965111, at least we have more debug
information than before and from reading the assembly it appears
to be the correct location.

llvm-svn: 151335
2012-02-24 01:59:08 +00:00
Eric Christopher 219d51d649 Tabs, formatting and long lines oh my!
llvm-svn: 151334
2012-02-24 01:59:01 +00:00
Johnny Chen 840305f1fd Add a class method HasWatchpointOccurred() to inspect the "method of debug entry" field
of the DSCR to check whether it was because of watchpoint occurred.

llvm-svn: 151333
2012-02-24 01:50:42 +00:00
Jia Liu 19b0c8244b 80 columns of Mips InstPrinter Makefile
llvm-svn: 151332
2012-02-24 01:47:01 +00:00
Jakob Stoklund Olesen fa7a53746c Switch ARM target to register masks.
I'll let the buildbots determine the compile time improvements from this
change, but 464.h264ref has 5% faster codegen at -O2.

This patch does cause some assembly changes.  Branch folding can make
different decisions about calls with dead return values.
CriticalAntiDepBreaker may choose different registers because its
liveness tracking is affected.  MachineCopyPropagation may sometimes
leave a dead copy behind.

llvm-svn: 151331
2012-02-24 01:19:29 +00:00
Argyrios Kyrtzidis ffe055a86f [PCH] When keeping track of top-level decls for "targeted deserialization"
make sure we don't mistake ParmVarDecls for top-level decls.

Fixes rdar://10920009.

llvm-svn: 151330
2012-02-24 01:12:38 +00:00
Jim Grosbach 3a21e2c33e Make sure the regs are low regs for tMUL size reduction.
llvm-svn: 151318
2012-02-24 00:53:11 +00:00
Ted Kremenek f2131e7d95 Rework PathDiagnostic creation so that call stacks are captured by a nested PathDiagnosticCallPiece.
llvm-svn: 151317
2012-02-24 00:38:56 +00:00
Fariborz Jahanian eee9bca03d Add an ivar test for modern objc abi translator.
llvm-svn: 151316
2012-02-24 00:34:58 +00:00
Jim Grosbach c01104dfbf Thumb2 size reduction fix for tied operands of tMUL.
The tied source operand of tMUL is the second source operand, not the
first like every other two-address thumb instruction. Special case it
in the size reduction pass to make sure we create the tMUL instruction
properly.

llvm-svn: 151315
2012-02-24 00:33:36 +00:00
Fariborz Jahanian 77a9255329 Make test works with FileCheck.
llvm-svn: 151314
2012-02-24 00:29:20 +00:00
NAKAMURA Takumi c5ea5d3fa1 EE/Interpreter/ExternalFunctions.cpp: Staticize lle_X_() entries. They can be mapped in FuncNames[] at the initialization.
llvm-svn: 151313
2012-02-24 00:20:08 +00:00
NAKAMURA Takumi 7fe000581e EE/Interpreter/ExternalFunctions.cpp: Prune "C" linkage to suppress warnings with -Wreturn-type (and MSC's w4190).
In historical reason, Interpreter's external entries had prefix "lle_X_" as C linkage, even for well-known entries in EE/Interpreter.
Now, at least on ToT, they are resolved via FuncNames[] mapper.
We will not need their symbols are expected to be exported any more.

Clang r150128 has introduced the warning <"%0 has C-linkage specified, but returns user-defined type %1 which is incompatible with C">.

llvm-svn: 151312
2012-02-24 00:19:58 +00:00
Chad Rosier f62290a19b Reapply r151172 - Unwind path cleanup for array new list initializers - with a
test case that only runs on debug builds.

llvm-svn: 151311
2012-02-24 00:13:55 +00:00
Dan Gohman d4a77c4682 When emitting a cmp with 0 for a lowered select, mask out the high
bits of the value carying the boolean condition, as their contents
are undefined. This fixes rdar://10887484.

llvm-svn: 151310
2012-02-24 00:09:36 +00:00
Enrico Granata d2c15e4c8a commenting parts of std::map test case which would make the test case fail when using TOT clang, but succeed on older compiler releases
llvm-svn: 151309
2012-02-23 23:57:43 +00:00
Jim Grosbach dfd306ea3c Release not for ARM integrated assembler support.
llvm-svn: 151308
2012-02-23 23:52:06 +00:00
Eli Friedman ec52f92db3 Handle "#pragma GCC visibility" in a few more places. Switch over "#pragma pack" to use the same handling that gcc does. Fixes <rdar://problem/10871094> and <rdar://problem/10893316>.
(Hopefully, common usage of these pragmas isn't irregular enough to break our current handling.  Doug has ideas for a more crazy approach if necessary.)

llvm-svn: 151307
2012-02-23 23:47:16 +00:00
Sean Callanan 6f298a6464 Updated LLVM to take some fixes that make the
Intel disassembler usable.

Also flipped the switch: we are now exclusively
using Disassembler.h instead of
EnhancedDisassembly.h for all disassembly in
LLDB.

llvm-svn: 151306
2012-02-23 23:43:28 +00:00
Johnny Chen 6476fad669 Add comments about address word offset and the calculation of byte address select mask for WCR.
llvm-svn: 151305
2012-02-23 23:40:58 +00:00
Enrico Granata b8cbe9cb4f fixing a syntax error with objc_runtime.py
llvm-svn: 151304
2012-02-23 23:26:48 +00:00
Bill Wendling 38b31619f6 Allow an integer to be converted into an MMX type when it's used in an inline
asm.
<rdar://problem/10106006>

llvm-svn: 151303
2012-02-23 23:25:25 +00:00
Chad Rosier 563f620932 Typo.
llvm-svn: 151302
2012-02-23 23:21:22 +00:00
Enrico Granata b7dba3f949 This patch provides a set of formatters for most of the commonly used Cocoa classes.
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation.
A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit.
The formatters are contained in a category named "AppKit", which is not enabled at startup.

llvm-svn: 151301
2012-02-23 23:11:19 +00:00
Enrico Granata eb4a479881 This patch provides a set of formatters for most of the commonly used Cocoa classes.
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation.
A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit.
The formatters are contained in a category named "AppKit", which is not enabled at startup.

llvm-svn: 151300
2012-02-23 23:10:27 +00:00
Enrico Granata d3d444f811 This patch provides a set of formatters for most of the commonly used Cocoa classes.
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation.
A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit.
The formatters are contained in a category named "AppKit", which is not enabled at startup.

llvm-svn: 151299
2012-02-23 23:10:03 +00:00
Eli Friedman 8195ad7b87 Modernize some code which processes CastExprs to use CastKinds. No intended functional change.
llvm-svn: 151298
2012-02-23 23:04:32 +00:00
Anna Zaks 4b062cb904 [analyzer] KeyChainAPI: unique the leaks by allocation site.
(Very similar to the previous change in malloc.)

llvm-svn: 151297
2012-02-23 22:53:29 +00:00
Fariborz Jahanian 86f8266b9f objective-c++: Type of an objc string literal is NSString, not 'id'.
// rdar://10907410

llvm-svn: 151296
2012-02-23 22:51:36 +00:00
Aaron Ballman 0c84ebb539 Turned on support for __declspecs: noreturn, noinline, nothrow and naked in MS compatibility mode.
llvm-svn: 151295
2012-02-23 22:46:33 +00:00
Jason Molenda 052a62c7fe Bumping version to lldb-116.
llvm-svn: 151293
2012-02-23 22:34:01 +00:00
Jason Molenda 7e1f45f9c5 Make a nested if .. if .. else block nesting more explicit with some curly braces.
llvm-svn: 151292
2012-02-23 22:32:13 +00:00
Douglas Gregor 2d5aea0f25 Pull the OpaqueValueExpr's source expression into its constructor, so
that we can correctly compute value-dependence of the OVE.

llvm-svn: 151291
2012-02-23 22:17:26 +00:00
Jim Grosbach ce398aa03b Update test for r151288
llvm-svn: 151290
2012-02-23 22:12:53 +00:00
Michael J. Spencer b560d079df Emit global ctors into .CRT$XCU instead of .ctors on Win32. Patch by Joe Groff!
llvm-svn: 151289
2012-02-23 21:56:08 +00:00
Jim Grosbach 1d43ca99e2 ARM: enable the integrated assembler by default for Darwin.
llvm-svn: 151288
2012-02-23 21:55:04 +00:00
Anna Zaks df901a4419 [analyzer] Malloc: unique leak reports by allocation site.
When we find two leak reports with the same allocation site, report only
one of them.

Provide a helper method to BugReporter to facilitate this.

llvm-svn: 151287
2012-02-23 21:38:21 +00:00
Anna Zaks fa31b8ef10 [analyzer] Add CString checks to the release notes.
llvm-svn: 151286
2012-02-23 21:38:14 +00:00
Chad Rosier 6e220d5ad0 The LLVM Getting Started documentation is out of date. It would be nice if
someone could update this, but for now at least reference the Clang Getting
Started document, which is much more current.

llvm-svn: 151285
2012-02-23 21:23:24 +00:00
Benjamin Kramer 00b679c127 Bump SmallString to the minimum required amount for raw_ostream to avoid allocation.
It's is a bit annoying, we should hide this implementation detail better.

llvm-svn: 151284
2012-02-23 21:15:21 +00:00
Argyrios Kyrtzidis 2e85c5f297 [libclang] Make sure that all top-level decls in a @implementation are
marked as such.

Previously we missed tag declarations; fixes rdar://10902015

llvm-svn: 151283
2012-02-23 21:11:20 +00:00
Howard Hinnant fdad25a40a Insert a couple of dummy virtual functions to ease low level binary compatibility with other low level tools.
llvm-svn: 151282
2012-02-23 21:09:29 +00:00
Benjamin Kramer 92d7ff9d33 Replace a DenseSet with SmallPtrSet.
SmallSet of pointer is the same as SmallPtrSet, use the latter directly.

llvm-svn: 151281
2012-02-23 20:53:02 +00:00
Fariborz Jahanian e5d9b0b8c8 Test is fixed.
llvm-svn: 151280
2012-02-23 20:43:56 +00:00
Roman Divacky a2d3608f78 MCize function entry label emission on PowerPC64 properly.
llvm-svn: 151278
2012-02-23 20:28:39 +00:00
Fariborz Jahanian 1e2303379d XFAIL test until I figure out how to make test pass on different platforms.
llvm-svn: 151277
2012-02-23 20:22:21 +00:00
Howard Hinnant ebab2b0660 * tgmath_logb.patch implements the missing logb function (see C99 standard 7.22, paragraph 5). * tgmath_fabs_complex.patch corrects the return types for the complex fabs functions. These must be non-complex float/double/long double (see C99 standard 7.22, paragraph 4 and 7.3.8.1). Patch contributed by Kristof Beyls.
llvm-svn: 151276
2012-02-23 20:22:10 +00:00
Fariborz Jahanian 7cef65a3b6 Change test again so it passes in build-bot until I can figure out what is
going on.

llvm-svn: 151275
2012-02-23 20:07:38 +00:00
Benjamin Kramer ef8bf39575 BitVectorize loop.
llvm-svn: 151274
2012-02-23 19:29:25 +00:00
Benjamin Kramer 796fd46993 post-ra-sched: Turn the KillIndices vector into a bitvector, it only stored two meaningful states.
Rename it to LiveRegs to make it more clear what's stored inside.

llvm-svn: 151273
2012-02-23 19:15:40 +00:00