summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Have MachineFunction cache a pointer to the subtarget to make lookupsEric Christopher2014-08-05136-739/+491
| | | | | | | | | | | shorter/easier and have the DAG use that to do the same lookup. This can be used in the future for TargetMachine based caching lookups from the MachineFunction easily. Update the MIPS subtarget switching machinery to update this pointer at the same time it runs. llvm-svn: 214838
* If you found a step through plan stop looking up the stack for a step out plan.Jim Ingham2014-08-051-0/+3
| | | | llvm-svn: 214837
* Add some useful logging to the step log.Jim Ingham2014-08-051-1/+1
| | | | llvm-svn: 214836
* [PECOFF] addDeadStripRoot is not thread-safe.Rui Ueyama2014-08-051-8/+14
| | | | llvm-svn: 214835
* dit pointed out on IRC that '__i = _VSTD::next(__i)' was a very long-winded ↵Marshall Clow2014-08-051-29/+49
| | | | | | way of writing '++__i'. Since I hate being thought of as long-winded (this checkin comment notwithstanding), I fixed it. No functionality change. llvm-svn: 214834
* [UBSan] Allow to suppress reports from vptr checker for specified types.Alexey Samsonov2014-08-058-12/+64
| | | | | | Based on http://reviews.llvm.org/D4702 by Byoungyoung Lee! llvm-svn: 214833
* MachineCombiner Pass for selecting faster instructionGerolf Hoflehner2014-08-057-20/+561
| | | | | | | | | | | sequence on AArch64 Re-commit of r214669 without changes to test cases LLVM::CodeGen/AArch64/arm64-neon-mul-div.ll and LLVM:: CodeGen/AArch64/dp-3source.ll This resolves the reported compfails of the original commit. llvm-svn: 214832
* [Sanitizer] Turn SuppressionContext::Init() into InitIfNecessary().Alexey Samsonov2014-08-054-7/+17
| | | | | | | Suppression context might be used in multiple sanitizers working simultaneously (e.g. LSan and UBSan) and not knowing about each other. llvm-svn: 214831
* ReleaseNotes: add blurb about Windows supportHans Wennborg2014-08-051-0/+15
| | | | llvm-svn: 214830
* CodeGenObjCXX: Add a test for r214699David Majnemer2014-08-051-0/+22
| | | | | | I forgot to add this with the changes for r214699. llvm-svn: 214829
* MS ABI: Aligned tentative definitions don't have CommonLinkageDavid Majnemer2014-08-052-2/+25
| | | | | | | int __declspec(align(16)) foo; is a tentative definition but the storage for that variable should not have CommonLinkage. llvm-svn: 214828
* Add TCR register accessJoerg Sonnenberger2014-08-042-0/+10
| | | | llvm-svn: 214826
* Add PPC 603's tlbld and tlbli instructions.Joerg Sonnenberger2014-08-043-0/+18
| | | | llvm-svn: 214825
* [PECOFF] Fix /include option in .drectve section.Rui Ueyama2014-08-045-7/+86
| | | | | | | | | | | | | | | | | | | | | | | /INCLUDE arguments passed as command line options are handled in the same way as Unix -u. All option values are converted to an undefined symbol and added to a dummy input file, so that the specified symbols are resolved. One tricky thing on Windows is that the option is also allowed to appear in the object file's directive section. At the time when it's being read, all (regular) command line options have already been processed. We cannot add undefined atoms to the dummy file anymore. Previously, we added such /INCLUDE to a set that has already been processed. As a result the options were ignored. This patch fixes the issue. Now, /INCLUDE symbols in the directive section are handled as real undefined symbol in the COFF file. We create an undefined symbol for each /INCLUDE argument and add it to the file being parsed. llvm-svn: 214824
* Teach ProcessWindows plugin to support stdio i/o redirection.Zachary Turner2014-08-041-11/+61
| | | | llvm-svn: 214816
* Allow CP10/CP11 operations on ARMv5/v6Renato Golin2014-08-041-3/+7
| | | | | | | | | | | Those registers are VFP/NEON and vector instructions should be used instead, but old cores rely on those co-processors to enable VFP unwinding. This change was prompted by the libc++abi's unwinding routine and is also present in many legacy low-level bare-metal code that we ought to compile/assemble. Fixing bug PR20025 and allowing PR20529 to proceed with a fix in libc++abi. llvm-svn: 214802
* [PPC64LE] Fix wrong IR for vec_sld and vec_vsldoiBill Schmidt2014-08-042-142/+4
| | | | | | | | | | | | | | | | | | | | My original LE implementation of the vsldoi instruction, with its altivec.h interfaces vec_sld and vec_vsldoi, produces incorrect shufflevector operations in the LLVM IR. Correct code is generated because the back end handles the incorrect shufflevector in a consistent manner. This patch and a companion patch for LLVM correct this problem by removing the fixup from altivec.h and the corresponding fixup from the PowerPC back end. Several test cases are also modified to reflect the now-correct LLVM IR. The vec_sums and vec_vsumsws interfaces in altivec.h are also fixed, because they used vec_perm calls intended to be recognized as vsldoi instructions. These vec_perm calls are now replaced with code that more clearly shows the intent of the transformation. llvm-svn: 214801
* [PPC64LE] Fix wrong IR for vec_sld and vec_vsldoiBill Schmidt2014-08-042-32/+14
| | | | | | | | | | | | | | | My original LE implementation of the vsldoi instruction, with its altivec.h interfaces vec_sld and vec_vsldoi, produces incorrect shufflevector operations in the LLVM IR. Correct code is generated because the back end handles the incorrect shufflevector in a consistent manner. This patch and a companion patch for Clang correct this problem by removing the fixup from altivec.h and the corresponding fixup from the PowerPC back end. Several test cases are also modified to reflect the now-correct LLVM IR. llvm-svn: 214800
* Enable Darwin vararg parameters support in assembler macros.Kevin Enderby2014-08-042-6/+88
| | | | | | | | | Duplicate the vararg tests for linux and add a tests which mixed vararg arguments with darwin positional parameters. Patch by: Janne Grunau <j@jannau.net> llvm-svn: 214799
* Changed the liveness tracking in the RegisterScavengerPedro Artigas2014-08-048-113/+115
| | | | | | | | to use register units instead of registers. reviewed by Jakob Stoklund Olesen. llvm-svn: 214798
* Add simplified aliases for access to DCCR, ICCR, DEAR and ESRJoerg Sonnenberger2014-08-042-0/+40
| | | | llvm-svn: 214797
* ThreadSafety.cpp: Prune bogus \param(s). [-Wdocumentation]NAKAMURA Takumi2014-08-041-3/+0
| | | | llvm-svn: 214796
* ThreadSafetyAnalysis: Fix annotations in class members. [-Wdocumentation]NAKAMURA Takumi2014-08-042-7/+7
| | | | llvm-svn: 214795
* clang/test/Sema/struct-packed-align.c: Add the case in MS mode that ↵NAKAMURA Takumi2014-08-041-4/+6
| | | | | | | | | | alignment doesn't affect packing. Also, revert a couple of suppressions. r214298, "Suppress clang/test/Sema/struct-packed-align.c for targeting LLP64." r214301, "Suppress clang/test/Sema/struct-packed-align.c also on msvc for investigating." llvm-svn: 214794
* Trailing linefeed.NAKAMURA Takumi2014-08-041-4/+0
| | | | llvm-svn: 214793
* Remove separator parameter from static local naming codeReid Kleckner2014-08-042-8/+5
| | | | | | It was always set to ".", which was duplicated in a few places. llvm-svn: 214792
* [PECOFF] Remove unused paraemter.Rui Ueyama2014-08-041-3/+2
| | | | llvm-svn: 214791
* Fix SmallDenseMap assignment operator.Andrew Trick2014-08-042-2/+10
| | | | | | Self assignment would lead to buckets of garbage, causing quadratic probing to hang. llvm-svn: 214790
* Thread Safety Analysis: add a -Wthread-safety-negative flag that warns wheneverDeLesley Hutchins2014-08-048-39/+228
| | | | | | | a mutex is acquired, but corresponding mutex is not provably not-held. This is based on the earlier negative requirements patch. llvm-svn: 214789
* [FastISel][AArch64] Fix shift lowering for i8 and i16 value types.Juergen Ributzka2014-08-042-21/+29
| | | | | | | | | | | | | | | This fix changes the parameters #r and #s that are passed to the UBFM/SBFM instruction to get the zero/sign-extension for free. The original problem was that the shift left would use the 32-bit shift even for i8/i16 value types, which could leave the upper bits set with "garbage" values. The arithmetic shift right on the other side would use the wrong MSB as sign-bit to determine what bits to shift into the value. This fixes <rdar://problem/17907720>. llvm-svn: 214788
* IR: Fix up doxygen comment for LLVMContext::diagnoseJustin Bogner2014-08-041-5/+7
| | | | | | | | This comment was referring to the DiagnosticSeverity with RS_ prefixes, but they're actually DS_. I've also modernized the comment style since I was changing it anyway. llvm-svn: 214787
* Update for LLVM API change.Eric Christopher2014-08-041-2/+4
| | | | llvm-svn: 214786
* [SDAG] Fix a really, really terrible bug in the DAG combiner.Chandler Carruth2014-08-042-3/+39
| | | | | | | | | | | | | | | This code is completely wrong. It is also dead, as if it were to *ever* run, it would crash. Fortunately, after my work to the combiner, it is at least *possible* to reach the code, and llvm-stress has found a test case. Thanks to Patrick for reporting. It would be really good if anyone who remembers how this code works and what it was intended to do could add some more obvious test coverage instead of my completely contrived and reduced test case. My test case was so brittle I left a bread crumb comment in it to help the next person to stumble on it and not know what it was actually testing for. llvm-svn: 214785
* tlbre / tlbwe / tlbsx / tlbsx. variants for the PPC 4xx CPUs.Joerg Sonnenberger2014-08-044-0/+87
| | | | llvm-svn: 214784
* Add code to AssemblyParse_x86::get_non_call_site_unwind_planJason Molenda2014-08-041-6/+24
| | | | | | | | to recognize an epilogue that ends with a jmp to objc_retainAutoreleaseReturnValue instead of a ret instruction. <rdar://problem/17889928> llvm-svn: 214783
* Reorder to keep data and routines separate and to keep a couple ofEric Christopher2014-08-041-8/+8
| | | | | | similar routines close to each other. llvm-svn: 214782
* Remove the TargetMachine forwards for TargetSubtargetInfo basedEric Christopher2014-08-04297-1722/+2216
| | | | | | information and update all callers. No functional change. llvm-svn: 214781
* Reimplement the temporary non-const getSubtargetImpl routine soEric Christopher2014-08-041-1/+4
| | | | | | | that we can avoid implementing it on every target. Thanks to Richard Smith for the suggestions! llvm-svn: 214780
* [AArch64] Extend the number of scalar instructions supported in the AdvSIMDChad Rosier2014-08-042-0/+47
| | | | | | | | | scalar integer instruction pass. This is a patch I had lying around from a few months ago. The pass is currently disabled by default, so nothing to interesting. llvm-svn: 214779
* UsersManual: update clang-cl optionsHans Wennborg2014-08-041-49/+88
| | | | llvm-svn: 214777
* MC uses .lcomm now, so adjust.Joerg Sonnenberger2014-08-042-6/+3
| | | | llvm-svn: 214776
* Fix failure to invoke exception handler on Win64Reid Kleckner2014-08-044-0/+113
| | | | | | | | | | | | | When the last instruction prior to a function epilogue is a call, we need to emit a nop so that the return address is not in the epilogue IP range. This is consistent with MSVC's behavior, and may be a workaround for a bug in the Win64 unwinder. Differential Revision: http://reviews.llvm.org/D4751 Patch by Vadim Chugunov! llvm-svn: 214775
* Don't drop dllimport from qualified friend redeclarations (PR20512)Hans Wennborg2014-08-043-4/+29
| | | | | | | | | | This matches MSVC's logic, which seems to be that when the friend declaration is qualified, it cannot be a declaration of a new symbol and so the dll linkage doesn't change. Differential Revision: http://reviews.llvm.org/D4764 llvm-svn: 214774
* Nit picky const-correctness with auto. No functional changes.Aaron Ballman2014-08-041-2/+2
| | | | llvm-svn: 214773
* Correct the emission kind constants committed in r214771David Blaikie2014-08-041-1/+1
| | | | llvm-svn: 214772
* Document the "emission kind" field of the DICompileUnit in LLVM's Source ↵David Blaikie2014-08-041-0/+3
| | | | | | Level Debugging metadata. llvm-svn: 214771
* A static_assert declaration cannot be a template; adding the diagnostic for ↵Aaron Ballman2014-08-044-3/+23
| | | | | | this instead of silently accepting and producing possibly-unexpected behavior. llvm-svn: 214770
* Recognize mftbl as alias for mftb, for symmetry with mttb.Joerg Sonnenberger2014-08-042-0/+4
| | | | llvm-svn: 214769
* Fix typo.Dan Albert2014-08-041-1/+1
| | | | llvm-svn: 214768
* Add a sentence that all entries should include an email address.Joerg Sonnenberger2014-08-041-1/+5
| | | | | | | Add one for Greg Clayton, Peter Collingbourne, Tobias Grosser and Jakob Olesen based on recent commits. llvm-svn: 214762
OpenPOWER on IntegriCloud