- Oct 03, 2013
-
-
Dmitry Vyukov authored
The flag allows to bound maximum process memory consumption (best effort). If RSS reaches memory_limit_mb, tsan flushes all shadow memory. llvm-svn: 191913
-
Rafael Espindola authored
It looks like clang always produce code with the ieee comparisons, so it is safe to ignore this flag (we still error on -mno-ieee-fp). llvm-svn: 191912
-
Benjamin Kramer authored
llvm-svn: 191911
-
Jordan Rose authored
One small functionality change is to bring the sizeof-pointer checker in line with the other checkers by making its category be "Logic error" instead of just "Logic". There should be no other functionality changes. Patch by Daniel Marjamäki! llvm-svn: 191910
-
Jordan Rose authored
This will emit a warning if a call to clang_analyzer_warnIfReached is executed, printing REACHABLE. This is a more explicit way to declare expected reachability than using clang_analyzer_eval or triggering a bug (divide-by-zero or null dereference), and unlike the former will work the same in inlined functions and top-level functions. Like the other debug helpers, it is part of the debug.ExprInspection checker. Patch by Jared Grubb! llvm-svn: 191909
-
Dmitry Vyukov authored
Currently the following source code: u64 NanoTime() { kernel_timeval tv = {}; internal_syscall(__NR_gettimeofday, &tv, 0); return (u64)tv.tv_sec * 1000*1000*1000 + tv.tv_usec * 1000; } generates the following assembly: Dump of assembler code for function __sanitizer::NanoTime(): => 0x00007ff30657d380 <+0>: lea -0x10(%rsp),%rdi 0x00007ff30657d385 <+5>: xor %esi,%esi 0x00007ff30657d387 <+7>: mov $0x60,%eax 0x00007ff30657d38c <+12>: syscall 0x00007ff30657d38e <+14>: mov $0,%eax 0x00007ff30657d393 <+19>: retq with this change: Dump of assembler code for function __sanitizer::NanoTime(): => 0x00007faab834f380 <+0>: movq $0x0,-0x10(%rsp) 0x00007faab834f389 <+9>: movq $0x0,-0x8(%rsp) 0x00007faab834f392 <+18>: lea -0x10(%rsp),%rdi 0x00007faab834f397 <+23>: xor %esi,%esi 0x00007faab834f399 <+25>: mov $0x60,%eax 0x00007faab834f39e <+30>: syscall 0x00007faab834f3a0 <+32>: mov -0x8(%rsp),%rax 0x00007faab834f3a5 <+37>: mov -0x10(%rsp),%rcx 0x00007faab834f3aa <+42>: imul $0x3e8,%rax,%rdx 0x00007faab834f3b1 <+49>: imul $0x3b9aca00,%rcx,%rax 0x00007faab834f3b8 <+56>: add %rdx,%rax 0x00007faab834f3bb <+59>: retq llvm-svn: 191908
-
Argyrios Kyrtzidis authored
llvm-svn: 191907
-
Argyrios Kyrtzidis authored
Patch by Che-Liang Chiou! llvm-svn: 191906
-
Jin-Gu Kang authored
or not. The corresponding dag patterns are as following: "DAGCombier::MatchRotate" function in DAGCombiner.cpp Pattern1 // fold (or (shl (*ext x), (*ext y)), // (srl (*ext x), (*ext (sub 32, y)))) -> // (*ext (rotl x, y)) // fold (or (shl (*ext x), (*ext y)), // (srl (*ext x), (*ext (sub 32, y)))) -> // (*ext (rotr x, (sub 32, y))) pattern2 // fold (or (shl (*ext x), (*ext (sub 32, y))), // (srl (*ext x), (*ext y))) -> // (*ext (rotl x, y)) // fold (or (shl (*ext x), (*ext (sub 32, y))), // (srl (*ext x), (*ext y))) -> // (*ext (rotr x, (sub 32, y))) llvm-svn: 191905
-
Dmitry Vyukov authored
llvm-svn: 191904
-
Dmitry Vyukov authored
llvm-svn: 191903
-
Dmitry Vyukov authored
llvm-svn: 191902
-
Tim Northover authored
Thought I'd checked that before llvm-svn: 191901
-
Tim Northover authored
llvm-svn: 191900
-
Dmitry Vyukov authored
llvm-svn: 191899
-
Dmitry Vyukov authored
llvm-svn: 191898
-
Dmitry Vyukov authored
LibIgnore allows to ignore all interceptors called from a particular set of dynamic libraries. LibIgnore remembers all "called_from_lib" suppressions from the provided SuppressionContext; finds code ranges for the libraries; and checks whether the provided PC value belongs to the code ranges. Also make malloc and friends interceptors use SCOPED_INTERCEPTOR_RAW instead of SCOPED_TSAN_INTERCEPTOR, because if they are called from an ignored lib, then must call our internal allocator instead of libc malloc. llvm-svn: 191897
-
Benjamin Kramer authored
The heuristic was added to avoid spending too much compile time A specially crafted test case (PR17461, PR16474) with many uses on a select or bitcast instruction can still trigger the slow case. Add a check for that case. This only affects compile time, don't have a good way to test it. llvm-svn: 191896
-
Tobias Grosser authored
llvm-svn: 191895
-
Tobias Grosser authored
Contributed-by:
Michael Kruse <MichaelKruse@meinersbur.de> llvm-svn: 191894
-
Tobias Grosser authored
We already removed all uses of isl_int in ScopInfo. Contributed-by:
Michael Kruse <MichaelKruse@meinersbur.de> llvm-svn: 191893
-
Tobias Grosser authored
Contributed-by:
Michael Kruse <MichaelKruse@meinersbur.de> llvm-svn: 191892
-
Logan Chien authored
llvm-svn: 191891
-
Matthew Curtis authored
We now emit warnings when doing so and code generation is consistent with GCC. Note that the C99 spec is unclear as to the precise behavior. See also ... Bug: http://llvm.org/bugs/show_bug.cgi?id=16644 and cfe-dev discussion: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-September/031918.html llvm-svn: 191890
-
Elena Demikhovsky authored
llvm-svn: 191889
-
Jim Cownie authored
llvm-svn: 191888
-
Amara Emerson authored
Patch by Artyom Skrobov. llvm-svn: 191885
-
Alexey Samsonov authored
r191052 added emitting .debug_aranges to Clang, but this functionality is broken: it uses all MC labels added in DWARF Asm printer, including the labels for build relocations between different DWARF sections, like .Lsection_line or .Ldebug_loc0. As a result, if any DIE .debug_info would contain "DW_AT_location=0x123" attribute, .debug_aranges would also contain a range starting from 0x123, breaking tools that rely on this section. This patch fixes this by using only MC labels that corresponds to the addresses in the user program. llvm-svn: 191884
-
Evgeniy Stepanov authored
Patch by Greg Fitzgerald. llvm-svn: 191883
-
Jason Molenda authored
in the unwinder - they're important to flag when debugging an unwind problem. llvm-svn: 191882
-
Andrey Churbanov authored
llvm-svn: 191881
-
Craig Topper authored
llvm-svn: 191880
-
Faisal Vali authored
Teach TreeTransform and family how to transform generic lambdas within templates and nested within themselves. This does not yet include capturing (that is next). Please see test file for examples. This patch was LGTM'd by Doug: http://llvm-reviews.chandlerc.com/D1784 http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130930/090048.html When I first committed this patch - a bunch of buildbots were unable to compile the code that VS2010 seemed to compile. Seems like there was a dependency on Sema/Template.h which VS did not seem to need, but I have now added for the other compilers. It still compiles on Visual Studio 2010 - lets hope the buildbots remain quiet (please!) llvm-svn: 191879
-
Timur Iskhodzhanov authored
Reviewed at http://llvm-reviews.chandlerc.com/D1807 llvm-svn: 191878
-
Craig Topper authored
llvm-svn: 191877
-
Faisal Vali authored
why the buildbots are failing. llvm-svn: 191876
-
Faisal Vali authored
Teach TreeTransform and family how to transform generic lambdas within templates and nested within themselves. This does not yet include capturing (that is next). Please see test file for examples. This patch was LGTM'd by Doug: http://llvm-reviews.chandlerc.com/D1784 llvm-svn: 191875
-
Craig Topper authored
llvm-svn: 191874
-
Craig Topper authored
llvm-svn: 191873
-
Craig Topper authored
An explicit cast is still needed in tbmintrin.h to convert any big integer down to i32imm. Patch from Yunzhong Gao. llvm-svn: 191872
-