Commit Graph

157680 Commits

Author SHA1 Message Date
Enrico Granata e2e220a805 <rdar://problem/14071463>
SVN r189964 provided a sample Python script to inspect unordered(multi){set|map} with synthetic children, contribued by Jared Grubb
This checkin converts that sample script to a C++ provider built into LLDB
A test case is also provided

llvm-svn: 190564
2013-09-12 00:48:47 +00:00
Howard Hinnant 872ac4b5f0 A collection of minor type-o fixes. The first two aren't testable, but all tests pass with them. I stumbled across them while experimenting with a std::move that checks its argument for non-const. The third corrects a test that is currently failing.
llvm-svn: 190563
2013-09-12 00:10:44 +00:00
Hal Finkel f574c27769 Greatly simplify the PPC A2 scheduling itinerary
As Andy pointed out to me a long time ago, there are no structural hazards in
the later pipeline stages of the A2, and so modeling them is useless. Also,
modeling the top pre-dispatch stages is deceiving because, when multiple
hardware threads are active, those resources are shared among the threads. The
bypass definitions were mostly wrong, and so those have been removed. The
resulting itinerary is much simpler, and more accurate.

llvm-svn: 190562
2013-09-11 23:25:21 +00:00
Argyrios Kyrtzidis 623ecfdba0 Fix the end-location of a CXXTemporaryObjectExpr when it is created with a initializer_list.
rdar://14887351

llvm-svn: 190561
2013-09-11 23:23:27 +00:00
Jordan Rose e51d5f6706 [CMake] Fix repository version checking dependencies harder.
Just always regenerate SVNVersion.inc. Don't worry about it not changing.

llvm-svn: 190560
2013-09-11 23:12:55 +00:00
NAKAMURA Takumi 4c57b9db10 clang/test/FixIt/fixit-unicode-with-utf8-output.c: Remove XFAIL.
It'd be another issue that the terminal and stdout(including redirects) with utf8. This test XPASSed on Win32, at least on Lit.

FYI, we don't use a triplet like "-win64" anywhere.

llvm-svn: 190559
2013-09-11 23:09:22 +00:00
Hal Finkel 21442b24fb Enable MI scheduling (and CodeGen AA) by default for embedded PPC cores
For embedded PPC cores (especially the A2 core), using the MI scheduler with AA
is far superior to the other scheduling options.

llvm-svn: 190558
2013-09-11 23:05:25 +00:00
Jordan Rose 206d4c4678 [CMake] Always include the Clang repo version, just like the autoconf build.
Now that LLVM's helper script GetSVN.cmake actually works consistently,
there's no reason not to use it. This does mean that the clangBasic target
is potentially always dirty, because CMake-generated projects do not
necessarily recalculate dependencies after running each target.

This should end the issues of the AST format changing and breaking old
module files; CMake-Clang should now detect that the version changed just
like Autoconf-Clang has.

llvm-svn: 190557
2013-09-11 22:46:46 +00:00
Jordan Rose 04801d549a [CMake] Update GetSVN.cmake to use LLVM version control helper scripts.
This allows the logic to work with Git, and also uses the variable names
to match what Clang is actually looking for.

This changes the interface of GetSVN.cmake. Clang change to follow.

llvm-svn: 190556
2013-09-11 22:46:41 +00:00
Fariborz Jahanian 47502c11f5 ObjectiveC migration. NS_RETURNS_NOT_RETAINED is the default for
unknown methods which return Cocoa objects. No need to annotate
such methods.

llvm-svn: 190555
2013-09-11 22:46:09 +00:00
Rui Ueyama 2ff9d70ac4 Run clang-format.
llvm-svn: 190554
2013-09-11 22:21:42 +00:00
Nick Lewycky 04f6de0fd7 Fix anachronism/typo in syntax of declaration of llvm.va_start.
llvm-svn: 190552
2013-09-11 22:04:52 +00:00
Bill Wendling 7b650a751f Use the appropriate return type for the compact unwind encoding.
llvm-svn: 190551
2013-09-11 21:47:57 +00:00
Jason Molenda b019cd92b5 When target module add/SBTarget::AddModule()'ing, if an architecture isn't specifically
requested, use the Target's architecture to pick the correct slice of a universal file.
<rdar://problem/14813869> 

llvm-svn: 190550
2013-09-11 21:25:46 +00:00
Hal Finkel 71780ec4fd Implement TTI getUnrollingPreferences for PowerPC
The PowerPC A2 core greatly benefits from aggressive concatenation unrolling;
use the new getUnrollingPreferences to enable this by default when targeting
the PPC A2 core.

llvm-svn: 190549
2013-09-11 21:20:40 +00:00
Jason Molenda 3c2dacaf88 Change a printf() formatter to use %d for a uint32_t.
llvm-svn: 190548
2013-09-11 21:00:37 +00:00
Bill Wendling 184d5d31bc Move into an anonymous namespace and closer to where it's used.
llvm-svn: 190547
2013-09-11 20:38:09 +00:00
Daniel Jasper 5ca9b7141f clang-format: Fix bug in pointer detection
Before:
  for (int i = 0; i* 2 < z; i *= 2) {}
After:
  for (int i = 0; i * 2 < z; i *= 2) {}

llvm-svn: 190546
2013-09-11 20:37:10 +00:00
Aaron Ballman 682ee42550 Tablegen now generates a StringSwitch for attributes containing enumeration arguments to map strings to the proper enumeration value. This makes error checking more consistent and reduces the amount of hand-written code required.
llvm-svn: 190545
2013-09-11 19:47:58 +00:00
Manman Ren 5b2f4b0540 Debug info: add more comments.
llvm-svn: 190544
2013-09-11 19:40:28 +00:00
Bill Wendling a6ec07ce2d Fix typo
llvm-svn: 190543
2013-09-11 19:35:32 +00:00
Hal Finkel 8f2e700522 Add getUnrollingPreferences to TTI
Allow targets to customize the default behavior of the generic loop unrolling
transformation. This will be used by the PowerPC backend when targeting the A2
core (which is in-order with a deep pipeline), and using more aggressive
defaults is important.

llvm-svn: 190542
2013-09-11 19:25:43 +00:00
Bill Wendling 4c3b514da0 Try to fix the atom buildbots by adding an explicit 'cpu' to the 'llc' command.
llvm-svn: 190541
2013-09-11 19:06:04 +00:00
Manman Ren fa7b0b8767 Debug Info: move class definition of DIRef.
Definition of DIRef used to require the full definition of DIType because
of usage of DIType::isType in DIRef::resolve. We now use DIDescriptor::isType
instead to remove the requirement and move definition of DIRef before DIType.

With this, we can move the definition of DIType::getContext to the header
file.

llvm-svn: 190540
2013-09-11 18:55:55 +00:00
Fariborz Jahanian 34fea36340 ObjectiveC migrator. Modify inferred property name
such that it does not lower case the staring property
name if getter name (after "get" prefix) starts with 
two upper case letters.

llvm-svn: 190539
2013-09-11 18:27:16 +00:00
Jim Ingham d39907935c Turns out the number of times you need to resume the process for /bin/sh depends on the
setting of the environment variable COMMAND_MODE.  Changed the Platform::GetResumeCountForShell
to Platform::GetResumeCountForLaunchInfo, and check both the shell and in the case of
/bin/sh the environment as well.

llvm-svn: 190538
2013-09-11 18:23:22 +00:00
Alexander Kornienko 48c9900713 Test for correct usage of columnWidth in clang fixit hints.
Summary:
This test only works on systems capable of outputting UTF-8 encoded
text on the standard output (tested on linux and OS X, should XFAIL on windows,
if I haven't messed up the XFAIL line).

Reviewers: jordan_rose

Reviewed By: jordan_rose

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1607

llvm-svn: 190537
2013-09-11 18:10:30 +00:00
Benjamin Kramer 079b96e6f7 Revert "Give internal classes hidden visibility."
It works with clang, but GCC has different rules so we can't make all of those
hidden. This reverts commit r190534.

llvm-svn: 190536
2013-09-11 18:05:11 +00:00
Daniel Dunbar 9aeba4963a [lit] Add support for attach arbitrary metrics to test results.
- This is a work-in-progress and all details are subject to change, but I am
   trying to build up support for allowing lit to be used as a driver for
   performance tests (or other tests which might want to record information
   beyond simple PASS/FAIL).

llvm-svn: 190535
2013-09-11 17:45:11 +00:00
Benjamin Kramer 6a44af3629 Give internal classes hidden visibility.
Worth 100k on a linux/x86_64 Release+Asserts clang.

llvm-svn: 190534
2013-09-11 17:42:27 +00:00
Roman Divacky 786d32ecf7 Clarify the status of PowerPC support.
llvm-svn: 190533
2013-09-11 17:12:49 +00:00
Fariborz Jahanian ca39960f31 ObjectiveC migrator. methods which look like a getter and
start with "get" are inferreed as a readonly properties.

llvm-svn: 190532
2013-09-11 17:05:15 +00:00
Serge Pavlov 60ac1269c6 Added regression tests.
llvm-svn: 190531
2013-09-11 17:04:24 +00:00
Jordan Rose 9519ff59ec [analyzer] Handle zeroing constructors for fields of structs with empty bases.
RegionStore tries to protect against accidentally initializing the same
region twice, but it doesn't take subregions into account very well. If
the outer region being initialized is a struct with an empty base class,
the offset of the first field in the struct will be 0. When we initialize
the base class, we may invalidate the contents of the struct by providing
a default value of Unknown (or some new symbol). We then go to initialize
the member with a zeroing constructor, only to find that the region at
that offset in the struct already has a value. The best we can do here is
to invalidate that value and continue; neither the old default value nor
the new 0 is correct for the entire struct after the member constructor call.

The correct solution for this is to track region extents in the store.

<rdar://problem/14914316>

llvm-svn: 190530
2013-09-11 16:46:50 +00:00
Hans Wennborg d9ad0681fa clang-cl: Warn about overriding /MD with /MT etc.
This also bakes the /M options into a separate option group to make
them easier to refer to from the code.

llvm-svn: 190529
2013-09-11 16:38:41 +00:00
Michael Han c90d12d1df Teach RAV to visit parameter variable declarations of implicit functions. Fixes PR16182.
Normally RAV visits parameter variable declarations of a function by traversing the TypeLoc of
the parameter declarations. However, for implicit functions, their parameters don't have any
TypeLoc, because they are implicit.

So for implicit functions, we visit their parameter variable declarations by traversing them through
the function declaration, and visit them accordingly.

Reviewed by Richard Smith and Manuel Klimek.

llvm-svn: 190528
2013-09-11 15:53:29 +00:00
Benjamin Kramer 17c17bce2a llvm-tblgen: Mangle operand replacements into the strings in printAliasInstr.
Cuts down the bloat in the AArch64 asm writer a bit.

llvm-svn: 190527
2013-09-11 15:42:16 +00:00
Robert Lytton 01081113c2 fix xcore-opts.c test
llvm-svn: 190526
2013-09-11 15:14:38 +00:00
Aaron Ballman e4ba0bdf11 Adding some additional test cases for the cleanup attribute.
llvm-svn: 190525
2013-09-11 13:43:47 +00:00
Daniel Jasper 333e0cb055 Revert r190520 as it wasn't the right fix.
llvm-svn: 190524
2013-09-11 12:53:04 +00:00
Benjamin Kramer fcb7166404 Don't expose symbols of lle_ functions.
+ formatting fixes.

llvm-svn: 190523
2013-09-11 12:42:39 +00:00
Daniel Sanders 7fab912257 [mips][msa] Added test cases that were supposed to be part of r190507, r190509, r190512, and r190518.
llvm-svn: 190522
2013-09-11 12:39:25 +00:00
Evgeniy Stepanov a98799fe4b Fix 2 cases of uninitialized reads of an invalid PresumedLoc.
The code in CGExpr was added back in 2012 (r165536) but not exercised in tests
until recently.

Detected on the MemorySanitizer bootstrap bot.

llvm-svn: 190521
2013-09-11 12:33:58 +00:00
Daniel Jasper 2b3f143f23 Add empty virtual destructor...
... as this otherwise triggers -Wnon-virtual-dtor.

llvm-svn: 190520
2013-09-11 12:28:15 +00:00
Alexander Kornienko 9e649af004 Support for CR LF newlines.
Summary:
reformat() tries to determine the newline style used in the input
(either LF or CR LF), and uses it for the output. Maybe not every single case is
supported, but at least the bug described in http://llvm.org/PR17182 should be
resolved.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D1643

llvm-svn: 190519
2013-09-11 12:25:57 +00:00
Daniel Sanders fbcb582942 [mips][msa] Added support for matching mulv, nlzc, sll, sra, srl, and subv from normal IR (i.e. not intrinsics)
llvm-svn: 190518
2013-09-11 11:58:30 +00:00
NAKAMURA Takumi 4814eaa9ba clang-tools-extra/test/clang-modernize/HeaderReplacements/main.cpp: Tweak sed(1) to let paths with a driveletter quoted in *_expected.yaml.
llvm-svn: 190517
2013-09-11 11:55:59 +00:00
Timur Iskhodzhanov 3b6adcb63a Fix the ASan dll_thunk path
llvm-svn: 190516
2013-09-11 11:45:31 +00:00
Benjamin Kramer 2d4d8cb329 Simplify code with the in place path::native. No functionality change.
llvm-svn: 190515
2013-09-11 11:23:15 +00:00
Benjamin Kramer d77143f89a llvm-tblgen: Stabilize subreg index tables.
Otherwise SequenceToOffsetTable will sort by pointer and becomes non-deterministic.

llvm-svn: 190514
2013-09-11 11:22:26 +00:00