David Blaikie [Wed, 7 Nov 2012 17:17:07 +0000 (17:17 +0000)]
Test for source location range of new expressions fixed in r167507.
Patch by Philip Craig.
llvm-svn: 167538
Jordan Rose [Wed, 7 Nov 2012 17:12:37 +0000 (17:12 +0000)]
[analyzer] Check that the argument to CFMakeCollectable is non-NULL.
Patch by Sean McBride!
llvm-svn: 167537
Pawel Wodnicki [Wed, 7 Nov 2012 17:00:18 +0000 (17:00 +0000)]
fix typo PR1476
llvm-svn: 167536
Pawel Wodnicki [Wed, 7 Nov 2012 16:56:52 +0000 (16:56 +0000)]
fix for PR1476
llvm-svn: 167535
David Chisnall [Wed, 7 Nov 2012 16:50:40 +0000 (16:50 +0000)]
Fix the Objective-C exception rethrow from cleanups (GNU runtimes). Note that
a bug in the inliner still causes the wrong thing to happen at -O2 and above
(PR14116).
llvm-svn: 167534
Dmitry Vyukov [Wed, 7 Nov 2012 16:41:57 +0000 (16:41 +0000)]
tsan: do not sleep at exit if there are no other threads
llvm-svn: 167533
Dmitry Vyukov [Wed, 7 Nov 2012 16:14:12 +0000 (16:14 +0000)]
tsan: add flag to suppress all reports (useful for benchmarking)
llvm-svn: 167532
Dmitry Vyukov [Wed, 7 Nov 2012 15:08:20 +0000 (15:08 +0000)]
tsan: more precise handling of finalizers
llvm-svn: 167530
Kostya Serebryany [Wed, 7 Nov 2012 12:42:18 +0000 (12:42 +0000)]
[asan] fix bug 14277 (asan needs to fail with fata error if an __asan interface function is being redefined. Before this fix asan asserts)
llvm-svn: 167529
Andrew Trick [Wed, 7 Nov 2012 07:05:09 +0000 (07:05 +0000)]
misched: Heuristics based on the machine model.
misched is disabled by default. With -enable-misched, these heuristics
balance the schedule to simultaneously avoid saturating processor
resources, expose ILP, and minimize register pressure. I've been
analyzing the performance of these heuristics on everything in the
llvm test suite in addition to a few other benchmarks. I would like
each heuristic check to be verified by a unit test, but I'm still
trying to figure out the best way to do that. The heuristics are still
in considerable flux, but as they are refined we should be rigorous
about unit testing the improvements.
llvm-svn: 167527
Andrew Trick [Wed, 7 Nov 2012 07:05:05 +0000 (07:05 +0000)]
misched: handle on-the-fly regpressure queries better for 2-addr
instructions without relying on liveintervals.
llvm-svn: 167526
Bill Wendling [Wed, 7 Nov 2012 05:19:04 +0000 (05:19 +0000)]
Add comment describing what's going on here.
llvm-svn: 167525
Bill Wendling [Wed, 7 Nov 2012 04:42:18 +0000 (04:42 +0000)]
When we're updating the subprogram scope DIE, we want to determine if we're
updating an abstract DIE or not. If we are, then we use that. Its children will
be added on later, as well as the object pointer attribute. Otherwise, this
function may be called with a concrete DIE twice and adding the children and
object pointer attribute to it twice.
<rdar://problem/
12401423&
12600340>
llvm-svn: 167524
Jordan Rose [Wed, 7 Nov 2012 02:35:33 +0000 (02:35 +0000)]
[analyzer] Add some examples for the common REGISTER_*_WITH_PROGRAMSTATEs.
No functionality change (doc comments only).
llvm-svn: 167523
Jordan Rose [Wed, 7 Nov 2012 02:35:02 +0000 (02:35 +0000)]
[analyzer] Enhance docs for checker callbacks (esp. processRegionChanges).
No functionality change; this checker is only used for documentation.
llvm-svn: 167522
Eli Bendersky [Wed, 7 Nov 2012 01:52:41 +0000 (01:52 +0000)]
Fix a broken sentence
llvm-svn: 167521
Jim Ingham [Wed, 7 Nov 2012 01:52:04 +0000 (01:52 +0000)]
When we were calculating the max byte size of ONE instruction to handle something like
x/9i
we actually calculated the size of 9 instructions. Then we multiplied it by the count again
to get the total amount we should fetch, so we thought 9 x86_64 instructions took over 1K
to fetch...
<rdar://problem/
12649027>
llvm-svn: 167520
Ted Kremenek [Wed, 7 Nov 2012 01:43:44 +0000 (01:43 +0000)]
Add -Wmismatched-return-types flag for existing warning on conflicting return types.
llvm-svn: 167518
Eli Bendersky [Wed, 7 Nov 2012 01:41:30 +0000 (01:41 +0000)]
Document the -input-file option of FileCheck
llvm-svn: 167517
Sean Callanan [Wed, 7 Nov 2012 01:27:50 +0000 (01:27 +0000)]
Logging improvements for the Objective-C runtime.
Also fixed a bug where the Objective-C runtime
would not properly report that it found a class if
(a) it had to build the ObjCInterfaceDecl for the
class and (b) logging was enabled.
<rdar://problem/
12641180>
llvm-svn: 167516
Ted Kremenek [Wed, 7 Nov 2012 01:25:56 +0000 (01:25 +0000)]
Add -Wmismatched-parameter-types flag for existing warning on conflicting parameter types.
llvm-svn: 167515
Richard Smith [Wed, 7 Nov 2012 01:14:25 +0000 (01:14 +0000)]
PR11851 (and duplicates): Whenever a constexpr function is referenced,
instantiate it if it can be instantiated and implicitly define it if it can be
implicitly defined. This matches g++'s approach. Remove some cases from
SemaOverload which were marking functions as referenced when just planning how
overload resolution would proceed; such cases are not actually references.
llvm-svn: 167514
Fariborz Jahanian [Wed, 7 Nov 2012 00:43:05 +0000 (00:43 +0000)]
modern ObjC translator. Insert line number for @synchronized statements.
llvm-svn: 167511
Eli Friedman [Wed, 7 Nov 2012 00:35:20 +0000 (00:35 +0000)]
Add missing check to warning for packed attribute. PR14259.
llvm-svn: 167510
Manuel Klimek [Wed, 7 Nov 2012 00:33:12 +0000 (00:33 +0000)]
Create helper functions in StmtDumper for outputting the indentation, newlines, and brackets.
This is preparation for adding Decl dumping.
Patch by Philip Craig.
llvm-svn: 167509
Chad Rosier [Wed, 7 Nov 2012 00:13:01 +0000 (00:13 +0000)]
[arm fast-isel] Appease the machine verifier by using the proper register
classes. For my test case the number of errors drop from 356 to 21.
Part of rdar://
12594152
llvm-svn: 167508
David Blaikie [Wed, 7 Nov 2012 00:12:38 +0000 (00:12 +0000)]
PR13552: Fix the end location of a CXXNewExpr.
Spent longer than reasonable looking for a nice way to test this & decided to
give up for now. Open to suggestions/requests. Richard Smith suggested adding
something to ASTMatchers but it wasn't readily apparent how to test this with
that.
llvm-svn: 167507
Eli Friedman [Tue, 6 Nov 2012 23:56:42 +0000 (23:56 +0000)]
Fix assertion failure with auto and nested initializer list; PR14272.
llvm-svn: 167506
Jakub Staszak [Tue, 6 Nov 2012 23:52:19 +0000 (23:52 +0000)]
Simplify code. No functionality change.
llvm-svn: 167505
Douglas Gregor [Tue, 6 Nov 2012 23:40:54 +0000 (23:40 +0000)]
Tease out the routine that reads the control block of an AST file from
the validation of an AST file against a specific set of options.
llvm-svn: 167504
Eli Friedman [Tue, 6 Nov 2012 23:40:48 +0000 (23:40 +0000)]
Put something sane in the DWARF offset field for bitfield ObjC ivars.
This is useful because unnamed bitfields can have effects on the
offsets which are not otherwise reflected in the DWARF information.
<rdar://problem/
12629719>
llvm-svn: 167503
Greg Clayton [Tue, 6 Nov 2012 23:36:26 +0000 (23:36 +0000)]
<rdar://problem/
12647273>
Added the ability to get the full process list when using the --applist option in debugserver.
llvm-svn: 167502
Nadav Rotem [Tue, 6 Nov 2012 23:36:00 +0000 (23:36 +0000)]
Make the helper functions static. No functional change.
llvm-svn: 167501
Fariborz Jahanian [Tue, 6 Nov 2012 23:25:49 +0000 (23:25 +0000)]
objective-C modern rewriter. Insert line numbers in
translated code where new code makes the lines be off.
This is wip.
llvm-svn: 167500
Chad Rosier [Tue, 6 Nov 2012 23:05:24 +0000 (23:05 +0000)]
Mark the Int_eh_sjlj_dispatchsetup pseudo instruction as clobbering all
registers. Previously, the register we being marked as implicitly defined, but
not killed. In some cases this would cause the register scavenger to spill a
dead register.
Also, use an empty register mask to simplify the logic and to reduce the memory
footprint.
rdar://
12592448
llvm-svn: 167499
Chad Rosier [Tue, 6 Nov 2012 22:52:42 +0000 (22:52 +0000)]
[regallocfast] Make sure the MachineRegisterInfo is aware of clobbers from a
register masks. This is an obvious and necessary fix for a soon to be committed
patch. No test case possible at this time. Reviewed by Jakob.
llvm-svn: 167498
NAKAMURA Takumi [Tue, 6 Nov 2012 22:45:31 +0000 (22:45 +0000)]
RewriteModernObjC.cpp: Use Lexer::Stringify() on the file name of #line directive to escape Win32 path separator '\\'.
llvm-svn: 167497
Anton Korobeynikov [Tue, 6 Nov 2012 22:44:45 +0000 (22:44 +0000)]
Implement codegen for init_priority attribute properly - make sure it
works between the modules.
No functionality change on Darwin/Windows.
This fixes PR11480.
llvm-svn: 167496
Eli Friedman [Tue, 6 Nov 2012 22:15:52 +0000 (22:15 +0000)]
Back out 167431+167437+167487; I didn't realize how incomplete our test
coverage of this code is.
llvm-svn: 167495
NAKAMURA Takumi [Tue, 6 Nov 2012 22:02:00 +0000 (22:02 +0000)]
clang/lib/Driver/Tools.cpp: Fix abuse of StringRef.
llvm-svn: 167494
Howard Hinnant [Tue, 6 Nov 2012 21:55:44 +0000 (21:55 +0000)]
Dimitry Andric: Silence some miscellaneous warnings.
llvm-svn: 167493
Howard Hinnant [Tue, 6 Nov 2012 21:48:33 +0000 (21:48 +0000)]
Dimitry Andric: Silence some warnings in <locale>.
llvm-svn: 167492
Howard Hinnant [Tue, 6 Nov 2012 21:42:45 +0000 (21:42 +0000)]
Enable the tuple interface of pair in C++03 mode.
llvm-svn: 167491
Howard Hinnant [Tue, 6 Nov 2012 21:31:37 +0000 (21:31 +0000)]
Update instructions for building and using libc++ on Mac OS
llvm-svn: 167490
Argyrios Kyrtzidis [Tue, 6 Nov 2012 21:21:49 +0000 (21:21 +0000)]
[libclang] Add some comments about the version constants for the libclang API.
llvm-svn: 167489
Nadav Rotem [Tue, 6 Nov 2012 21:17:17 +0000 (21:17 +0000)]
CostModel: add another known vector trunc optimization.
llvm-svn: 167488
Eli Friedman [Tue, 6 Nov 2012 21:10:22 +0000 (21:10 +0000)]
Fix a silly mistake in r167437.
llvm-svn: 167487
Howard Hinnant [Tue, 6 Nov 2012 21:08:48 +0000 (21:08 +0000)]
Provide a way to disable use of extern templates in libc++. This is intended for the clients of libc++, not the libc++ build. The dylib should always contain the extern templates. To disable the client needs to put -D'_LIBCPP_EXTERN_TEMPLATE(...)=' on the command line.
llvm-svn: 167486
NAKAMURA Takumi [Tue, 6 Nov 2012 20:44:29 +0000 (20:44 +0000)]
clang/test/Driver/fsanitize.c: Speculative fix to improve test on win32, not to mix emissions into stdout.
llvm-svn: 167485
Argyrios Kyrtzidis [Tue, 6 Nov 2012 19:54:46 +0000 (19:54 +0000)]
[c-index-test] When building with BUILD_CLANG_ONLY=YES, include c-index-test.
It is part of libclang and has other uses besides running the clang tests.
llvm-svn: 167484
Douglas Gregor [Tue, 6 Nov 2012 19:41:11 +0000 (19:41 +0000)]
Remove C++11-isms I just introduced in r167482
llvm-svn: 167483
Douglas Gregor [Tue, 6 Nov 2012 19:39:40 +0000 (19:39 +0000)]
Introduce inferred framework modules into the module map file,
allowing a module map to be placed one level above the '.framework'
directories to specify that all .frameworks within that directory can
be inferred as framework modules. One can also specifically exclude
frameworks known not to work.
This makes explicit (and more restricted) behavior modules have had
"forever", where *any* .framework was assumed to be able to be built
as a module. That's not necessarily true, so we white-list directories
(with exclusions) when those directories have been audited.
llvm-svn: 167482
Michael Han [Tue, 6 Nov 2012 19:34:54 +0000 (19:34 +0000)]
Teach Clang parser to reject C++11 attributes that appertain to declaration specifiers.
We don't support any C++11 attributes that appertain to declaration specifiers so reject
the attributes in parser until we support them; this also conforms to what g++ 4.8 is doing.
llvm-svn: 167481
Nadav Rotem [Tue, 6 Nov 2012 19:33:53 +0000 (19:33 +0000)]
Cost Model: add tables for some avx type-conversion hacks.
llvm-svn: 167480
Richard Smith [Tue, 6 Nov 2012 19:23:14 +0000 (19:23 +0000)]
Updates to user's manual and release notes for -fsanitize= options.
llvm-svn: 167479
Argyrios Kyrtzidis [Tue, 6 Nov 2012 19:14:25 +0000 (19:14 +0000)]
[c-index-test] When building with BUILD_CLANG_ONLY=YES, include c-index-test.
It is part of libclang and has other uses besides running the clang tests.
llvm-svn: 167478
Andrew Kaylor [Tue, 6 Nov 2012 19:06:46 +0000 (19:06 +0000)]
Fix build error from previous commit.
llvm-svn: 167477
Manman Ren [Tue, 6 Nov 2012 19:05:29 +0000 (19:05 +0000)]
Cleanup: 80-column violation
llvm-svn: 167476
Andrew Kaylor [Tue, 6 Nov 2012 18:51:59 +0000 (18:51 +0000)]
Add interface for object-based JIT events.
This patch adds the interface to expose events from MCJIT when an object is emitted or freed and implements the MCJIT functionality to send those events. The IntelJITEventListener implementation is left empty for now. It will be fleshed out in a future patch.
llvm-svn: 167475
Greg Clayton [Tue, 6 Nov 2012 18:22:59 +0000 (18:22 +0000)]
Added unnamed bitfields to our bitfield test.
llvm-svn: 167473
Chad Rosier [Tue, 6 Nov 2012 18:16:37 +0000 (18:16 +0000)]
Use the -fsanitize=thread flag to unbreak buildbot.
llvm-svn: 167472
Greg Clayton [Tue, 6 Nov 2012 17:50:15 +0000 (17:50 +0000)]
Make sure to check the module is valid after trying to find a shared module.
llvm-svn: 167471
Manuel Klimek [Tue, 6 Nov 2012 17:31:40 +0000 (17:31 +0000)]
Add unit tests for source locations of AST nodes.
Patch by Philip Craig.
llvm-svn: 167470
Fariborz Jahanian [Tue, 6 Nov 2012 17:30:23 +0000 (17:30 +0000)]
Modern objective-C translator: Start adding line info to the
translated source where it is needed. wip.
llvm-svn: 167469
Daniel Dunbar [Tue, 6 Nov 2012 17:08:24 +0000 (17:08 +0000)]
Basic: Windows doesn't define S_IFIFO.
llvm-svn: 167468
Daniel Dunbar [Tue, 6 Nov 2012 17:08:09 +0000 (17:08 +0000)]
MemoryBuffer: Windows doesn't define S_IFIFO.
llvm-svn: 167467
Dmitry Vyukov [Tue, 6 Nov 2012 16:48:46 +0000 (16:48 +0000)]
tsan: slightly relax requirements for lazy shadow memory (can overlap and may not be properly aligned)
it's problematic on windows where allocation granularity is much larger than page size
llvm-svn: 167466
Alexey Samsonov [Tue, 6 Nov 2012 16:19:11 +0000 (16:19 +0000)]
Use -fsanitize= flag in docs for ASan/TSan
llvm-svn: 167465
Dmitry Vyukov [Tue, 6 Nov 2012 16:00:16 +0000 (16:00 +0000)]
tsan: lazily allocate shadow for Go
llvm-svn: 167464
Dmitry Vyukov [Tue, 6 Nov 2012 15:54:34 +0000 (15:54 +0000)]
tsan: fix debug output
llvm-svn: 167463
Dmitry Vyukov [Tue, 6 Nov 2012 15:39:16 +0000 (15:39 +0000)]
tsan: better diagnostics for failed mmap()
llvm-svn: 167462
Alexey Samsonov [Tue, 6 Nov 2012 15:09:03 +0000 (15:09 +0000)]
Follow-up for r167411 to un-break ASan on Mac. Move SanitizerArgs to a header file and use it on Darwin toolchain.
llvm-svn: 167460
Alexey Samsonov [Tue, 6 Nov 2012 15:04:37 +0000 (15:04 +0000)]
docs: use code font for console commands in phabricator manual
llvm-svn: 167459
Dmitry Vyukov [Tue, 6 Nov 2012 14:05:20 +0000 (14:05 +0000)]
tsan: fix compiler warning
llvm-svn: 167458
Dmitry Vyukov [Tue, 6 Nov 2012 13:35:02 +0000 (13:35 +0000)]
tsan: windows platform support
llvm-svn: 167457
Dmitry Vyukov [Tue, 6 Nov 2012 13:32:53 +0000 (13:32 +0000)]
tsan: update script to support windows
llvm-svn: 167456
Dmitry Vyukov [Tue, 6 Nov 2012 13:26:57 +0000 (13:26 +0000)]
tsan: add shadow mapping for windows
llvm-svn: 167455
Dmitry Vyukov [Tue, 6 Nov 2012 13:25:05 +0000 (13:25 +0000)]
tsan: add missing function for windows
llvm-svn: 167454
Dmitry Vyukov [Tue, 6 Nov 2012 13:21:06 +0000 (13:21 +0000)]
tsan: fix constant types
llvm-svn: 167453
Dmitry Vyukov [Tue, 6 Nov 2012 13:19:59 +0000 (13:19 +0000)]
tsan: windows: less includes, better diagnostics for failed VirtualAlloc(), implement sched_yield()
llvm-svn: 167452
Dmitry Vyukov [Tue, 6 Nov 2012 13:16:25 +0000 (13:16 +0000)]
tsan: don't release disabled clocks
llvm-svn: 167451
Dmitry Vyukov [Tue, 6 Nov 2012 12:54:16 +0000 (12:54 +0000)]
tsan: define missing compier macros for windows
llvm-svn: 167450
Dmitry Vyukov [Tue, 6 Nov 2012 12:50:13 +0000 (12:50 +0000)]
tsan: fix non-msvc windows build
llvm-svn: 167449
Dmitry Vyukov [Tue, 6 Nov 2012 12:49:22 +0000 (12:49 +0000)]
tasn: improve sanitizer_internal_defs.h
The file uses namespaces and extern "LANG", so it's kinda senseless to use #ifdef __cplusplus
llvm-svn: 167448
Dmitry Vyukov [Tue, 6 Nov 2012 12:47:42 +0000 (12:47 +0000)]
tsan: fix windows build
__declspec is not _WIN32, it's _MSC_VER
llvm-svn: 167447
Dmitry Vyukov [Tue, 6 Nov 2012 12:46:26 +0000 (12:46 +0000)]
tsan: fix Go build
llvm-svn: 167446
Michael Liao [Tue, 6 Nov 2012 08:06:35 +0000 (08:06 +0000)]
Remove tailing whitespaces
llvm-svn: 167445
Andrew Trick [Tue, 6 Nov 2012 07:10:38 +0000 (07:10 +0000)]
misched: TargetSchedule interface for machine resources.
Expose the processor resources defined by the machine model to the
scheduler and other clients through the TargetSchedule interface.
Normalize each resource count with respect to other kinds of
resources. This allows scheduling heuristics to balance resources
against other kinds of resources and latency.
llvm-svn: 167444
Andrew Trick [Tue, 6 Nov 2012 07:10:34 +0000 (07:10 +0000)]
misched: Rename RemainingCount to avoid confusion with remaining resources.
llvm-svn: 167443
Ted Kremenek [Tue, 6 Nov 2012 06:36:45 +0000 (06:36 +0000)]
Remove completely irrelevant code from USR generation.
Thanks to Richard Smith for pointing this out. This code stopped
serving its purpose during r103212 in a refactoring. My initial
fix was to add back the logic to abort the USR generation for
InternalLinkage, but enough tests broke suspiciously that I fear
that USR generation for cursors with InternalLinkage is now expected
by some clients (where it wasn't the case when the refactoring
took place). I don't own this code anymore and have not looked
at it for some time, but clearly this code is dead and can be removed
pending further review on the proper logic here.
llvm-svn: 167442
Nico Weber [Tue, 6 Nov 2012 05:20:23 +0000 (05:20 +0000)]
Delete an outdated comment.
llvm-svn: 167441
Manman Ren [Tue, 6 Nov 2012 04:58:01 +0000 (04:58 +0000)]
ARM byval: when type alignment is bigger than ABI alignment, instead of
disabling byval, we set realign to true.
It will perform an aligned alloca, and call memcpy to copy the byval
argument to the local variable.
Change the size threshold back to 64 bytes.
rdar://
12596507
llvm-svn: 167440
Anna Zaks [Tue, 6 Nov 2012 04:20:57 +0000 (04:20 +0000)]
[analyzer] Add symbol escapes logic to the SimpleStreamChecker.
llvm-svn: 167439
Anna Zaks [Tue, 6 Nov 2012 04:20:54 +0000 (04:20 +0000)]
[analyzer] Remove isWithinInlined. It's been replaced with inTopFrame().
Thanks Jordan.
llvm-svn: 167438
Eli Friedman [Tue, 6 Nov 2012 03:41:04 +0000 (03:41 +0000)]
Propagate CharUnits through CGObjCMac.cpp.
llvm-svn: 167437
Eli Friedman [Tue, 6 Nov 2012 03:38:02 +0000 (03:38 +0000)]
Minor fix to ObjC layout bitmap metadata. Found while I was trying to
refactor the code.
llvm-svn: 167436
Andrew Trick [Tue, 6 Nov 2012 03:13:46 +0000 (03:13 +0000)]
ScheduleDAG interface. Added OrderKind to distinguish nonregister dependencies.
This is in preparation for adding "weak" DAG edges, but generally
simplifies the design.
llvm-svn: 167435
Richard Smith [Tue, 6 Nov 2012 02:31:42 +0000 (02:31 +0000)]
Update compiler-rt tests to match flag renaming/deprecation in Clang.
llvm-svn: 167434
Richard Smith [Tue, 6 Nov 2012 02:30:30 +0000 (02:30 +0000)]
Classify the INT_MIN/-1 check as -fsanitize=signed-integer-overflow, not as -fsanitize=divide-by-zero.
llvm-svn: 167433
Argyrios Kyrtzidis [Tue, 6 Nov 2012 02:12:21 +0000 (02:12 +0000)]
[c-index-test] Do install c-index-test because it's not just for tests,
it's also setup as 'INTERNAL_TOOL'.
llvm-svn: 167432