Johnny Chen [Wed, 23 May 2012 21:09:52 +0000 (21:09 +0000)]
Add the capability to display the number of supported hardware watchpoints to the "watchpoint list" command.
Add default Process::GetWatchpointSupportInfo() impl which returns an error of "not supported".
Add "qWatchpointSupportInfo" packet to the gdb communication layer to support this, and modify TestWatchpointCommands.py to test it.
llvm-svn: 157345
Nicolas Geoffray [Wed, 23 May 2012 20:34:19 +0000 (20:34 +0000)]
llvm-ld does not exist anymore, use llvm-link instead.
llvm-svn: 157342
Kaelyn Uhrain [Wed, 23 May 2012 20:21:36 +0000 (20:21 +0000)]
Fix typo in flag to opt, and also a CHECK-NEXT that doesn't follow a
CHECK. The latter error was hidden by the former, and the test harness
used by e.g. "make check" silently ignored that opt was printing an
error message about an unknown flag instead of running on the test file.
llvm-svn: 157341
Jakob Stoklund Olesen [Wed, 23 May 2012 20:21:06 +0000 (20:21 +0000)]
Correctly deal with identity copies in RegisterCoalescer.
Now that the coalescer keeps live intervals and machine code in sync at
all times, it needs to deal with identity copies differently.
When merging two virtual registers, all identity copies are removed
right away. This means that other identity copies must come from
somewhere else, and they are going to have a value number.
Deal with such copies by merging the value numbers before erasing the
copy instruction. Otherwise, we leave dangling value numbers in the live
interval.
This fixes PR12927.
llvm-svn: 157340
Ted Kremenek [Wed, 23 May 2012 19:57:38 +0000 (19:57 +0000)]
Update checker build.
llvm-svn: 157339
Tim Northover [Wed, 23 May 2012 18:42:02 +0000 (18:42 +0000)]
Fix how CMake appends -m32 to linker command-lines
llvm-svn: 157337
Chad Rosier [Wed, 23 May 2012 18:38:57 +0000 (18:38 +0000)]
[arm-fast-isel] Add support for non-global callee.
Patch by Jush Lu <jush.msn@gmail.com>.
llvm-svn: 157336
Manuel Klimek [Wed, 23 May 2012 16:29:20 +0000 (16:29 +0000)]
Adds the Refactoring library, which is a layer on top of the Tooling library
that allows easy refactoring across translation units.
llvm-svn: 157331
Filipe Cabecinhas [Wed, 23 May 2012 16:27:09 +0000 (16:27 +0000)]
extra ';' outside of a function [-pedantic,-Wextra-semi]
llvm-svn: 157330
Nuno Lopes [Wed, 23 May 2012 16:24:52 +0000 (16:24 +0000)]
BoundsChecking: add a couple of simple tests and fix a bug in branch emition
llvm-svn: 157329
Filipe Cabecinhas [Wed, 23 May 2012 16:24:11 +0000 (16:24 +0000)]
Small fixes: actually return a boolean and remove semi-colons.
llvm-svn: 157328
Jim Ingham [Wed, 23 May 2012 15:46:31 +0000 (15:46 +0000)]
Process::Destroy should Halt before it tries to destroy so we don't have race conditions where we are in the middle of trying to service an event when we go to Destroy.
The AttachCompletionHandler should note that it has restarted the target if it indeed does so.
llvm-svn: 157327
Evgeniy Stepanov [Wed, 23 May 2012 15:21:50 +0000 (15:21 +0000)]
Move AsanShadowRangeIsAvailable() from mac to posix.
llvm-svn: 157326
Nuno Lopes [Wed, 23 May 2012 15:19:39 +0000 (15:19 +0000)]
revert r156383: removal of TYPE_CODE_FUNCTION_OLD
Apparently LLVM only stopped emitting this after LLVM 3.0
llvm-svn: 157325
Patrik Hägglund [Wed, 23 May 2012 13:42:57 +0000 (13:42 +0000)]
Fix the inliner so that the optsize function attribute don't alter the
inline threshold if the global inline threshold is lower (as for -Oz).
Reviewed by Chandler Carruth and Bill Wendling.
llvm-svn: 157323
Patrik Hägglund [Wed, 23 May 2012 12:34:56 +0000 (12:34 +0000)]
Fixed typo in r156905.
llvm-svn: 157320
Patrik Hägglund [Wed, 23 May 2012 12:12:58 +0000 (12:12 +0000)]
Small fix for the debug output from PBQP (PR12822).
llvm-svn: 157319
Evgeniy Stepanov [Wed, 23 May 2012 11:52:37 +0000 (11:52 +0000)]
Use zero-based shadow by default on Android.
llvm-svn: 157318
Evgeniy Stepanov [Wed, 23 May 2012 11:52:12 +0000 (11:52 +0000)]
Use zero-based shadow by default on Android.
llvm-svn: 157317
Stepan Dyatkovskiy [Wed, 23 May 2012 08:18:26 +0000 (08:18 +0000)]
PR1255(case ranges) related changes in Local Transformations.
llvm-svn: 157315
Dmitry Vyukov [Wed, 23 May 2012 06:14:21 +0000 (06:14 +0000)]
asan: fix typo in comment
llvm-svn: 157314
Craig Topper [Wed, 23 May 2012 05:44:51 +0000 (05:44 +0000)]
Tidy up spacing.
llvm-svn: 157313
Chris Lattner [Wed, 23 May 2012 05:19:18 +0000 (05:19 +0000)]
small refinement to r157218 to save a tiny amount of table size in the common
case.
llvm-svn: 157312
Richard Smith [Wed, 23 May 2012 04:22:22 +0000 (04:22 +0000)]
Correct the starting location for instantiations of field declarations which
start with a cv-qualifier. DeclaratorDecl::getTypeSpecStartLoc() does not
produce the location of the first type-specifier (the cv-qualifier) in this
case, because we don't track source locations for cv-qualifiers.
No test here: I've not found a way to test this with a lit-style test, and
introducing a gtest test for this seems unwarranted. Suggestions welcome!
Patch by Daniel Jasper!
llvm-svn: 157311
Richard Smith [Wed, 23 May 2012 04:13:20 +0000 (04:13 +0000)]
If the first argument of __builtin_object_size can be folded to a constant
pointer, but such folding encounters side-effects, ignore the side-effects
rather than performing them at runtime: CodeGen generates wrong code for
__builtin_object_size in that case.
llvm-svn: 157310
Craig Topper [Wed, 23 May 2012 03:59:53 +0000 (03:59 +0000)]
Fix indentation of wrapped line for readability. No functional change.
llvm-svn: 157309
Richard Smith [Wed, 23 May 2012 01:38:11 +0000 (01:38 +0000)]
Clang 3.1 is out: turn the relevant C++11 status boxes green.
llvm-svn: 157308
Eric Christopher [Wed, 23 May 2012 00:18:46 +0000 (00:18 +0000)]
Move file to be more representative.
llvm-svn: 157306
Eric Christopher [Wed, 23 May 2012 00:18:43 +0000 (00:18 +0000)]
Check that we have an unknown upper bound range for our flexible array members.
llvm-svn: 157305
Eric Christopher [Wed, 23 May 2012 00:09:47 +0000 (00:09 +0000)]
Emit C++11 enum class information if it exists.
Part of rdar://
11496790
llvm-svn: 157304
Eric Christopher [Wed, 23 May 2012 00:09:20 +0000 (00:09 +0000)]
Add support for C++11 enum classes in llvm.
Part of rdar://
11496790
llvm-svn: 157303
Johnny Chen [Tue, 22 May 2012 23:32:12 +0000 (23:32 +0000)]
Add more convenience registers to x86_64 and a simple test scenario:
self.expect("expr -- $ax == (($ah << 8) | $al)",
substrs = ['true'])
llvm-svn: 157302
Nuno Lopes [Tue, 22 May 2012 22:02:19 +0000 (22:02 +0000)]
address some of John Criswell's comments
teach computeAllocSize about realloc, reallocf, and valloc
llvm-svn: 157298
NAKAMURA Takumi [Tue, 22 May 2012 21:47:02 +0000 (21:47 +0000)]
ARMDisassembler.cpp: Fix utf8 char in comments.
llvm-svn: 157292
Sean Callanan [Tue, 22 May 2012 21:42:43 +0000 (21:42 +0000)]
Integrated a fix for an ARM disassembler crash
(0xd 0xd 0xa0 0xf4, or "vld2hs.8 {d0[], d1[]}, [r0]!")
llvm-svn: 157289
John McCall [Tue, 22 May 2012 21:28:12 +0000 (21:28 +0000)]
Recognize the MS inheritance attributes and turn them into attributes
on the RecordDecl. Persist the MS portability type attributes and
ignore them in Sema rather than the parser.
Patch by João Matos!
llvm-svn: 157288
John McCall [Tue, 22 May 2012 21:28:07 +0000 (21:28 +0000)]
Fix line endings.
llvm-svn: 157287
Johnny Chen [Tue, 22 May 2012 19:41:53 +0000 (19:41 +0000)]
Fix a typo.
llvm-svn: 157278
Johnny Chen [Tue, 22 May 2012 19:37:01 +0000 (19:37 +0000)]
Add a test case to check that eax's content equals the lower half of rax.
Plus fix the test class name as well as wrong directory path.
llvm-svn: 157277
Johnny Chen [Tue, 22 May 2012 18:59:38 +0000 (18:59 +0000)]
The RegisterInfo descriptors for the convenience registers can specify an offset to be added to the offset as derived from
the value_regs field, which is useful for future expansion purposes. As of now, we have:
calculated_offset_of_eax = offset_of_rax + (offset_of_eax_from_the_descriptor which is 0)
llvm-svn: 157275
Eric Christopher [Tue, 22 May 2012 18:45:24 +0000 (18:45 +0000)]
Untabify and 80-col.
llvm-svn: 157274
Eric Christopher [Tue, 22 May 2012 18:45:18 +0000 (18:45 +0000)]
Formatting consistency.
llvm-svn: 157273
Johnny Chen [Tue, 22 May 2012 18:34:18 +0000 (18:34 +0000)]
Fix wrong offset of eax and friends pointed out by Greg.
rdar://problem/
11487457
llvm-svn: 157272
Jakob Stoklund Olesen [Tue, 22 May 2012 18:20:28 +0000 (18:20 +0000)]
Also compute TopoSigs in synthetic register classes.
CodeGenRegisterClass has two constructors. Both need to compute the
TopoSigs BitVector.
llvm-svn: 157271
Dmitry Vyukov [Tue, 22 May 2012 18:07:45 +0000 (18:07 +0000)]
tsan: add shadow memory flush + fix few bugs
llvm-svn: 157270
Eric Christopher [Tue, 22 May 2012 18:04:48 +0000 (18:04 +0000)]
Test that we emit a subrange type for vlas.
Part of rdar://
11457152
llvm-svn: 157269
Dmitry Vyukov [Tue, 22 May 2012 18:01:33 +0000 (18:01 +0000)]
tsan: fix sizeof sigset_t
llvm-svn: 157268
Manuel Klimek [Tue, 22 May 2012 17:45:33 +0000 (17:45 +0000)]
Fixes the autoconf build.
llvm-svn: 157266
Nuno Lopes [Tue, 22 May 2012 17:40:46 +0000 (17:40 +0000)]
hopefully fix the CMake build. sorry for breakage
llvm-svn: 157264
Andrew Trick [Tue, 22 May 2012 17:39:59 +0000 (17:39 +0000)]
LSR fix: add a missing phi check during IV hoisting.
Fixes PR12898: SCEVExpander crash.
llvm-svn: 157263
Nuno Lopes [Tue, 22 May 2012 17:19:45 +0000 (17:19 +0000)]
wire -fbounds-checking to the new LLVM bounds checking pass
llvm-svn: 157262
Nuno Lopes [Tue, 22 May 2012 17:19:09 +0000 (17:19 +0000)]
add a new pass to instrument loads and stores for run-time bounds checking
move EmitGEPOffset from InstCombine to Transforms/Utils/Local.h
(a draft of this) patch reviewed by Andrew, thanks.
llvm-svn: 157261
Manuel Klimek [Tue, 22 May 2012 17:01:35 +0000 (17:01 +0000)]
Adds a method overwriteChangedFiles to the Rewriter. This is implemented by
first writing the changed files to a temporary location and then overwriting
the original files atomically.
Also adds a RewriterTestContext to aid unit testing rewrting logic in general.
llvm-svn: 157260
Dmitry Vyukov [Tue, 22 May 2012 16:46:05 +0000 (16:46 +0000)]
tsan: fix makefile
allow to build custom configurations
llvm-svn: 157259
Nuno Lopes [Tue, 22 May 2012 15:26:48 +0000 (15:26 +0000)]
revert the usage of the objectsize intrinsic with 3 parameters (to match LLVM r157255)
llvm-svn: 157256
Nuno Lopes [Tue, 22 May 2012 15:25:31 +0000 (15:25 +0000)]
revert my previous patches that introduced an additional parameter to the objectsize intrinsic.
After a lot of discussion, we realized it's not the best option for run-time bounds checking
llvm-svn: 157255
Jakob Stoklund Olesen [Tue, 22 May 2012 14:52:12 +0000 (14:52 +0000)]
Only erase virtregs with no uses left.
Also make sure registers aren't erased twice if the dead def mentions
the register twice.
This fixes PR12911.
llvm-svn: 157254
Filipe Cabecinhas [Tue, 22 May 2012 14:45:44 +0000 (14:45 +0000)]
Remove some compilation warnings.
llvm-svn: 157253
Dmitry Vyukov [Tue, 22 May 2012 14:34:43 +0000 (14:34 +0000)]
tsan: reduce per-thread memory usage
llvm-svn: 157252
Duncan Sands [Tue, 22 May 2012 14:17:53 +0000 (14:17 +0000)]
Fix PR12858, a crash due to GVN's PRE not fully removing an instruction from the
leader table. That's because it wasn't expecting instructions to turn up as
leader for a value number that is not its own, but equality propagation could
create this situation. One solution is to have the leader table use a WeakVH
but this slows down GVN by about 5%. Instead just have equality propagation not
add instructions to the leader table, only constants and arguments. In theory
this might cause GVN to run more (each time it changes something it runs again)
but it doesn't seem to occur enough to cause a slow down.
llvm-svn: 157251
Kostya Serebryany [Tue, 22 May 2012 13:31:35 +0000 (13:31 +0000)]
[asan] nuke some old unused code
llvm-svn: 157250
Kostya Serebryany [Tue, 22 May 2012 11:54:44 +0000 (11:54 +0000)]
[asan] increase the stack size limit to 256M (yes, that happens); also CHECK that the stack size is less than that on a non-main thread
llvm-svn: 157249
Dmitry Vyukov [Tue, 22 May 2012 11:33:03 +0000 (11:33 +0000)]
tsan: simple memory profiler
llvm-svn: 157248
Simon Atanasyan [Tue, 22 May 2012 11:03:10 +0000 (11:03 +0000)]
Replace inline asm constraint "=a" by the more general constraint "=r".
That extend a range of platforms support this test case.
llvm-svn: 157247
Tobias Grosser [Tue, 22 May 2012 10:47:31 +0000 (10:47 +0000)]
ScheduleOptimizer: Simplify some code
We now use isl_map_equate, which makes the code a lot simpler.
llvm-svn: 157246
Tobias Grosser [Tue, 22 May 2012 10:47:27 +0000 (10:47 +0000)]
ScopInfo: Add parameter bounds to context
Derive the maximal and minimal values of a parameter from the type it has. Add
this information to the scop context. This information is needed, to derive
optimal types during code generation.
llvm-svn: 157245
Tobias Grosser [Tue, 22 May 2012 10:47:21 +0000 (10:47 +0000)]
Replace some asserts with llvm_unreachable
llvm-svn: 157244
Tobias Grosser [Tue, 22 May 2012 10:47:17 +0000 (10:47 +0000)]
ScopInfo: SCEVUnknowns are always parameters
There is no need for special code to handle SCEVUnknowns. SCEVUnkowns are always
parameters and will be handled by the generic parameter handling code in
visit().
llvm-svn: 157243
Tobias Grosser [Tue, 22 May 2012 08:46:07 +0000 (08:46 +0000)]
Move isParallelFor into CodeGeneration
This removes another include of CLooG header files.
llvm-svn: 157242
Filipe Cabecinhas [Tue, 22 May 2012 08:38:06 +0000 (08:38 +0000)]
Return a constant of the appropriate type.
llvm-svn: 157241
Filipe Cabecinhas [Tue, 22 May 2012 08:36:18 +0000 (08:36 +0000)]
Remove trailing semicolons.
llvm-svn: 157240
Kostya Serebryany [Tue, 22 May 2012 07:59:37 +0000 (07:59 +0000)]
[asan] use -fno-builtin to build asan-rt on Mac
llvm-svn: 157239
Kostya Serebryany [Tue, 22 May 2012 07:56:09 +0000 (07:56 +0000)]
[asan] use -fPIE -fno-builtin for building asan-rt
llvm-svn: 157238
Kostya Serebryany [Tue, 22 May 2012 07:44:30 +0000 (07:44 +0000)]
[asan] fix one test on 32-bit Mac 10.7; enable another test on Mac
llvm-svn: 157237
Craig Topper [Tue, 22 May 2012 06:09:38 +0000 (06:09 +0000)]
Fix constant used for pshufb mask when lowering v16i8 shuffles. Bug introduced in r157043. Fixes PR12908.
llvm-svn: 157236
Akira Hatanaka [Tue, 22 May 2012 03:10:09 +0000 (03:10 +0000)]
This patch adds a predicate to existing mips32 and mips64 so that those
instruction encodings can be excluded during mips16 processing.
This revision fixes the issue raised by Jim Grosbach.
bool hasStandardEncoding() const { return !inMips16Mode(); }
When micromips is added it will be
bool StandardEncoding() const { return !inMips16Mode()&& !inMicroMipsMode(); }
No additional testing is needed other than to assure that there is no regression
from this patch.
Patch by Reed Kotler.
llvm-svn: 157234
Richard Smith [Tue, 22 May 2012 01:41:27 +0000 (01:41 +0000)]
Truthify a comment.
llvm-svn: 157232
Nuno Lopes [Tue, 22 May 2012 01:09:48 +0000 (01:09 +0000)]
fix the quotient returned by sdivrem() for the case when LHS is negative and RHS is positive
based on a patch by Preston Briggs, with some modifications
llvm-svn: 157231
Johnny Chen [Tue, 22 May 2012 00:57:05 +0000 (00:57 +0000)]
rdar://problem/
11487457
Add convenience registers eax, ebx, ecx, edx, edi, esi, ebp, esp to the 'register read' command for x86_64.
Add a GDBRemoteRegisterContext::Addx86_64ConvenienceRegisters() method called from ProcessGDBRemote::BuildDynamicRegisterInfo().
Servicing of eax, for example, is accomplished by delegating to rax with an adjusted offset into the register context.
llvm-svn: 157230
Ted Kremenek [Tue, 22 May 2012 00:54:40 +0000 (00:54 +0000)]
Fix typo.
llvm-svn: 157229
Ted Kremenek [Tue, 22 May 2012 00:52:49 +0000 (00:52 +0000)]
Use Perl prototypes instead of shift.
llvm-svn: 157228
Argyrios Kyrtzidis [Tue, 22 May 2012 00:47:53 +0000 (00:47 +0000)]
[objcmt] Don't add redundant parentheses when migrating subscripting of an ivar.
rdar://
11501256
llvm-svn: 157227
Johnny Chen [Tue, 22 May 2012 00:22:18 +0000 (00:22 +0000)]
Fix a bug where if I just run:
./dotest.py
No progress bar appears.
llvm-svn: 157226
Jim Ingham [Tue, 22 May 2012 00:12:20 +0000 (00:12 +0000)]
Also push file & line breakpoints past the prologue. Also added a "-K" argument to the relevant
"break set" commands to set this per breakpoint. Also, some CreateBreakpoint API's in the lldb_private
namespace had "internal" first and "skip_prologue" second. "internal should always be last. Fixed that.
rdar://problem/
11484729
llvm-svn: 157225
Jim Grosbach [Mon, 21 May 2012 23:50:00 +0000 (23:50 +0000)]
FileCheck'ize test, and add a bit to test for r157221.
llvm-svn: 157222
Jim Grosbach [Mon, 21 May 2012 23:34:42 +0000 (23:34 +0000)]
ARM: .end_data_region mismatch in Thumb2.
32-bit offset jump tables just use real branch instructions and so aren't
marked as data regions. We were still emitting the .end_data_region
marker though, which assert()ed.
rdar://
11499158
llvm-svn: 157221
Sean Callanan [Mon, 21 May 2012 23:31:51 +0000 (23:31 +0000)]
Added support for rvalue references in debug information
(actually, mainly just hooked up support that was already
there). Added a test case, although it's expected to fail
right now unless you're using top-of-tree LLVM.
llvm-svn: 157220
Ted Kremenek [Mon, 21 May 2012 23:29:01 +0000 (23:29 +0000)]
Add basic delta-debugging script used for reducing analyzer crasher test cases.
llvm-svn: 157219
Pete Cooper [Mon, 21 May 2012 23:21:28 +0000 (23:21 +0000)]
Added address space qualifier to intrinsic PointerType arguments.
llvm-svn: 157218
Jim Ingham [Mon, 21 May 2012 23:06:47 +0000 (23:06 +0000)]
CompileUnit::ResolveSymbolContext was only filling in the LineEntry regardless of what was passed in for "resolve_scope". I fixed that.
llvm-svn: 157217
Fariborz Jahanian [Mon, 21 May 2012 22:43:44 +0000 (22:43 +0000)]
objective-c: provide a useful 'fixit' suggestion when
errornously using commas to separate ObjC message arguments.
// rdar://
11376372
llvm-svn: 157216
Owen Anderson [Mon, 21 May 2012 22:39:20 +0000 (22:39 +0000)]
Fix use of an unitialized value in the LegalizeOps expansion for ISD::SUB. No in-tree targets exercise this path.
Patch by Micah Villmow.
llvm-svn: 157215
Sean Callanan [Mon, 21 May 2012 22:25:52 +0000 (22:25 +0000)]
Updated the object-pointer lookup logic to fix
Objective-C "self," which is not a regular pointer.
llvm-svn: 157214
Sean Callanan [Mon, 21 May 2012 22:25:12 +0000 (22:25 +0000)]
Fixed the new-syntax testcase to reflect how we
print string literals.
llvm-svn: 157213
Eric Christopher [Mon, 21 May 2012 22:13:23 +0000 (22:13 +0000)]
Revert r115805. An array type is required to have a range type,
however, the range can be unknown for the upper bound.
Testcase to follow.
Part of rdar://
11457152
llvm-svn: 157212
Anna Zaks [Mon, 21 May 2012 22:07:00 +0000 (22:07 +0000)]
[analyzer] Bind UnknownVal to InitListExpr for unsupported types
(ex: float).
llvm-svn: 157211
Enrico Granata [Mon, 21 May 2012 21:52:38 +0000 (21:52 +0000)]
Fixes for performance to data formatters - Python < 3.0 is much slower when using True/False as compared to 1/0 for logical values. Wexploit this to our advantage. Other minor tweaks
llvm-svn: 157209
Sean Callanan [Mon, 21 May 2012 21:29:52 +0000 (21:29 +0000)]
Fixed a nasty bug where JIT expressions didn't work
when stopped in a const method. Also updated our
testsuite to ensure that JIT is forced in this case.
llvm-svn: 157208
Rafael Espindola [Mon, 21 May 2012 20:31:27 +0000 (20:31 +0000)]
Function template version of the previous patch.
llvm-svn: 157207
Rafael Espindola [Mon, 21 May 2012 20:15:56 +0000 (20:15 +0000)]
Produce a hidden symbol for zed in
struct HIDDEN foo {
};
template <class P>
struct bar {
};
template <>
struct HIDDEN bar<foo> {
DEFAULT static void zed();
};
void bar<foo>::zed() {
}
Before we would produce a hidden symbol in
struct HIDDEN foo {
};
template <class P>
struct bar {
};
template <>
struct bar<foo> {
DEFAULT static void zed();
};
void bar<foo>::zed() {
}
But adding HIDDEN to the specialization would cause us to produce a default
symbol.
llvm-svn: 157206