Bill Wendling [Thu, 6 Dec 2012 07:43:17 +0000 (07:43 +0000)]
Remove unused variable.
llvm-svn: 169485
Bill Wendling [Thu, 6 Dec 2012 07:38:10 +0000 (07:38 +0000)]
Handle non-default array bounds.
Some languages, e.g. Ada and Pascal, allow you to specify that the array bounds
are different from the default (1 in these cases). If we have a lower bound
that's non-default, then we emit the lower bound. We also calculate the correct
upper bound in those cases.
llvm-svn: 169484
Craig Topper [Thu, 6 Dec 2012 07:31:16 +0000 (07:31 +0000)]
Remove intrinsic specific instructions for (V)MOVQUmr with patterns pointing to the normal instructions.
llvm-svn: 169482
Ted Kremenek [Thu, 6 Dec 2012 07:17:26 +0000 (07:17 +0000)]
Use the BlockDecl captures list to infer the direct captures for a BlockDataRegion. Fixes <rdar://problem/
12415065>.
We still need to do a recursive walk to determine all static/global variables
referenced by a block, which is needed for region invalidation.
llvm-svn: 169481
Ted Kremenek [Thu, 6 Dec 2012 07:17:20 +0000 (07:17 +0000)]
Only provide explicit getCapturedRegion() and getOriginalRegion() from referenced_vars_iterator.
This is a nice conceptual cleanup.
llvm-svn: 169480
Ted Kremenek [Thu, 6 Dec 2012 07:17:13 +0000 (07:17 +0000)]
Pull logic to map from VarDecl* to captured region using a helper function. WIP.
llvm-svn: 169479
Ted Kremenek [Thu, 6 Dec 2012 07:17:04 +0000 (07:17 +0000)]
Use 'getOriginalRegion()' rather than going through the logic to recreate it.
llvm-svn: 169478
Craig Topper [Thu, 6 Dec 2012 06:49:16 +0000 (06:49 +0000)]
Mark MOVDQ(A/U)rm as ReMaterializable. Mark all MOVDQ(A/U) instructions as neverHasSideEffects.
llvm-svn: 169477
Richard Smith [Thu, 6 Dec 2012 06:44:44 +0000 (06:44 +0000)]
Fix http://stackoverflow.com/questions/
13521163
Don't require that, during template deduction, a template specialization type
as a function parameter has at least as many template arguments as one used in
a function argument (not even if the argument has been resolved to an exact
type); the additional parameters might be provided by default template
arguments in the template. We don't need this check, since we now implement
[temp.deduct.call]p4 with an additional check after deduction.
llvm-svn: 169475
Kostya Serebryany [Thu, 6 Dec 2012 06:10:31 +0000 (06:10 +0000)]
[tsan] add MmapAlignedOrDie
llvm-svn: 169474
Richard Smith [Thu, 6 Dec 2012 03:04:50 +0000 (03:04 +0000)]
Don't use dyn_cast on a Type* which might not be canonical. Fixes an extremely obscure record layout bug.
llvm-svn: 169467
Jason Molenda [Thu, 6 Dec 2012 02:49:20 +0000 (02:49 +0000)]
Fix ABIMacOSX_i386::RegisterIsVolatile to return the negated value of
RegisterIsCalleeSaved. Add ebp back to the list of registers that
are callee saved.
<rdar://problem/
12817918>
llvm-svn: 169466
Greg Clayton [Thu, 6 Dec 2012 02:33:54 +0000 (02:33 +0000)]
<rdar://problem/
12560257>
Fixed zero sized arrays to work correctly. This will only happen once we get a clang that emits correct debug info for zero sized arrays. For now I have marked the TestStructTypes.py as an expected failure.
llvm-svn: 169465
Evan Cheng [Thu, 6 Dec 2012 02:29:29 +0000 (02:29 +0000)]
Properly fix the tes.
llvm-svn: 169464
NAKAMURA Takumi [Thu, 6 Dec 2012 02:22:58 +0000 (02:22 +0000)]
llvm/test/CodeGen/ARM/extload-knownzero.ll: Try to unbreak, to add -O0. I guess Chad expects fastisel here.
llvm-svn: 169463
NAKAMURA Takumi [Thu, 6 Dec 2012 02:00:13 +0000 (02:00 +0000)]
Revert r169456, "change MCContext to work on the doInitialization/doFinalization model"
It broke many builders.
llvm-svn: 169462
Sean Callanan [Thu, 6 Dec 2012 01:35:38 +0000 (01:35 +0000)]
The expression parser will now check the validity
of the "self"/"this" pointer for the current stack
frame before wrapping expressions in C++ or
Objective-C methods. This works around bad debug
info where the compiler emits a "this" or "self"
but doesn't give any way to find its location.
<rdar://problem/
12809985>
llvm-svn: 169461
Chad Rosier [Thu, 6 Dec 2012 01:34:31 +0000 (01:34 +0000)]
[arm fast-isel] Make the fast-isel implementation of memcpy respect alignment.
rdar://
12821569
llvm-svn: 169460
Evan Cheng [Thu, 6 Dec 2012 01:28:01 +0000 (01:28 +0000)]
Let targets provide hooks that compute known zero and ones for any_extend
and extload's. If they are implemented as zero-extend, or implicitly
zero-extend, then this can enable more demanded bits optimizations. e.g.
define void @foo(i16* %ptr, i32 %a) nounwind {
entry:
%tmp1 = icmp ult i32 %a, 100
br i1 %tmp1, label %bb1, label %bb2
bb1:
%tmp2 = load i16* %ptr, align 2
br label %bb2
bb2:
%tmp3 = phi i16 [ 0, %entry ], [ %tmp2, %bb1 ]
%cmp = icmp ult i16 %tmp3, 24
br i1 %cmp, label %bb3, label %exit
bb3:
call void @bar() nounwind
br label %exit
exit:
ret void
}
This compiles to the followings before:
push {lr}
mov r2, #0
cmp r1, #99
bhi LBB0_2
@ BB#1: @ %bb1
ldrh r2, [r0]
LBB0_2: @ %bb2
uxth r0, r2
cmp r0, #23
bhi LBB0_4
@ BB#3: @ %bb3
bl _bar
LBB0_4: @ %exit
pop {lr}
bx lr
The uxth is not needed since ldrh implicitly zero-extend the high bits. With
this change it's eliminated.
rdar://
12771555
llvm-svn: 169459
NAKAMURA Takumi [Thu, 6 Dec 2012 01:09:31 +0000 (01:09 +0000)]
Disable clang/test/Preprocessor/macro-multiline.c for now, while investigating lit.ShUtil.parser.
llvm-svn: 169458
Fariborz Jahanian [Thu, 6 Dec 2012 00:57:28 +0000 (00:57 +0000)]
more test of template declarations in a
<declaration> XML tag. // rdar://
12378714
llvm-svn: 169457
Pedro Artigas [Thu, 6 Dec 2012 00:50:55 +0000 (00:50 +0000)]
change MCContext to work on the doInitialization/doFinalization model
reviewed by Evan Cheng <evan.cheng@apple.com>
llvm-svn: 169456
Bill Wendling [Thu, 6 Dec 2012 00:30:20 +0000 (00:30 +0000)]
Set the 'MadeChange' variable if we are deleting blocks.
llvm-svn: 169455
Daniel Malea [Thu, 6 Dec 2012 00:10:37 +0000 (00:10 +0000)]
Move isprint8() into lldb_private as per post-commit review from Stefanus
llvm-svn: 169454
Fariborz Jahanian [Thu, 6 Dec 2012 00:09:40 +0000 (00:09 +0000)]
More C++ testing of declarations embedded in
<declaration> tag of Comment XML and fixing
DeclPrint of templates along the way - wip.
//rdar://
12378714
llvm-svn: 169453
Michael Ilseman [Thu, 6 Dec 2012 00:07:09 +0000 (00:07 +0000)]
Have CannotBeNegativeZero() be aware of the nsz fast-math flag
llvm-svn: 169452
Sean Callanan [Wed, 5 Dec 2012 23:37:14 +0000 (23:37 +0000)]
Rewrote the bitfield logic. Major changes include:
- Removed the BitfieldMap class because it is unnecessary.
We now just track the most recently added field.
- Moved the code that calculates bitfield widths so it
can also be used to determine whether it's necessary
to insert anonymous fields.
- Simplified the anonymous field calculation code into
three cases (two of which are resolved identically).
- Beefed up the bitfield testcase.
llvm-svn: 169449
Chad Rosier [Wed, 5 Dec 2012 23:35:10 +0000 (23:35 +0000)]
[driver, ms-inline asm] -fms-compatibility enables -fms-extensions, so this should enable
the AsmBlocks language extension as well.
rdar://
12808010
llvm-svn: 169448
Andrew Trick [Wed, 5 Dec 2012 23:32:44 +0000 (23:32 +0000)]
Taking ownership of indvars/lsr.
Evan nominated me for this a while back, and no one has offered to
save me from it.
llvm-svn: 169447
Richard Smith [Wed, 5 Dec 2012 23:15:33 +0000 (23:15 +0000)]
PR10867: Analogue of r169441 for when using external 'sh'. And actually run the test!
llvm-svn: 169446
Chad Rosier [Wed, 5 Dec 2012 23:08:09 +0000 (23:08 +0000)]
[driver, ms-inline asm] Have -fms-extensions enable the AsmBlocks language
option. MS-style inline asm can now be enabled by either -fasm-blocks or
-fms-extensions.
rdar://
12808010
llvm-svn: 169445
Jason Molenda [Wed, 5 Dec 2012 23:07:34 +0000 (23:07 +0000)]
Adding missing log->Printf instead of printf in Target::SetArchitecture
for target logging.
llvm-svn: 169444
Andrew Trick [Wed, 5 Dec 2012 23:05:22 +0000 (23:05 +0000)]
RegPressureTracker::dump(): Remove unnecessary argument.
llvm-svn: 169443
Richard Smith [Wed, 5 Dec 2012 22:59:28 +0000 (22:59 +0000)]
Looks like lit on Windows can't cope with parens here, and in any case, we shouldn't need them after r169441.
llvm-svn: 169442
Richard Smith [Wed, 5 Dec 2012 22:54:26 +0000 (22:54 +0000)]
PR10867. lit would interpret
RUN: a
RUN: b || true
as "a && (b || true)" in Tcl mode, and as "(a && b) || true" in sh mode.
Everyone seems to (quite reasonably) write tests assuming the Tcl behavior,
so use that in sh mode too.
llvm-svn: 169441
Fariborz Jahanian [Wed, 5 Dec 2012 22:53:06 +0000 (22:53 +0000)]
In DeclPrint add printing of '= default'
in constructors.
llvm-svn: 169440
Akira Hatanaka [Wed, 5 Dec 2012 22:43:07 +0000 (22:43 +0000)]
Do not run tests MappedMemoryTest.BasicWrite and MultipleWrite unless both
MF_READ and MF_WRITE are set.
llvm-svn: 169439
Michael J. Spencer [Wed, 5 Dec 2012 22:38:01 +0000 (22:38 +0000)]
Quick build fix for c++03 clang. This needs a proper solution. Note that these offsets are guaranteed to be correct by Endian.h.
llvm-svn: 169438
Richard Smith [Wed, 5 Dec 2012 22:33:14 +0000 (22:33 +0000)]
More workarounds for PR10867.
llvm-svn: 169437
Fariborz Jahanian [Wed, 5 Dec 2012 22:19:06 +0000 (22:19 +0000)]
In DeclPrint add printing of 'explicit'
constructors.
llvm-svn: 169435
Richard Smith [Wed, 5 Dec 2012 22:18:04 +0000 (22:18 +0000)]
Fix an egregiously broken test. This pattern doesn't work:
RUN: a
RUN: b || true
lit expands it to a && b || true, and the || true applies to both commands (thus ignoring failures in 'a')! This is PR10867 again.
llvm-svn: 169434
Eli Bendersky [Wed, 5 Dec 2012 22:11:02 +0000 (22:11 +0000)]
Change std::vector to SmallVector<4> and remove some unused methods.
This is more consistent with other vectors in this code. In addition, I ran some
tests compiling a large program and >96% of fragments have 4 or less fixups, so
SmallVector<4> is a good optimization.
llvm-svn: 169433
Jyotsna Verma [Wed, 5 Dec 2012 22:02:56 +0000 (22:02 +0000)]
Define new-value store instructions with base+immediate addressing mode
using multiclass.
llvm-svn: 169432
Greg Clayton [Wed, 5 Dec 2012 21:59:39 +0000 (21:59 +0000)]
<rdar://problem/
12560257>
Fixed arrays with a size of 1 to correctly have 1 member when DW_AT_upper_bound was set to zero and no other attributes were set.
llvm-svn: 169431
Argyrios Kyrtzidis [Wed, 5 Dec 2012 21:53:37 +0000 (21:53 +0000)]
[c-index-test] Introduce '-index-compile-db' which accepts a compilation database file
and does an '-index-file' for all compile commands in the database.
llvm-svn: 169430
Bill Wendling [Wed, 5 Dec 2012 21:43:37 +0000 (21:43 +0000)]
Fix name. The array is unboundED.
llvm-svn: 169429
Bill Wendling [Wed, 5 Dec 2012 21:43:30 +0000 (21:43 +0000)]
Fix name. The array is unboundED.
llvm-svn: 169428
Andrew Trick [Wed, 5 Dec 2012 21:37:50 +0000 (21:37 +0000)]
RegisterPressureTracker: fix findUseBetween to handle DebugValue
llvm-svn: 169427
Andrew Trick [Wed, 5 Dec 2012 21:37:47 +0000 (21:37 +0000)]
RegisterPressureTracker: unify virtual registers and physical regunits.
Now that live register units are tracked individually, the code can be simplified.
llvm-svn: 169426
Andrew Trick [Wed, 5 Dec 2012 21:37:42 +0000 (21:37 +0000)]
RegisterPresssureTracker: Track live physical register by unit.
This is much simpler to reason about, more efficient, and
fixes some corner cases involving implicit super-register defs.
Fixed rdar://
12797931.
llvm-svn: 169425
Greg Clayton [Wed, 5 Dec 2012 21:24:42 +0000 (21:24 +0000)]
<rdar://problem/
12749733>
Always allows getting builtin types by name even if there is no backing debug information.
llvm-svn: 169424
Nadav Rotem [Wed, 5 Dec 2012 21:21:26 +0000 (21:21 +0000)]
Cost Model: change the default cost of control flow instructions (br / ret / ...) to zero.
llvm-svn: 169423
Chad Rosier [Wed, 5 Dec 2012 21:08:21 +0000 (21:08 +0000)]
[driver, ms-inline asm] MS-Style inline assembly is controlled by the
-fasm-blocks flag, not the -fms-extensions flag.
rdar://
12808010
llvm-svn: 169422
Daniel Jasper [Wed, 5 Dec 2012 21:06:08 +0000 (21:06 +0000)]
Basic clang-format vim-integration.
File contains installation and usage instructions.
llvm-svn: 169421
David Sehr [Wed, 5 Dec 2012 21:01:27 +0000 (21:01 +0000)]
Correct ARM NOP encoding
The encoding of NOP in ARMAsmBackend.cpp is missing a trailing zero, which
causes the emission of a coprocessor instruction rather than "mov r0, r0"
as indicated in the comment. The test also checks for the wrong encoding.
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20121203/157919.html
llvm-svn: 169420
Eli Bendersky [Wed, 5 Dec 2012 20:56:39 +0000 (20:56 +0000)]
Remove unused methods
llvm-svn: 169419
Justin Holewinski [Wed, 5 Dec 2012 20:50:28 +0000 (20:50 +0000)]
[NVPTX] Fix crash with unnamed struct arguments
Patch by Eric Holk
llvm-svn: 169418
Daniel Malea [Wed, 5 Dec 2012 20:24:57 +0000 (20:24 +0000)]
Define isprint8() wrapper around isprint() in order to avoid crashes on Linux
llvm-svn: 169417
Michael J. Spencer [Wed, 5 Dec 2012 20:12:35 +0000 (20:12 +0000)]
Add dump of Win64 EH unwind data.
The new command line option -unwind-info dumps the Win64 EH unwind
data to the console. This is a nice feature if you need to debug
generated EH data (e.g. from LLVM). Includes a test case.
Initial patch by João Matos, extensions and rework by Kai Nacke.
llvm-svn: 169415
Michael J. Spencer [Wed, 5 Dec 2012 20:12:13 +0000 (20:12 +0000)]
Updates to Win64EH.h structures.
Change member types of RuntimeFunction and UnwindInfo from uint64_t to
uint32_t:
These members represent addresses. According to MSDN, they are image
relative, that is, they are 32-bit offsets from the starting address
of the image that contains the function table entry.
See MSDN for more information:
RUNTIME_FUNCTION: http://msdn.microsoft.com/en-us/library/ft9x1kdx.aspx
UNWIND_INFO: http://msdn.microsoft.com/en-us/library/ddssxxy8.aspx
Make Win64.h platform-neutral:
The standard types unit8_t, uint16_t and uint32_t are replaced with
their counterparts from Endian.h. Accessor functions are introduced to
replace bit fields.
Patch by João Matos and Kai Nacke.
llvm-svn: 169414
Fariborz Jahanian [Wed, 5 Dec 2012 20:10:11 +0000 (20:10 +0000)]
fix comment.
llvm-svn: 169413
Fariborz Jahanian [Wed, 5 Dec 2012 19:54:11 +0000 (19:54 +0000)]
Testing C++ declarations embedded in
<declaration> tag of Comment XML.
Added DeclPrint support for constructors
and fix tests accordingly.
This is wip. // rdar://
12378714
llvm-svn: 169412
Chad Rosier [Wed, 5 Dec 2012 19:52:05 +0000 (19:52 +0000)]
[ms-inline asm] Add more tests.
llvm-svn: 169411
David Sehr [Wed, 5 Dec 2012 19:47:56 +0000 (19:47 +0000)]
Test commit.
llvm-svn: 169410
Greg Clayton [Wed, 5 Dec 2012 19:43:20 +0000 (19:43 +0000)]
Backed out part of the ABI changes that were checked in because it breaks the i386 test suite as it makes backtraces for the first instruction of a function fail. Stepping relies on backtraces being correct, so I am reverting what is causing the breakage.
I filed this to track the fix:
<rdar://problem/
12817918> Recent i386 ABI changes break the i386 test suite because stack backtracing is busted when stopped in trampolines
llvm-svn: 169409
Jyotsna Verma [Wed, 5 Dec 2012 19:32:03 +0000 (19:32 +0000)]
Use multiclass to define store instructions with base+immediate offset
addressing mode and immediate stored value.
llvm-svn: 169408
Eli Bendersky [Wed, 5 Dec 2012 19:31:33 +0000 (19:31 +0000)]
Remove the non-const getInst accessor. It wasn't being used, and isn't very
good for enacpsulation anyway.
llvm-svn: 169407
Bob Wilson [Wed, 5 Dec 2012 19:09:13 +0000 (19:09 +0000)]
Adjust JIT target triple on OS X to match the current architecture.
For OS X builds, we generate one version of config.h but then build for
multiple architectures. This means that the LLVM_HOSTTRIPLE setting may have
the wrong architecture. Adjust it dynamically to match the current
architecture. <rdar://problem/
12715470>
llvm-svn: 169405
Matthew Curtis [Wed, 5 Dec 2012 19:00:34 +0000 (19:00 +0000)]
Fix misplaced closing brace.
llvm-svn: 169404
Daniel Malea [Wed, 5 Dec 2012 18:55:49 +0000 (18:55 +0000)]
Rename class __lambda_node to ___lambda_node to fix compile failure with gcc 4.6 and 4.7
- using "__lambda_node" causes internal compiler error in newer GCC versions
llvm-svn: 169402
Andrew Trick [Wed, 5 Dec 2012 18:52:15 +0000 (18:52 +0000)]
Remove two dead functions resulting from a bad rebase.
llvm-svn: 169401
Jordan Rose [Wed, 5 Dec 2012 18:44:49 +0000 (18:44 +0000)]
Format strings: offer a cast to 'unichar' for %C in Objective-C contexts.
For most cases where a conversion specifier doesn't match an argument,
we usually guess that the conversion specifier is wrong. However, if
the argument is an integer type and the specifier is %C, it's likely
the user really did mean to print the integer as a character.
(This is more common than %c because there is no way to specify a unichar
literal -- you have to write an integer literal, such as '0x2603',
and then cast it to unichar.)
This does not change the behavior of %S, since there are fewer cases
where printing a literal Unicode *string* is necessary, but this could
easily be changed in the future.
<rdar://problem/
11982013>
llvm-svn: 169400
Jordan Rose [Wed, 5 Dec 2012 18:44:44 +0000 (18:44 +0000)]
Format strings: add more expression types that don't need parens to cast.
No functionality change (the test change is a comment only, and the new
functionality can't be tested using the current test).
llvm-svn: 169399
Jordan Rose [Wed, 5 Dec 2012 18:44:40 +0000 (18:44 +0000)]
Format strings: a character literal should be printed with %c, not %d.
The type of a character literal is 'int' in C, but if the user writes a
character /as/ a literal, we should assume they meant it to be a
character and not a numeric value, and thus offer %c as a correction
rather than %d.
There's a special case for multi-character literals (like 'MooV'), which
have implementation-defined value and usually cannot be printed with %c.
These still use %d as the suggestion.
In C++, the type of a character literal is 'char', and so this problem
doesn't exist.
<rdar://problem/
12282316>
llvm-svn: 169398
Jordan Rose [Wed, 5 Dec 2012 18:44:37 +0000 (18:44 +0000)]
Format strings: the correct conversion for 'char' is %c, not %d or %hhd.
We tried to account for 'uint8_t' by saying that /typedefs/ of 'char'
should be corrected as %hhd rather than %c, but the condition was wrong.
llvm-svn: 169397
Benjamin Kramer [Wed, 5 Dec 2012 18:31:11 +0000 (18:31 +0000)]
Try to unbreak the build on hosts that don't transitively pull in a definition for int64_t.
Also use the portable (ugly) format string macros, for MSVC compatibility.
llvm-svn: 169396
Jakob Stoklund Olesen [Wed, 5 Dec 2012 18:27:39 +0000 (18:27 +0000)]
Remove unused MachineInstr constructors.
A MachineInstr can only ever be constructed by CreateMachineInstr() and
CloneMachineInstr(), and those factories don't use the removed
constructors.
llvm-svn: 169395
Greg Clayton [Wed, 5 Dec 2012 18:23:55 +0000 (18:23 +0000)]
Crash every time with new target logging is now fixed.
llvm-svn: 169394
Kevin Enderby [Wed, 5 Dec 2012 18:13:19 +0000 (18:13 +0000)]
Added a option to the disassembler to print immediates as hex.
This is for the lldb team so most of but not all of the values are
to be printed as hex with this option. Some small values like the
scale in an X86 address were requested to printed in decimal
without the leading 0x.
There may be some tweaks need to places that may still be in
decimal that they want in hex. Specially for arm. I made my best
guess. Any tweaks from here should be simple.
I also did the best I know now with help from the C++ gurus
creating the cleanest formatImm() utility function and containing
the changes. But if someone has a better idea to make something
cleaner I'm all ears and game for changing the implementation.
rdar://8109283
llvm-svn: 169393
Kostya Serebryany [Wed, 5 Dec 2012 17:56:54 +0000 (17:56 +0000)]
[asan] drop the extension from asan tests (as the extension may be different)
llvm-svn: 169392
Pedro Artigas [Wed, 5 Dec 2012 17:12:22 +0000 (17:12 +0000)]
- Added calls to doInitialization/doFinalization to immutable passes
- fixed ordering of calls to doFinalization to be the reverse of the pass run order due to potential dependencies
- fixed machine module info to operate in the doInitialization/doFinalization model, also fixes some FIXMEs
reviewed by Evan Cheng <evan.cheng@apple.com>
llvm-svn: 169391
Daniel Jasper [Wed, 5 Dec 2012 16:24:48 +0000 (16:24 +0000)]
Remove bad and useless enum to bool conversion.
llvm-svn: 169390
Alexander Kornienko [Wed, 5 Dec 2012 15:06:06 +0000 (15:06 +0000)]
Clang-format: parse for and while loops
Summary: Adds support for formatting for and while loops.
Reviewers: djasper, klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D174
llvm-svn: 169387
Daniel Jasper [Wed, 5 Dec 2012 14:57:28 +0000 (14:57 +0000)]
Indentation fixes for clang-format.
- Fix behavior of memoization together with optimization
- Correctly attribute the PenaltyIndentLevel (breaking directly after "(" did
not count towards the inner level)
- Recognize more tokens as assignments
Review: http://llvm-reviews.chandlerc.com/D172
llvm-svn: 169384
Evgeniy Stepanov [Wed, 5 Dec 2012 14:39:55 +0000 (14:39 +0000)]
[msan] Instrument bswap intrinsic.
llvm-svn: 169383
Alexander Kornienko [Wed, 5 Dec 2012 13:56:52 +0000 (13:56 +0000)]
Follow-up to r169286, addresses comments in llvm-reviews.chandlerc.com/D164#comment-4 : comments and a method rename
llvm-svn: 169382
Kostya Serebryany [Wed, 5 Dec 2012 13:39:29 +0000 (13:39 +0000)]
[asan] undo the debug printf
llvm-svn: 169381
Evgeniy Stepanov [Wed, 5 Dec 2012 13:37:12 +0000 (13:37 +0000)]
Reuse an existing diagnostic for tsan/msan needing -pie error.
Add a diagnosting for -fsanitize=memory conflicting with other sanitizers.
Extend tests.
llvm-svn: 169380
Dmitry Vyukov [Wed, 5 Dec 2012 13:14:55 +0000 (13:14 +0000)]
tsan: fix memory barriers in atomics
llvm-svn: 169379
Evgeniy Stepanov [Wed, 5 Dec 2012 13:14:33 +0000 (13:14 +0000)]
[msan] Initialize callbacks in runOnFunction as opposed to doInitialization.
This mirrors the change in ASan & TSan done in r168864.
llvm-svn: 169378
Evgeniy Stepanov [Wed, 5 Dec 2012 12:49:41 +0000 (12:49 +0000)]
[msan] Change linkage type of __msan_track_origins.
LinkOnceODRLinkage globals may be removed in GlobalOpt if not used in the
current module.
llvm-svn: 169377
Dmitry Vyukov [Wed, 5 Dec 2012 12:10:22 +0000 (12:10 +0000)]
tsan: provide own implementation of __cxa_guard_xxx functions
that way we allow static linking of libstdc++
llvm-svn: 169376
NAKAMURA Takumi [Wed, 5 Dec 2012 11:52:45 +0000 (11:52 +0000)]
test/Modules/build-fail-notes.m: Tweak to unbreak Win32 hosts to relax expressions, for now.
llvm-svn: 169375
Richard Smith [Wed, 5 Dec 2012 11:34:06 +0000 (11:34 +0000)]
In C++, if we hit an error in the class-head, don't try to parse the class body.
Our error recovery path may have made the class anonymous, and that has a pretty
disastrous impact on any attempt to parse a class body containing constructors.
llvm-svn: 169374
Richard Smith [Wed, 5 Dec 2012 11:04:55 +0000 (11:04 +0000)]
PR14049: Don't say "expanded from macro 'foo'" when 'foo' just happens to be
the LHS of a token paste. Use "expanded from here" instead when we're not sure
it's actually a macro.
llvm-svn: 169373
Daniel Jasper [Wed, 5 Dec 2012 10:22:07 +0000 (10:22 +0000)]
Fix make build (hopefully).
llvm-svn: 169371
Dmitry Vyukov [Wed, 5 Dec 2012 10:16:17 +0000 (10:16 +0000)]
tsan: remove unnecesary include file
llvm-svn: 169370
Dmitry Vyukov [Wed, 5 Dec 2012 10:16:02 +0000 (10:16 +0000)]
tsan: fix lint warnings
llvm-svn: 169369
Kostya Serebryany [Wed, 5 Dec 2012 10:09:15 +0000 (10:09 +0000)]
[tsan] get rid of *allocator64* files, moving everything to *allocator* files. This will help with the 32-bit allocator implementation and testing
llvm-svn: 169368
Richard Smith [Wed, 5 Dec 2012 09:47:49 +0000 (09:47 +0000)]
Minor reorganization. No functionality change.
llvm-svn: 169367