Commit Graph

157150 Commits

Author SHA1 Message Date
Alexander Potapenko 94377c337b [libsanitizer] Remove an unused variable introduced in r189789
llvm-svn: 189790
2013-09-03 11:30:07 +00:00
Alexander Potapenko 7e1c51988d [TSan] Move the /proc/self/maps parsing logic to sanitizer_common
Provide a generic way for the tools to generate memory profiles from contents of /proc/self/maps

llvm-svn: 189789
2013-09-03 11:09:16 +00:00
Dmitry Vyukov e2391f66f9 tsan: fix linking when -ltsan is passed before -lpthread
libpthread is weird:
/lib/x86_64-linux-gnu/libpthread.so.0:000000000000b9b0 T pthread_cond_init@@GLIBC_2.3.2
/lib/x86_64-linux-gnu/libpthread.so.0:000000000000c720 T pthread_cond_init@GLIBC_2.2.5
let's do it with @@ for now
we can always introduce more macros parameters later

llvm-svn: 189788
2013-09-03 10:16:44 +00:00
Evgeniy Stepanov 499d480be5 [msan] Another regression test for r189786.
llvm-svn: 189787
2013-09-03 10:08:14 +00:00
Evgeniy Stepanov f9ddb43975 [msan] A regression test for r189785.
llvm-svn: 189786
2013-09-03 10:05:45 +00:00
Evgeniy Stepanov 566f591404 [msan] Fix select instrumentation.
Select condition shadow was being ignored resulting in false negatives.
This change OR-s sign-extended condition shadow into the result shadow.

llvm-svn: 189785
2013-09-03 10:04:11 +00:00
Daniel Sanders d9be5b2fdc [mips][msa] Added IntrNoMem and removed Commutative from sub intrinsics.
This changes the SelectionDAG nodes from ISD::INTRINSIC_W_CHAIN to
ISD::INTRINSIC_WO_CHAIN which enables easy lowering to equivalent SelectionDAG
nodes (e.g. __builtin_msa_sub_w -> ISD::SUB) in future patches since nodes
such as ISD::SUB do not have a chain.
It also corrects an obvious mistake, namely that the subtract intrinsics were
marked as being commutative.

As per a similar change in r189106
(http://llvm.org/viewvc/llvm-project?rev=189106&view=rev) there isn’t a new
testcase in this patch since the existing tests should test the intrinsics to
the same standard and the best I can do for a testcase would be a fragile
pass/maybe test of whether memory operations can (and do) cross the intrinsic.

llvm-svn: 189784
2013-09-03 09:45:20 +00:00
Kostya Serebryany 8d42228e47 fix PR17061 (and pleeease, don't ask me for a test, this is just a minor output formatting issue :)
llvm-svn: 189783
2013-09-03 09:44:56 +00:00
Daniel Sanders 8a00d0617c [mips][msa] Added IntrNoMem to the floating-point intrinsics.
This changes the SelectionDAG nodes from ISD::INTRINSIC_W_CHAIN to
ISD::INTRINSIC_WO_CHAIN which enables easy lowering to equivalent SelectionDAG
nodes (e.g. __builtin_msa_fadd_w -> ISD::FADD) in future patches since nodes
such as ISD::FADD do not have a chain.

As per a similar change in r189106
(http://llvm.org/viewvc/llvm-project?rev=189106&view=rev) there isn’t a new
testcase in this patch since the existing tests should test the intrinsics to
the same standard and the best I can do for a testcase would be a fragile
pass/maybe test of whether memory operations can (and do) cross the intrinsic.

llvm-svn: 189782
2013-09-03 09:35:20 +00:00
Dmitry Vyukov 23b80ab87f asan: fix android build
android does not have dlvsym

llvm-svn: 189781
2013-09-03 07:53:49 +00:00
Venkatraman Govindaraju 59039dc1bf [Sparc] Add support for soft long double (fp128).
llvm-svn: 189780
2013-09-03 04:11:59 +00:00
Craig Topper 8a1028f75e Add hadSideEffects=0 to some instructions.
llvm-svn: 189779
2013-09-03 03:56:17 +00:00
Rui Ueyama 0e70a16419 Do not add entry symbol to the dead strip list. Partially revert r189776.
llvm-svn: 189778
2013-09-03 03:34:33 +00:00
Rui Ueyama 8cdbf525a9 Cosmetic changes
Differential Revision: http://llvm-reviews.chandlerc.com/D1577

llvm-svn: 189777
2013-09-03 01:25:21 +00:00
Rui Ueyama 504962f714 Partially revert r189718 to add entry symbol to dead strip root.
Also added a test to verify that entry symbol is not stripped even if
dead stripping is enabled.

llvm-svn: 189776
2013-09-03 01:00:01 +00:00
Rui Ueyama 4313451ba4 Resolver: Do not use assert() to notify user input error.
llvm-svn: 189775
2013-09-03 00:50:22 +00:00
Rui Ueyama 900a501bdd Add llc to check-lld deps. We use the command in lit.cfg.
llvm-svn: 189774
2013-09-02 23:26:00 +00:00
Jin-Gu Kang 09c2213ce6 the call to UsualArithmeticConversions should come after the call to CheckVectorOperands on CheckConditionalOperands function. This problem caused compilation error with test17 on "test/CodeGen/ext-vector.c".
llvm-svn: 189773
2013-09-02 20:32:37 +00:00
Howard Hinnant e7d746d8b9 Implement N3672, optional<T>.
llvm-svn: 189772
2013-09-02 20:30:37 +00:00
Joerg Sonnenberger 37b08114bd Typo.
llvm-svn: 189771
2013-09-02 19:36:15 +00:00
Chandler Carruth 9051d41a74 Update tests to reflect clang r189769 which changes the printing of
'auto const' to 'const auto'.

llvm-svn: 189770
2013-09-02 19:21:12 +00:00
Chandler Carruth b4a4326824 Mark that qualifiers can prefix the auto type. This seems to just have
been an oversight, as it definitely works. Every test which changed had
the const written on the LHS of the auto already.

Notably, this also makes things like cpp11-migrate's formation of 'const
auto &' variables much more familiar.

Yes, many people feel that 'const' and other qualifiers belong on the
RHS of the type. I'm not going to argue about that because Clang already
*overwhelming* places the qualifiers on the LHS when it can and on the
RHS when it must. We shouldn't diverge for auto. We should add a tool to
clang-tidy that fixes this in either direction, and then wire up
clang-tidy to tools like cpp11-migrate to fix their placement after
transforms.

llvm-svn: 189769
2013-09-02 19:20:06 +00:00
Venkatraman Govindaraju 01cb19f93c [Sparc] Implement spill and load for long double(f128) registers.
llvm-svn: 189768
2013-09-02 18:32:45 +00:00
Dmitry Vyukov 3a6c7cea77 tsan: properly intercept pthread_cond functions
llvm-svn: 189767
2013-09-02 18:06:28 +00:00
Tilmann Scheller 63872ce19f ARM: Default to the Swift CPU when targeting armv7s/thumbv7s.
Test cases adjusted accordingly.

This fixes rdar://14871821.

llvm-svn: 189766
2013-09-02 17:09:01 +00:00
Alexander Kornienko e3648fbe1a Added WebKit style to the BasedOnStyle handling and to the relevant help messages.
llvm-svn: 189765
2013-09-02 16:39:23 +00:00
Tobias Grosser 815c635cec [CodeGen] Fixup assert fails caused by incorrect LoopInfo update
Contributed-by: Star Tan <tanmx_star@yeah.net>
llvm-svn: 189764
2013-09-02 16:13:00 +00:00
Tilmann Scheller 8f79ee99be Revert 189756 for now, it doesn't match what rdar://14871821 really wants.
What we really want is to enable Swift by default for *v7s triples (and there already seems to be some logic which attempts to do that). In that case the iOS version doesn't matter. 

llvm-svn: 189763
2013-09-02 15:48:17 +00:00
Alexander Kornienko d83adf30c6 Whitespace changes in help messages + updated help output in .rst file.
llvm-svn: 189762
2013-09-02 15:30:26 +00:00
Alexander Kornienko 22479f7d99 Trying to fix tests with in-tree builds, that contain a .clang-format files in
both tools/clang and llvm directories.

llvm-svn: 189761
2013-09-02 14:25:56 +00:00
Evgeniy Stepanov bbca4903c4 [msan] Update MSanDR build instructions.
llvm-svn: 189760
2013-09-02 14:21:12 +00:00
Renato Golin 47aeab5cbe Fix gnueeabi typo in tests
llvm-svn: 189759
2013-09-02 14:11:33 +00:00
Alexander Kornienko 632abb9b21 Store first and last newline position in the token text for string literals and comments.
Summary:
Store first and last newline position in the token text for string literals and
comments to avoid doing .find('\n') for each possible solution.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, klimek

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

llvm-svn: 189758
2013-09-02 13:58:14 +00:00
Alexander Kornienko 9acf3dbf1d Test for empty .clang-format file.
Summary: Test clang-format's handling of empty .clang-format files.

Reviewers: djasper

Reviewed By: djasper

CC: cfe-commits, klimek

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

llvm-svn: 189757
2013-09-02 13:44:16 +00:00
Tilmann Scheller f49c80178e ARM: Default to Swift when compiling for iOS 6 or later.
Test cases adjusted accordingly.

This fixes rdar://14871821.

llvm-svn: 189756
2013-09-02 12:01:58 +00:00
NAKAMURA Takumi 0212272ce2 FileCheck-ize three tests of llvm/test/CodeGen/X86/h-register(s).
llvm-svn: 189755
2013-09-02 12:00:53 +00:00
NAKAMURA Takumi ecd4552059 llvm/test/CodeGen/X86: Update tests with -mattr=-bmi not to take BMI, corresponding to Craig's r189742.
AMD Piledriver builder detected failures.

llvm-svn: 189754
2013-09-02 12:00:46 +00:00
Sergey Matveev 69931c5841 [sanitizer_common] Add internal_clone().
Add a wrapper for the clone syscall for use in StopTheWorld. We
implement it only for x86_64, so stop building StopTheWorld for other platforms
(no one uses it outside x86_64 anyway).

See https://code.google.com/p/address-sanitizer/issues/detail?id=214 for why we
can't use the glibc clone() wrapper.

llvm-svn: 189753
2013-09-02 11:36:19 +00:00
Joerg Sonnenberger 2bbc79039d Recognize -Bshareable as alias for -shared.
llvm-svn: 189752
2013-09-02 09:34:35 +00:00
Joerg Sonnenberger 354a2f30d4 ReaderWriter depends on Passes.
llvm-svn: 189751
2013-09-02 09:33:06 +00:00
Evgeniy Stepanov e3eaa7bb35 [msan] Intercept memalign, valloc, pvalloc.
PR17039

llvm-svn: 189750
2013-09-02 09:24:53 +00:00
Daniel Jasper 42401c8d13 clang-format: Fix segfault in overloaded operator parsing.
Before, constructs like:
  using A::operator+;

caused a segfault. This fixes llvm.org/PR17050.

llvm-svn: 189749
2013-09-02 09:20:39 +00:00
Alexey Samsonov bbd5f46696 [ASan] Make blacklist test more robust
llvm-svn: 189748
2013-09-02 09:17:51 +00:00
Alexey Samsonov f9ab351b8a [CMake] Add -O1 in debug builds with LLVM_USE_SANITIZER
llvm-svn: 189747
2013-09-02 09:15:01 +00:00
Pavel Labath d527cf89e6 [analyzer] Add very limited support for temporary destructors
This is an improved version of r186498. It enables ExprEngine to reason about
temporary object destructors.  However, these destructor calls are never
inlined, since this feature is still broken. Still, this is sufficient to
properly handle noreturn temporary destructors.

Now, the analyzer correctly handles expressions like "a || A()", and executes the
destructor of "A" only on the paths where "a" evaluted to false.

Temporary destructor processing is still off by default and one has to
explicitly request it by setting cfg-temporary-dtors=true.

Reviewers: jordan_rose

CC: cfe-commits

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

llvm-svn: 189746
2013-09-02 09:09:15 +00:00
Alexey Samsonov d95129060c [CMake] Don't build sanitizer runtimes if LLVM_USE_SANITIZER is specified
llvm-svn: 189745
2013-09-02 08:57:23 +00:00
Alexey Samsonov 4b16885839 Improve collecting malloc stats in ASan
Summary:
This change makes races between updates of thread-local stats and
merging all the thread-local stats together less harmful.

Reviewers: kcc

Reviewed By: kcc

CC: dvyukov, llvm-commits

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

llvm-svn: 189744
2013-09-02 08:39:07 +00:00
Daniel Jasper 7240762504 clang-format: Fix case-indentation in macros.
Before:
  #define OPERATION_CASE(name)           \
    case OP_name:                        \
    return operations::Operation##name

After:
  #define OPERATION_CASE(name)           \
    case OP_name:                        \
      return operations::Operation##name

llvm-svn: 189743
2013-09-02 08:26:29 +00:00
Craig Topper b25f0f5538 Create BEXTR instructions for (and ((sra or srl) x, imm), (2**size - 1)). Fixes PR17028.
llvm-svn: 189742
2013-09-02 07:53:17 +00:00
Chandler Carruth bc36e6e099 Switch the default mode for clang-format to '-file'. Make 'LLVM' the
fallback syntax used when we fail to find a '.clang-format' file. Adjust
variable names appropriately.

Update the editor integration pieces that specify a '-style' option to
specify it as '-style=file'. I left the functionality in place because
even if the preferred method is to use '.clang-format' files, this way
if someone needs to clobber the style in their editor we show how to do
so in these examples.

Also check in a '.clang-format' file for Clang to ensure that separate
checkouts and builds of Clang from LLVM can still get the nice
formatting. =] This unfortunately required nuking the test for the
absence of a '.clang-format' file as now the directory happening to be
under your clang source tree will cause there to always be a file. ;]

llvm-svn: 189741
2013-09-02 07:42:02 +00:00