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
Argyrios Kyrtzidis [Mon, 21 May 2012 20:11:54 +0000 (20:11 +0000)]
[driver] When creating the compiler invocation out of command-line
arguments, force use of clang frontend for the driver.
Fixes rdar://
11356765.
llvm-svn: 157205
Benjamin Kramer [Mon, 21 May 2012 19:40:38 +0000 (19:40 +0000)]
Analyzer: Fix PR12905, a crash when encountering a call to a function named "C".
While there clean up indentation.
llvm-svn: 157204
Sean Callanan [Mon, 21 May 2012 18:25:19 +0000 (18:25 +0000)]
Added an "rb" alias that sets breakpoints by
regular expression.
llvm-svn: 157202
Jim Grosbach [Mon, 21 May 2012 17:57:17 +0000 (17:57 +0000)]
Thumb2: RSB source register should be rGRP not GPRnopc.
t2RSB defined the operand correctly, but tRSBS didn't.
llvm-svn: 157200
Sean Callanan [Mon, 21 May 2012 17:54:55 +0000 (17:54 +0000)]
Integrated a check into Clang that make sure that
it doesn't try to call LookupDestructor on an
incomplete class.
llvm-svn: 157199
Argyrios Kyrtzidis [Mon, 21 May 2012 17:48:31 +0000 (17:48 +0000)]
[arcmt] Revert r156999 "Remove the "it is not safe to remove an unused 'autorelease' message" ARC
migration error".
Per feedback from John this is useful to have in general.
llvm-svn: 157198
Dan Gohman [Mon, 21 May 2012 17:41:28 +0000 (17:41 +0000)]
Mark an unreachable region of code with llvm_unreachable.
llvm-svn: 157197
Dmitry Vyukov [Mon, 21 May 2012 17:39:40 +0000 (17:39 +0000)]
tsan: implement malloc/free hooks
llvm-svn: 157196
Chad Rosier [Mon, 21 May 2012 17:13:41 +0000 (17:13 +0000)]
Typo.
llvm-svn: 157195
Fariborz Jahanian [Mon, 21 May 2012 17:10:28 +0000 (17:10 +0000)]
Remove unused argument in my last patch.
llvm-svn: 157194
Fariborz Jahanian [Mon, 21 May 2012 17:02:43 +0000 (17:02 +0000)]
objective-c: When default synthesizing readonly IBOutlet properties
provide a 'fixit' to change 'readonly' to 'readwrite'. // rdar://
11448209
llvm-svn: 157193
Sean Callanan [Mon, 21 May 2012 17:01:59 +0000 (17:01 +0000)]
Added a GDB equivalent for saving binary memory
data.
llvm-svn: 157192