summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ASan/Win] Don't apply dllexport to __asan_init in the DLL thunkTimur Iskhodzhanov2014-07-112-2/+6
| | | | | | | | This fixes '___asan_init_v4 already defined' errors when linking some of Chromium DLLs. Looks like one of the DLL is using a .lib produced while linking another DLL and it exploded after r212699. I'm trying to come up with a small testcase... llvm-svn: 212815
* Modify the tests to use FileCheck -implicit-check-not option being proposed ↵Alexander Kornienko2014-07-114-14/+13
| | | | | | | | | | | | | | in D4462 Reviewers: djasper, sbenza, bkramer Reviewed By: bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4463 llvm-svn: 212814
* [Mips] Make rel-dynamic-11.test test case independent from external input files.Simon Atanasyan2014-07-111-9/+35
| | | | llvm-svn: 212813
* ARM: Allow __fp16 as a function arg or return type for AArch64Oliver Stannard2014-07-114-4/+26
| | | | | | | ACLE 2.0 allows __fp16 to be used as a function argument or return type. This enables this for AArch64. llvm-svn: 212812
* Fixed the test to work with -implicit-check-not.Alexander Kornienko2014-07-111-5/+3
| | | | llvm-svn: 212811
* Add FileCheck -implicit-check-not option to allow stricter tests without ↵Alexander Kornienko2014-07-113-1/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | adding too many CHECK-NOTs manually. Summary: Add FileCheck -implicit-check-not option which allows specifying a pattern that should only occur in the input when explicitly matched by a positive check. This feature allows checking tool diagnostics in a way clang -verify does it for compiler diagnostics. The option has been tested on a number of clang-tidy checks, I'll post a link to the clang-tidy patch to this thread. Once there's an agreement on the general direction, I can add tests and documentation. Reviewers: djasper, bkramer Reviewed By: bkramer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4462 llvm-svn: 212810
* [ASan] Print register values in a consistent wayTimur Iskhodzhanov2014-07-112-6/+6
| | | | llvm-svn: 212809
* [X86] Fix the inversion of low and high bits for the lowering of MUL_LOHI.Quentin Colombet2014-07-112-12/+41
| | | | | | | | Also add a few comments. <rdar://problem/17581756> llvm-svn: 212808
* [ASan/Win] Catch NULL derefs and page faultsTimur Iskhodzhanov2014-07-116-9/+88
| | | | | | Reviewed at http://reviews.llvm.org/D4471 llvm-svn: 212807
* Tiny improvement in a test (missing quote)Sylvestre Ledru2014-07-111-1/+1
| | | | llvm-svn: 212806
* GCC compatibility: Create a Group to ignore unsupported optimization.Sylvestre Ledru2014-07-114-1/+23
| | | | | | | | | | | | Returns a warning when using an unknown optimization flag. This patch includes -finline-limit as one of those ignored flags. More options will be moved in this group Patch by Arthur Marble <arthur@info9.net> in the context of Debian Google Summer of code 2014. Reviewers: rnk, Sylvestre llvm-svn: 212805
* [OPENMP] Parsing and sema analysis for 'omp task' directive.Alexey Bataev2014-07-1133-99/+1480
| | | | llvm-svn: 212804
* Added test for commit r212802 that was missingMarcello Maggioni2014-07-111-0/+40
| | | | llvm-svn: 212803
* Fixup PHIs in LowerSwitch when a Leaf node is not emitted.Marcello Maggioni2014-07-111-10/+31
| | | | | | | | This commit fixes bug http://llvm.org/bugs/show_bug.cgi?id=20103. Thanks to Qwertyuiop for the report and the proposed fix. llvm-svn: 212802
* [msan] A comment for the chained-origin-depot hash function.Evgeniy Stepanov2014-07-111-0/+13
| | | | llvm-svn: 212801
* Remove unnecessary isl annotationsTobias Grosser2014-07-111-2/+2
| | | | | | | They where just left over from copy-pasting. Reported-by: Johannes Doerfert <jdoerfert@codeaurora.org> llvm-svn: 212800
* [msan] Use real memset/memcpy/memmove in interceptors.Evgeniy Stepanov2014-07-111-51/+14
| | | | | | | | | | | Our versions are not exactly as fast as libc's, and MSan uses them heavily (even compared to other sanitizers). This will break if libc version of mem* are instrumented, but they never are, and if they are, we should be able to fix it on libc side. llvm-svn: 212799
* [msan] Make one test case less brittle.Evgeniy Stepanov2014-07-111-13/+11
| | | | llvm-svn: 212798
* [clang-tidy] Add a checker for implicit bool conversion of a bool*.Benjamin Kramer2014-07-115-0/+195
| | | | | | | | | | | | | | | | | The goal is to find code like the example below, which is likely a typo where someone meant to write "if (*b)". bool *b = SomeFunction(); if (b) { // b never dereferenced } This checker naturally has a relatively high false positive rate so it applies some heuristics to avoid cases where the pointer is checked for nullptr before being written. Differential Revision: http://reviews.llvm.org/D4458 llvm-svn: 212797
* DeadCodeElim: Compute correct liveout for non-affine accessesTobias Grosser2014-07-115-15/+152
| | | | | | | Thanks to Johannes Doerfert for narrowing down the bug. Reported-by: Chris Jenneisch <chrisj@codeaurora.org> llvm-svn: 212796
* [X86] AVX512: Improve readability of isCDisp8Adam Nemet2014-07-111-3/+12
| | | | | | | | No functional change. As I was trying to understand this function, I found that variables were reused with confusing names and the broadcast case was a bit too implicit. Hopefully, this is an improvement. llvm-svn: 212795
* [X86] AVX512: Simplify logic in isCDisp8Adam Nemet2014-07-111-6/+6
| | | | | | | | | | | | It was computing the VL/n case as: MemObjSize = VectorByteSize / ElemByteSize / Divider * ElemByteSize ElemByteSize not only falls out but VectorByteSize/Divider now actually matches the definition of VL/n. Also some formatting fixes. llvm-svn: 212794
* Revert "Reapply "DebugInfo: Ensure that all debug location scope chains from ↵David Blaikie2014-07-113-34/+4
| | | | | | | | | | | | instructions within a function, lead to the function itself."" This reverts commit r212776. Nope, still seems to be failing on the sanitizer bots... but hey, not the msan self-host anymore, it's failing in asan now. I'll start looking there next. llvm-svn: 212793
* Enable the ability to enable debug info generation when evaluating expressions.Greg Clayton2014-07-113-1/+26
| | | | llvm-svn: 212792
* Remove code that was merged incorrectly.Greg Clayton2014-07-111-2/+0
| | | | llvm-svn: 212791
* Don't assume StringRef.data() is null-terminatedBen Langmuir2014-07-111-1/+1
| | | | llvm-svn: 212790
* TestAfterDivZeroChecker.cpp: Avoid member initializer. It is unsupported in ↵NAKAMURA Takumi2014-07-111-2/+2
| | | | | | msc17. llvm-svn: 212789
* [modules] Don't try to merge template specializations by performing name lookupRichard Smith2014-07-115-4/+18
| | | | | | | | | into their container; we won't find them there. These things are already being merged when they're added to their primary template's folding set, so this merging is redundant (and causes us to reject-valid because we think we've found an odr violation). llvm-svn: 212788
* clang/test/CodeGenCXX/PR20038.cpp: Appease targeting msvc due to ↵NAKAMURA Takumi2014-07-111-1/+1
| | | | | | incompatibility of dw. llvm-svn: 212787
* Return a FixItHint instead of taking a diagnostic builderReid Kleckner2014-07-111-7/+6
| | | | | | Addressing review comments from r212784. llvm-svn: 212786
* Get the python scripting interface working on Windows.Zachary Turner2014-07-105-49/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a number of issues with embedded Python on Windows. In particular: 1) The script that builds the python modules was normalizing the case of python filenames during copies. The module name is the filename, and is case-sensitive, so this was breaking code. 2) Changes the build to not attempt to link against python27.lib (e.g. the release library) when linking against msvcrt debug library. Doing a debug build of LLDB with embedded python support now requires you to provide your own self-compiled debug version of python. 3) Don't import termios when initializing the interpreter. This is part of a larger effort to remove the dependency on termios since it is not available on Windows. This particular instance was unnecessary and unused. Reviewed by: Todd Fiala Differential Revision: http://reviews.llvm.org/D4441 llvm-svn: 212785
* MSVC compat: Allow lookup of friend types in enclosing namespacesReid Kleckner2014-07-104-30/+172
| | | | | | | | | | | | | | | | | | | | | | | The relevant portion of C++ standard says [namespace.memdef]p3: If the name in a friend declaration is neither qualified nor a template-id and the declaration is a function or an elaborated-type-specifier, the lookup to determine whether the entity has been previously declared shall not consider any scopes outside the innermost enclosing namespace. MSVC does not implement that rule for types. If there is a type in an enclosing namespace, they consider an unqualified tag declaration with the same name to be a redeclaration of the type from another namespace. Implementing compatibility is a simple matter of disabling our implementation of this rule for types, which was added in r177473. Reviewers: rsmith Differential Revision: http://reviews.llvm.org/D4443 llvm-svn: 212784
* Cleanup the iOS simulator code.Greg Clayton2014-07-106-58/+60
| | | | | | | | | | | Fixes include: - Don't say that "<arch>-apple-ios" is compatible with "<arch>-apple-macosx" - Fixed DynamicLoaderMacOSXDYLD so specify an architecture that was converted solely from a cputype and subtype, just specify the file + UUID. - Fixed PlatformiOSSimulator::GetSupportedArchitectureAtIndex() so it returns the correct archs - Fixed SymbolFileDWARFDebugMap to load .o files correctly by just specifying the architecture without the vendor and OS now that "<arch>-apple-ios" is not compatible with "<arch>-apple-macosx" so we can load .o files correctly for DWARF with debug map - Fixed the coded in TargetList::CreateTarget() so it does the right thing with an underspecified triple where just the arch is specified. llvm-svn: 212783
* Partially fix PR20058: reduce compile time for loop unrolling with very high ↵Mark Heffernan2014-07-102-8/+19
| | | | | | count by reducing calls to SE->forgetLoop llvm-svn: 212782
* Enable -gcolumn-info by default.Diego Novillo2014-07-106-14/+19
| | | | | | | | | | | | | | | This patch flips the default value for -gcolumn-info to be on by default. I discussed the rationale and provided compile/size data in: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/074290.html This also updates the documentation and some tests that relied on the lack of column information. Some tests had column information in the expected output, but it was wrong (the tsan tests). Others were using the driver to execute. llvm-svn: 212781
* [RuntimeDyld] Replace a crufty old ARM RuntimeDyld test with a new one that usesLang Hames2014-07-104-1/+30
| | | | | | | | | RuntimeDyldChecker. This allows us to remove one of the six remaining object files in the LLVM source tree. llvm-svn: 212780
* Fix expected column numbers in two tests.Diego Novillo2014-07-102-2/+2
| | | | | | | | This is a minor fix to two tsan tests that were expecting the wrong column information. Now that clang emits column information by default in its debugging output, the tests had started failing. llvm-svn: 212779
* [RuntimeDyld] Improve error diagnostic in RuntimeDyldChecker.Lang Hames2014-07-102-5/+16
| | | | | | | | | The compiler often emits assembler-local labels (beginning with 'L') for use in relocation expressions, however these aren't included in the object files. Teach RuntimeDyldChecker to warn the user if they try to use one of these in an expression, since it will never work. llvm-svn: 212777
* Reapply "DebugInfo: Ensure that all debug location scope chains from ↵David Blaikie2014-07-103-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instructions within a function, lead to the function itself." Committed in r212205 and reverted in r212226 due to msan self-hosting failure, I believe I've got that fixed by r212761 to Clang. Original commit message: "Originally committed in r211723, reverted in r211724 due to failure cases found and fixed (ArgumentPromotion: r211872, Inlining: r212065), committed again in r212085 and reverted again in r212089 after fixing some other cases, such as debug info subprogram lists not keeping track of the function they represent (r212128) and then short-circuiting things like LiveDebugVariables that build LexicalScopes for functions that might not have full debug info. And again, I believe the invariant actually holds for some reasonable amount of code (but I'll keep an eye on the buildbots and see what happens... ). Original commit message: PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location. This situation does bad things when inlined, so I've fixed Clang not to produce inlinable call sites without locations when the caller has debug info (in the one case where I could find that this occurred). This updates the PR20038 test case to be what clang now produces, and readds the assertion that had to be removed due to this bug. I've also beefed up the debug info verifier to help diagnose these issues in the future, and I hope to add checks to the inliner to just assert-fail if it encounters this situation. If, in the future, we decide we have to cope with this situation, the right thing to do is probably to just remove all the DebugLocs from the inlined instructions." llvm-svn: 212776
* This test case doesn't actually need the inliner to reproduce the input.David Blaikie2014-07-101-1/+0
| | | | llvm-svn: 212775
* Add AST dumping for VarDecl init kind.Richard Smith2014-07-102-4/+9
| | | | llvm-svn: 212774
* R600: Implement float to long/ulongJan Vesely2014-07-106-51/+404
| | | | | | | | | | | | | | Use alg. from LegalizeDAG.cpp Move Expand setting to SIISellowering v2: Extend existing tests instead of creating new ones v3: use separate LowerFPTOSINT function v4: use TargetLowering::expandFP_TO_SINT add comment about using FP_TO_SINT for uints Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 212773
* SelectionDAG: Factor FP_TO_SINT lower code out of DAGLegalizerJan Vesely2014-07-103-58/+71
| | | | | | | | | | | Move the code to a helper function to allow calls from TypeLegalizer. No functionality change intended Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tom@stellard.net> Reviewed-by: Owen Anderson <resistor@mac.com> llvm-svn: 212772
* Use the integrated assembler by default on OpenBSD.Brad Smith2014-07-101-1/+2
| | | | llvm-svn: 212771
* [UBSan] Introduce type-based blacklisting.Alexey Samsonov2014-07-104-38/+72
| | | | | | | | | Teach UBSan vptr checker to ignore technically invalud down-casts on blacklisted types. Based on http://reviews.llvm.org/D4407 by Byoungyoung Lee! llvm-svn: 212770
* [mips] Emit two CFI offset directives per double precision SDC1/LDC1Zoran Jovanovic2014-07-104-4/+75
| | | | | | | instead of just one for FR=1 registers Differential Revision: http://reviews.llvm.org/D4310 llvm-svn: 212769
* Make cmake cxxflags match those in lib/buildit.Dan Albert2014-07-102-11/+32
| | | | llvm-svn: 212768
* Be more specific about return types of some methods.Alexey Samsonov2014-07-102-10/+12
| | | | | | | This would allow to call addCompilerUsedGlobal on some Clang-generated globals. llvm-svn: 212767
* [PECOFF] s/context/ctx/ for consistency.Rui Ueyama2014-07-101-16/+16
| | | | llvm-svn: 212766
* [PECOFF] Set resource table entry in header.Rui Ueyama2014-07-102-0/+10
| | | | | | | The resource table entry should have the RVA of the embedded resource file. llvm-svn: 212765
OpenPOWER on IntegriCloud