summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Simplify debug_loc.dwo handling slightly.David Blaikie2014-04-013-8/+3
| | | | llvm-svn: 205322
* InstrProfile: Use SANITIZER_COMMON_LIT_TEST_DEPSDuncan P. N. Exon Smith2014-04-011-2/+2
| | | | | | | | Take advantage of the SANITIZER_COMMON_LIT_TEST_DEPS variable. <rdar://problem/16458307> llvm-svn: 205321
* Delete trivial PHI nodes (aka stack slot sharing)Tobias Grosser2014-04-013-18/+189
| | | | | | | | | | | | | | During code preperation trivial PHI nodes (mainly introduced by lcssa) are deleted to decrease the number of introduced allocas (==> dependences). However simply replacing them by their only incoming value would cause the independent block pass to introduce new allocas. To prevent this we try to share stack slots during code preperarion, hence to reuse a already created alloca 'to demote' the trivial PHI node. This works if we know that the value stored in this alloca will be the incoming value of the trivial PHI at the end of the predecessor block of this trivial PHI. Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de> llvm-svn: 205320
* InstrProf: Turn on test for LinuxDuncan P. N. Exon Smith2014-04-011-2/+1
| | | | | | | | | Enabling test/profile on Linux to get feedback from the buildbots. I'm hoping this just works... <rdar://problem/16458307> llvm-svn: 205319
* InstrProf: Remove LTO dependency from testDuncan P. N. Exon Smith2014-04-011-1/+1
| | | | | | | | | The -flto flag relies on linker features that are not available on all platforms. <rdar://problem/16458307> llvm-svn: 205318
* ARM: rename ARMle/ARMbe with ARMLE/ARMBE, and Thumble/Thumbbe with ↵Christian Pirker2014-04-0110-114/+114
| | | | | | ThumbLE/ThumbBE llvm-svn: 205317
* [tsan] Remove an accidentally committed debug print.Alexander Potapenko2014-04-011-1/+0
| | | | llvm-svn: 205316
* Implement ProcessMonitor::Kill for FreeBSDEd Maste2014-04-013-9/+9
| | | | | | | | | | | | | | | | | On FreeBSD ptrace(PT_KILL) is used to terminate the traced process (as if PT_CONTINUE had been used with SIGKILL as the signal to be delivered), and is the desired behaviour for ProcessPOSIX::DoDestroy. On Linux, after ptrace(PTRACE_KILL) the traced process still exists and can be interrogated. It is only upon resume that it exits as though it received SIGKILL. For now I'm committing only the FreeBSD change, until the Linux change (review D3159) is successfully tested. http://llvm.org/pr18894 llvm-svn: 205315
* ARM: teach LLVM that Cortex-A7 is very similar to A8.Tim Northover2014-04-013-9/+11
| | | | llvm-svn: 205314
* Attempting to fix r205124, which had failed asserts when built with MSVC.Aaron Ballman2014-04-011-1/+1
| | | | | | Suggestion from Yaron Keren. llvm-svn: 205313
* Add support for IEEE754 quad precision comparison functions.Joerg Sonnenberger2014-04-019-0/+955
| | | | | | | | From GuanHong Liu. Differential Revision: http://llvm-reviews.chandlerc.com/D2797 llvm-svn: 205312
* [ASan] Fix Android buildAlexey Samsonov2014-04-011-0/+2
| | | | llvm-svn: 205311
* Add support for dynamic ASan runtime (on Linux) to Clang driver.Alexey Samsonov2014-04-015-26/+90
| | | | | | Based on http://llvm-reviews.chandlerc.com/D3043 by Yuri Gribov! llvm-svn: 205310
* ARM: add cyclone CPU with ZeroCycleZeroing feature.Tim Northover2014-04-016-6/+115
| | | | | | | | The Cyclone CPU is similar to swift for most LLVM purposes, but does have two preferred instructions for zeroing a VFP register. This teaches LLVM about them. llvm-svn: 205309
* [ASan] Optional support for dynamic ASan runtime on Linux.Alexey Samsonov2014-04-0123-24/+345
| | | | | | Based on http://llvm-reviews.chandlerc.com/D3042 by Yuri Gribov! llvm-svn: 205308
* clang-format: Support configurable list of foreach-macros.Daniel Jasper2014-04-017-9/+79
| | | | | | | | This fixes llvm.org/PR17242. Patch by Brian Green, thank you! llvm-svn: 205307
* Add errno import missed in r205246Ed Maste2014-04-011-0/+1
| | | | llvm-svn: 205306
* [mips] Renamed ParseAnyRegisterWithoutDollar to MatchAnyRegisterWithoutDollarDaniel Sanders2014-04-011-8/+14
| | | | | | | | | This is for consistency with other functions. The Parse* functions consume tokens and the Match* functions don't. No functional change. llvm-svn: 205305
* Fixing an MSVC warning about widening the result of a 32-bit shift ↵Aaron Ballman2014-04-011-1/+1
| | | | | | implicitly. No functional change intended. llvm-svn: 205304
* ARM64: add a few bits of polynomial intrinsic codegen.Tim Northover2014-04-013-33/+73
| | | | llvm-svn: 205303
* ARM64: add intrinsic for pmull (p64 x p64 = p128) operations.Tim Northover2014-04-013-2/+31
| | | | llvm-svn: 205302
* Fixing warnings in the MSVC build. No functional changes intended.Aaron Ballman2014-04-015-42/+42
| | | | llvm-svn: 205301
* [TSan] Make this test more portableAlexey Samsonov2014-04-011-2/+2
| | | | llvm-svn: 205300
* [sanitizer] one more stress test for the deadlock detector; this one ↵Kostya Serebryany2014-04-011-4/+29
| | | | | | stresses the slow path with a global lock llvm-svn: 205299
* [mips] Extend ParseJumpTarget to support the full symbol expression syntax.Daniel Sanders2014-04-012-27/+20
| | | | | | | | | | | | | | | | Summary: This should fix the issues the D3222 caused in lld. Testcase is based on the one that failed in the buildbot. Depends on D3233 Reviewers: matheusalmeida, vmedic Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3234 llvm-svn: 205298
* [mips] Use AsmLexer::peekTok() to resolve the conflict between $reg and $symDaniel Sanders2014-04-011-15/+10
| | | | | | | | | | | | | | | Summary: Parsing registers no longer consume the $ token before it's confirmed whether it really has a register or not, therefore it's no longer impossible to match symbols if registers were tried first. Depends on D3232 Reviewers: matheusalmeida, vmedic Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3233 llvm-svn: 205297
* ARM64: add missing ldN/stN intrinsics and enable tests.Tim Northover2014-04-012-374/+352
| | | | llvm-svn: 205296
* [mips] Hoist Parser.Lex() calls out of MatchAnyRegisterNameWithoutDollar()Daniel Sanders2014-04-011-9/+8
| | | | | | | | | | | | | | | Summary: No functional change Depends on D3222 Reviewers: matheusalmeida, vmedic Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3232 llvm-svn: 205295
* ARM64: add patterns for more lane-wise ld1/st1 operations.Tim Northover2014-04-014-139/+268
| | | | llvm-svn: 205294
* ARM64: fix bug in ld3r (1d) SelectionDAG.Tim Northover2014-04-012-1/+32
| | | | llvm-svn: 205293
* [mips] Rewrite MipsAsmParser and MipsOperand.Daniel Sanders2014-04-0123-1069/+929
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Highlights: - Registers are resolved much later (by the render method). Prior to that point, GPR32's/GPR64's are GPR's regardless of register size. Similarly FGR32's/FGR64's/AFGR64's are FGR's regardless of register size or FR mode. Numeric registers can be anything. - All registers are parsed the same way everywhere (even when handling symbol aliasing) - One consequence is that all registers can be specified numerically almost anywhere (e.g. $fccX, $wX). The exception is symbol aliasing but that can be easily resolved. - Removes the need for the hasConsumedDollar hack - Parenthesis and Bracket suffixes are handled generically - Micromips instructions are parsed directly instead of going through the standard encodings first. - rdhwr accepts all 32 registers, and the following instructions that previously xfailed now work: ddiv, ddivu, div, divu, cvt.l.[ds], se[bh], wsbh, floor.w.[ds], c.ngl.d, c.sf.s, dsbh, dshd, madd.s, msub.s, nmadd.s, nmsub.s, swxc1 - Diagnostics involving registers point at the correct character (the $) - There's only one kind of immediate in MipsOperand. LSA immediates are handled by the predicate and renderer. Lowlights: - Hardcoded '$zero' in the div patterns is handled with a hack. MipsOperand::isReg() will return true for a k_RegisterIndex token with Index == 0 and getReg() will return ZERO for this case. Note that it doesn't return ZERO_64 on isGP64() targets. - I haven't cleaned up all of the now-unused functions. Some more of the generic parser could be removed too (integers and relocs for example). - insve.df needed a custom decoder to handle the implicit fourth operand that was needed to make it parse correctly. The difficulty was that the matcher expected a Token<'0'> but gets an Imm<0>. Adding an implicit zero solved this. Reviewers: matheusalmeida, vmedic Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3222 llvm-svn: 205292
* Add FreeBSD support to sanitizers' procmaps facilitiesViktor Kutuzov2014-04-011-14/+63
| | | | llvm-svn: 205291
* Fix definition of the __sanitizer_passwd structure on FreeBSDViktor Kutuzov2014-04-011-2/+5
| | | | llvm-svn: 205290
* Recover TableGen/LangRef, make it officialRenato Golin2014-04-015-1307/+911
| | | | | | | | | | | | | Making the new TableGen documentation official and marking the old file as "Moved". Also, reverting the original LangRef as the normative formal description of the language, while keeping the "new" LangRef as LangIntro for the less inlcined to reading language grammars. We should remove TableGenFundamentals.rst one day, but for now, just a warning that it moved will have to do, while we make sure there are no more links to it from elsewhere. llvm-svn: 205289
* [x86] Do not convert to cmp32 for Atom arch by Sergey OkunevAlexey Volkov2014-04-012-4/+42
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D2824 llvm-svn: 205288
* DebugInfo: Avoid creating unnecessary/empty line tables and remove the ↵David Blaikie2014-04-0111-29/+32
| | | | | | | | | | | | special case of '0' in DwarfCompileUnit::initStmtList by just always using a label difference This moves one case of raw text checking down into the MCStreamer interfaces in the form of a virtual function, even if we ultimately end up consolidating on the one-or-many line tables issue one day, this is nicer in the interim. This just generally streamlines a bunch of use cases into a common code path. llvm-svn: 205287
* DebugInfo: Emit relocation to debug_line section when emitting asm for asmDavid Blaikie2014-04-016-36/+68
| | | | | | | | | | | | | | I don't think this is reachable by any frontend (why would you transform asm to asm+debug info?) but it helps tidy up some of this code, avoid the weird special case of "emit the first CU, store the label, then emit the rest" in MCDwarfLineTable::Emit by instead having the DWARF-for-assembly case use the same codepath as DwarfDebug.cpp, by registering the label of the debug_line section, thus causing it to be emitted. (with a special case in asm output to just emit the label since asm output uses the .loc directives, etc, rather than the debug_loc directly) llvm-svn: 205286
* Add defensive check that argument may be null in call to ↵Ted Kremenek2014-04-011-1/+1
| | | | | | | | | | | compareConversionFunctions() on incorrect code. I'm looking into getting a reduced test case, but it's not immediately available. Fixes <rdar://problem/16344806> llvm-svn: 205285
* [PECOFF] Make PECOFFFileNode::parse idempotent.Rui Ueyama2014-04-012-1/+7
| | | | | | | | PECOFFFileNode::parse can be called twice -- once by WinLink driver and once more by Driver. We want to make sure that the second call won't mess up the internal data. llvm-svn: 205284
* [PECOFF] Treat .imp as an import library file.Rui Ueyama2014-04-013-3/+9
| | | | | | | | | | | | Some Clang build uses .imp not .lib file extension for an import library file, so we need to treat such file as a library file. Ideally we should not rely on file extensions to detect file type. Instead we should use magic bytes at beginning of a file. The GNU-compatible driver actually does that but it made writing unit tests hard, so I chose an ad-hoc approach for now. llvm-svn: 205283
* MS ABI: Support mangling of return-types deducing to local typesDavid Majnemer2014-04-012-3/+44
| | | | | | | | | | | | | | | | | | The MS ABI forces us into catch-22 when it comes to functions which return types which are local: - A function is mangled with it's return type. - A type is mangled with it's surrounding context. Avoid this by mangling auto and decltype(autp) directly into the function's return type. Using this mangling has the double advantage of being compatible with the C++ standard without crashing the compiler. N.B. For the curious, the MSVC mangling leads to collisions amongst template functions and either crashes when faced with local types or is otherwise incapable of returning them. llvm-svn: 205282
* Remove FIXMEs. The scope of a Variable is always a lexical scope; there isAdrian Prantl2014-04-011-2/+0
| | | | | | nothing to be gained from switching this over to a DIScopeRef. llvm-svn: 205281
* [core] support .gnu.linkonce sectionsShankar Easwaran2014-04-0111-11/+603
| | | | | | | | | | | | | | | | | | .gnu.linkonce sections are similar to section groups. They were supported before section groups existed and provided a way to resolve COMDAT sections using a different design. There are few implementations that use .gnu.linkonce sections to store simple floating point constants which doesnot require complex section group support but need a way to store only one copy of the floating point constant in a binary. .gnu.linkonce based symbol resolution achieves that. Review : http://llvm-reviews.chandlerc.com/D3242 llvm-svn: 205280
* LTO type uniquing: store the Decl field of a DIImportedEntity as a DIRef.Adrian Prantl2014-04-015-7/+7
| | | | | | | | | | No other functionality changes, DIBuilder testcase is included in a paired CFE commit. This relaxes the assertion in isScopeRef to also accept subclasses of DIScope. llvm-svn: 205279
* Adapt CGDebugInfo to interface changes in DIBuilder/DIImportedEntity.Adrian Prantl2014-04-013-8/+8
| | | | | | | The Decl field in a DIImportedEntity is now a DIRef. Paired commit with LLVM. llvm-svn: 205278
* Add a comment about type-uniquing ObjC types.Adrian Prantl2014-04-011-0/+2
| | | | llvm-svn: 205277
* [analyzer] Lock checker: Allow pthread_mutex_init to reinitialize a ↵Jordan Rose2014-04-012-0/+106
| | | | | | | | destroyed lock. Patch by Daniel Fahlgren! llvm-svn: 205276
* [analyzer] Lock checker: make sure locks aren't used after being destroyed.Jordan Rose2014-04-012-29/+221
| | | | | | Patch by Daniel Fahlgren! llvm-svn: 205275
* [analyzer] Add double-unlock detection to PthreadLockChecker.Jordan Rose2014-04-012-17/+132
| | | | | | | | | We've decided to punt on supporting recursive locks for now; the common case is non-recursive. Patch by Daniel Fahlgren! llvm-svn: 205274
* Add failing testcase for DR305. Looks like we didn't implement the resolutionRichard Smith2014-04-012-3/+22
| | | | | | here in the simple-template-id case. llvm-svn: 205273
OpenPOWER on IntegriCloud