summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [sanitizer] allow -fsanitize-coverage=N w/ -fsanitize=leak, compiler-rt partKostya Serebryany2014-12-171-0/+6
| | | | llvm-svn: 224464
* [sanitizer] allow -fsanitize-coverage=N w/ -fsanitize=leak, llvm partKostya Serebryany2014-12-171-4/+2
| | | | llvm-svn: 224463
* [sanitizer] allow -fsanitize-coverage=N w/ -fsanitize=leak, clang partKostya Serebryany2014-12-172-2/+3
| | | | llvm-svn: 224462
* RegisterCoalescer: Fix stripCopies() picking up main range instead of ↵Matthias Braun2014-12-171-50/+78
| | | | | | | | | | subregister range This fixes a problem where stripCopies() would switch to values in the main liverange when it crossed a copy instruction. However when joining subranges we need to stay in the respective subregister ranges. llvm-svn: 224461
* Provide CreateValueFromData,Expression at the SBTarget level as well as the ↵Enrico Granata2014-12-177-71/+99
| | | | | | SBValue level; and also make all the implenentations agree on using the matching ValueObject::Create instead of doing code copypastas llvm-svn: 224460
* Dead code elimination: Update dependences after eliminating codeTobias Grosser2014-12-173-3/+18
| | | | | | | | | | | | Without updating dependences we may lose implicit transitive dependences for which all explicit dependences have gone through the statement iterations we have just eliminated. No test case. We should probably implement a -verify-dependences option. This fixes llvm.org/PR21227 llvm-svn: 224459
* R600/SI: Fix f64 inline immediatesMatt Arsenault2014-12-179-46/+398
| | | | llvm-svn: 224458
* [c++1z] Fixes for generalized non-type template argument support: check forRichard Smith2014-12-172-42/+83
| | | | | | | | exact type match for deduced template arguments, and be sure to produce correct canonical TemplateArgument representations to enable correct redeclaration matching. llvm-svn: 224456
* [Hexagon] Reconfiguring register alternate names.Colin LeMahieu2014-12-171-13/+9
| | | | llvm-svn: 224455
* Destroy the diagnostic client first in ~DiagnosticEngineReid Kleckner2014-12-173-0/+13
| | | | | | | | | | | | Add a comment and a test to ~DiagnosticEngine about the ordering requirements on the teardown of DiagnosticConsumer. This could also be accomplished by rearranging the fields of ~DiagnosticEngine, but I felt that this was a better, more explicit solution. This fixes PR21911, an issue that occurred after the unique_ptr migration in r222193. llvm-svn: 224454
* This test does not pass for -target i686-pc-windows-gnu (-mingw32)Yaron Keren2014-12-171-0/+1
| | | | | | | when clang is built with mingw-w64 4.9.1 or according to http://llvm.org/PR20995 , mingw-w64 4.7.2 as well. llvm-svn: 224453
* Enable the P8Model entryWill Schmidt2014-12-171-1/+1
| | | | | | | | This was missed last time around, for the P8 Instruction Scheduling changes (223257). This will hook the P8Model entry in so those changes will actually be used. llvm-svn: 224452
* Don't build invalid AST nodes during recoveryReid Kleckner2014-12-172-2/+13
| | | | | | | | | | | | | | A DependentScopeDeclRefExpr should always have a nested name specifier. During template instantiation, if we found that the named context was incomplete, we would previously build a DependentScopeDeclRefExpr with an empty qualifier. This error recovery path has been asserting for some time. The other error codepaths use ExprError, so we can do the same. Fixes PR21864. llvm-svn: 224451
* [ASan] Move flag parsing logic to asan_flags.cc. NFC.Alexey Samsonov2014-12-176-277/+309
| | | | llvm-svn: 224450
* Support constant evaluation for member calls on std::initializer_listRichard Smith2014-12-172-0/+6
| | | | | | temporaries. llvm-svn: 224449
* lld self-hosts on FreeBSD tooEd Maste2014-12-171-1/+1
| | | | llvm-svn: 224448
* ExecutionDepsFix: Correctly handle wide registers.Matthias Braun2014-12-171-70/+71
| | | | | | | | | | | | | | The ExecutionDepsFix previously mapped each register to 1 or zero registers of the register class it was called with and therefore simulating liveness for. This was problematic for cases involving wider registers like Q0 on ARM where ExecutionDepsFix gets invoked for the Dxx registers. In these cases the wide register would get mapped to the last matching D register, while it should have been all matching D registers. This commit changes the AliasMap to use a SmallVector to map registers to potentially multiple destination regclass registers. This is required to avoid regressions with subregister liveness tracking enabled. llvm-svn: 224447
* Revert "Fix test cases given Clang's improved location information."David Blaikie2014-12-172-2/+2
| | | | | | | | | The Clang improevments were reverted due to failures created in an asan bootstrap. This reverts commit r224387. llvm-svn: 224446
* Random Number Generator Refactoring (removing from Module)JF Bastien2014-12-174-52/+61
| | | | | | | | | | This patch removes the RNG from Module. Passes should instead create a new RNG for their use as needed. Patch by Stephen Crane @rinon. Differential revision: http://reviews.llvm.org/D4377 llvm-svn: 224444
* Work around an internal compiler error in MSVC.Zachary Turner2014-12-171-1/+3
| | | | | | | | | | | | For some reason MSVC ICEs when trying to index into a map using a temporary object. Work around this by separating out the call into multiple lines. Patch by Aidan Dodds Differential Revision: http://reviews.llvm.org/D6702 Reviewed by: Zachary Turner, Greg Clayton llvm-svn: 224443
* Enhance the Pipe interface for better portability.Zachary Turner2014-12-1710-266/+452
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes a number of improvements to the Pipe interface. 1) An interface (PipeBase) is provided which exposes pure virtual methods for any implementation of Pipe to override. While not strictly necessary, this helps catch errors where the interfaces are out of sync. 2) All methods return lldb_private::Error instead of returning bool or void. This allows richer error information to be propagated up to LLDB. 3) A new ReadWithTimeout() method is exposed in the base class and implemented on Windows. 4) Support for both named and anonymous pipes is exposed through the base interface and implemented on Windows. For creating a new pipe, both named and anonymous pipes are supported, and for opening an existing pipe, only named pipes are supported. New methods described in points #3 and #4 are stubbed out on posix, but fully implemented on Windows. These should be implemented by someone on the linux / mac / bsd side. Reviewed by: Greg Clayton, Oleksiy Vyalov Differential Revision: http://reviews.llvm.org/D6686 llvm-svn: 224442
* Revert "DebugInfo: Generalize debug info location handling"David Blaikie2014-12-1717-101/+195
| | | | | | | | | Fails an ASan bootstrap - I'll try to reproduce locally & sort that out before recommitting. This reverts commit r224385. llvm-svn: 224441
* [NVPTX] Fix bugs related to isSingleValueTypeJingyue Wu2014-12-173-13/+27
| | | | | | | | | | | | | | | | | | | | Summary: With isSingleValueType starting to treat vector types as single-value types, code that uses this interface needs to be updated. Test Plan: vector-global.ll nvcl-param-align.ll Reviewers: jholewinski Reviewed By: jholewinski Subscribers: llvm-commits, meheff, eliben, jholewinski Differential Revision: http://reviews.llvm.org/D6573 llvm-svn: 224440
* Basic: clean up bleeding whitespaceSaleem Abdulrasool2014-12-171-2/+2
| | | | | | Whitespace cleanup. NFC. llvm-svn: 224439
* CodeGen: implement __emit intrinsicSaleem Abdulrasool2014-12-174-0/+49
| | | | | | | | | | | | | | | For MSVC compatibility, add the `__emit' builtin. This is used in the Windows SDK headers, and must therefore be implemented as a builtin rather than an intrinsic. The `__emit' builtin provides a mechanism to emit a 16-bit opcode instruction into the stream. The value must be a compile time constant expression. No guarantees are made about the CPU and memory states after the execution of the instruction. Due to the unchecked nature of the builtin, only support this on Windows on ARM. llvm-svn: 224438
* Fix CR/LF line endings in test caseTimur Iskhodzhanov2014-12-171-83/+83
| | | | llvm-svn: 224437
* Revert r224433, r224371 is good enough for now.Joerg Sonnenberger2014-12-171-2/+1
| | | | llvm-svn: 224435
* Rangify for loop, NFC.Yaron Keren2014-12-171-4/+2
| | | | llvm-svn: 224434
* Disable the keyword-as-macro warning for now until the noise level isJoerg Sonnenberger2014-12-171-1/+2
| | | | | | reduced. llvm-svn: 224433
* ARM: correct an off-by-one in an assertSaleem Abdulrasool2014-12-172-1/+10
| | | | | | | | The assert was off-by-one, resulting in failures for valid input. Thanks to Asiri Rathnayake for pointing out the failure! llvm-svn: 224432
* s/ScheduleKind/SchedKind/ in \param. [-Wdocumentation]NAKAMURA Takumi2014-12-171-1/+1
| | | | llvm-svn: 224431
* Exclude printLineState() in -Asserts. [-Wunused-function]NAKAMURA Takumi2014-12-171-0/+2
| | | | llvm-svn: 224430
* [DAGCombine] Slightly improve lowering of BUILD_VECTOR into a shuffle.Michael Kuperstein2014-12-176-11/+156
| | | | | | | | | | This handles the case of a BUILD_VECTOR being constructed out of elements extracted from a vector twice the size of the result vector. Previously this was always scalarized. Now, we try to construct a shuffle node that feeds on extract_subvectors. This fixes PR15872 and provides a partial fix for PR21711. Differential Revision: http://reviews.llvm.org/D6678 llvm-svn: 224429
* [mips] Always clobber $1 for MIPS inline asm.Toma Tabacu2014-12-175-10/+9
| | | | | | | | | | | | | | | | | | | | Summary: Because GCC doesn't use $1 for code generation, inline assembly code can use $1 without having to add it to the clobbers list. LLVM, on the other hand, does not shy away from using $1, and this can cause conflicts with inline assembly which assumes GCC-like code generation. A solution to this problem is to make Clang automatically clobber $1 for all MIPS inline assembly. This is not the optimal solution, but it seems like a necessary compromise, for now. Reviewers: dsanders Reviewed By: dsanders Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6638 llvm-svn: 224428
* MipsABIInfo class is used in different libraries. Moving the files to ↵Vladimir Medic2014-12-175-2/+2
| | | | | | MCTargetDesc folder(LLVMMipsDesc library) prevents linkage errors. There are no functional changes. llvm-svn: 224427
* Teach compile_commands.json test that windows-gnu is the new name for mingw32.Yaron Keren2014-12-171-1/+1
| | | | llvm-svn: 224426
* [mips] Set GCC-compatible MIPS asssembler options before inline asm blocks.Toma Tabacu2014-12-179-31/+64
| | | | | | | | | | | | | | | | | | | | Summary: When generating MIPS assembly, LLVM always overrides the default assembler options by emitting the '.set noreorder', '.set nomacro' and '.set noat' directives, while GCC uses the default options if an assembly-level function contains inline assembly code. This becomes a problem when the code generated by LLVM is interleaved with inline assembly which assumes GCC-like assembler options (from Linux, for example). This patch fixes these conflicts by setting the appropriate assembler options at the beginning of an inline asm block and popping them at the end. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6637 llvm-svn: 224425
* Revert 224119 "This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders ↵Suyog Sarda2014-12-172-51/+2
| | | | | | | | | | them for bundling into vector of loads, and vectorizes it." This was re-ordering floating point data types resulting in mismatch in output. llvm-svn: 224424
* [msan] Stop calling pthread_getspecific in signal handlers.Evgeniy Stepanov2014-12-172-16/+14
| | | | | | | | | | | pthread_getspecific is not async-signal-safe. MsanThread pointer is now stored in a TLS variable, and the TSD slot is used only for its destructor, and never from a signal handler. This should fix intermittent CHECK failures in MsanTSDSet. llvm-svn: 224423
* tsan: add disabled test case for issue 87Dmitry Vyukov2014-12-171-0/+68
| | | | llvm-svn: 224422
* Teach lit.cfg to recognize -windows-gnu in addition to -mingw32.Yaron Keren2014-12-172-5/+5
| | | | llvm-svn: 224421
* irgen: fix canAvoid*Peter Collingbourne2014-12-172-10/+35
| | | | | | | | | | | | | | | | Patch by Andrew Wilkins! canAvoidElementLoad and canAvoidLoad were incorrectly eliding loads when an index expression is used as an another array index expression. This led to a panic. See comments on https://github.com/go-llvm/llgo/issues/175 Test Plan: lit test added Differential Revision: http://reviews.llvm.org/D6676 llvm-svn: 224420
* clang-format: Fix incorrect calculation of token lenghts.Daniel Jasper2014-12-172-1/+2
| | | | | | This led, e.g. to break JavaScript regex literals too early. llvm-svn: 224419
* Added 5 more tests related to sink store revision 224247Elena Demikhovsky2014-12-175-0/+219
| | | | | | | | - by Ella Bolshinsky http://reviews.llvm.org/D6420 llvm-svn: 224418
* Strength reduce intrinsics with overflow into regular arithmetic operations ↵Erik Eckstein2014-12-174-12/+152
| | | | | | | | | | if possible. Some intrinsics, like s/uadd.with.overflow and umul.with.overflow, are already strength reduced. This change adds other arithmetic intrinsics: s/usub.with.overflow, smul.with.overflow. It completes the work on PR20194. llvm-svn: 224417
* Revert "Linker: Drop superseded subprograms"Duncan P. N. Exon Smith2014-12-173-156/+0
| | | | | | | | | | | | | | This reverts commit r224389. Based on feedback from the bots, the assertion seems to be going off *more* often, not less (previously I was just seeing it in an internal bootstrap, now it's happening in public builds too). http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/936/ http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/5325 Reverting in order to investigate. llvm-svn: 224416
* Add parsing of 'foo@local".Justin Hibbits2014-12-172-0/+3
| | | | | | | | | | | | | | | | | | Summary: Currently, it supports generating, but not parsing, this expression. Test added as well. Test Plan: New test added, no regressions due to this. Reviewers: hfinkel Reviewed By: hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6672 llvm-svn: 224415
* Remove a debugging assert.Rafael Espindola2014-12-171-1/+0
| | | | | | Sorry for the noise, I have no idea how it survived to the final version. llvm-svn: 224414
* Remove unused includes and out of date comment. NFC.Rafael Espindola2014-12-176-6/+0
| | | | llvm-svn: 224413
* Fix the windows build.Rafael Espindola2014-12-171-0/+2
| | | | llvm-svn: 224412
OpenPOWER on IntegriCloud