summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AMDGPU: Cost model for basic integer operationsMatt Arsenault2016-03-257-0/+474
| | | | | | | This resolves bug 21148 by preventing promotion to i64 induction variables. llvm-svn: 264376
* X86: Use push-pop for materializing 8-bit immediates for minsize (take 2)Hans Wennborg2016-03-2510-106/+310
| | | | | | | | | This is the same as r255936, with added logic for avoiding clobbering of the red zone (PR26023). Differential Revision: http://reviews.llvm.org/D18246 llvm-svn: 264375
* AMDGPU: Partially implement getArithmeticInstrCost for FP opsMatt Arsenault2016-03-256-1/+452
| | | | llvm-svn: 264374
* IR: Stop upgrading !llvm.loop attachments via MDStringDuncan P. N. Exon Smith2016-03-256-55/+93
| | | | | | | | | | | | Remove logic to upgrade !llvm.loop by changing the MDString tag directly. This old logic would check (and change) arbitrary strings that had nothing to do with loop metadata. Instead, check !llvm.loop attachments directly, and change which strings get attached. Rather than updating the assembly-based upgrade, drop it entirely. It has been quite a while since we supported upgrading textual IR. llvm-svn: 264373
* CGLoopInfo: Use the MD_loop metadata kind from r264371, NFCDuncan P. N. Exon Smith2016-03-251-1/+1
| | | | | | | Besides a small compile-time speedup, there should be no real functionality change here. llvm-svn: 264372
* IR: Reserve an MDKind for !llvm.loop; NFCDuncan P. N. Exon Smith2016-03-254-25/+29
| | | | | | | | | | This reserves an MDKind for !llvm.loop, which allows callers to avoid a string-based lookup. I'm not sure why it was missing. There should be no functionality change here, just a small compile-time speedup. llvm-svn: 264371
* ARM: fix optimised division on WoASaleem Abdulrasool2016-03-252-3/+33
| | | | | | | | | We did not have an explicit branch to the continuation BB. When the check was hoisted, this could permit control follow to fall through into the division trap. Add the explicit branch to the continuation basic block to ensure that code execution is correct. llvm-svn: 264370
* TTI: Report 0 cost for free addrspacecastsMatt Arsenault2016-03-252-0/+50
| | | | llvm-svn: 264369
* TTI: Use 0 for cost of fabs if freeMatt Arsenault2016-03-252-0/+102
| | | | | | | Ideally this would also happen for fneg, but that isn't a distinct operation in the IR. llvm-svn: 264368
* 3rd attempt of fixup with -std=c++11NAKAMURA Takumi2016-03-251-1/+1
| | | | llvm-svn: 264367
* Debug Info: Add a testcase for the bug introduced by r259975.Adrian Prantl2016-03-251-0/+6
| | | | | | | | | | | In r259975 we rauw'ed the scope of enum declarations without taking into account that DIBuilder strips out scope references that point to the DICompileUnit to facilitate type uniquing. This testcase guards against making the same mistake again. <rdar://problem/25078246> llvm-svn: 264366
* Fixup -- "-target x86_64-unknown -fno-ms-compatibility" didn't work as expected.NAKAMURA Takumi2016-03-251-1/+1
| | | | llvm-svn: 264365
* AMDGPU: TTI: Make insertelement free.Matt Arsenault2016-03-252-0/+42
| | | | | | We don't want to have a cost to scalarizing operations. llvm-svn: 264364
* Fix nondeterminism in computation of builtin operator overload sets.Richard Smith2016-03-252-7/+45
| | | | llvm-svn: 264363
* clang-tools-extra/test/clang-tidy/readability-redundant-string-cstr.cpp: ↵NAKAMURA Takumi2016-03-251-1/+1
| | | | | | | Appease MS targets with -fno-ms-compatibility. FIXME: Add a test with -fms-compatibility. llvm-svn: 264362
* Ignore global constructor warning in clang.Greg Clayton2016-03-241-0/+4
| | | | llvm-svn: 264361
* Try to fix ODR violation of ErrorInfo::IDReid Kleckner2016-03-244-13/+22
| | | | | | This implements my suggestion to Lang. llvm-svn: 264360
* [modules] Store offset to LOCAL_REDECLARATIONS record relative to the currentRichard Smith2016-03-242-6/+13
| | | | | | | | record rather than relative to the start of the bitcode file. Saves a couple of bytes per LOCAL_REDECLARATIONS record (also makes diffs of llvm-bcanalyzer output more useful when tracking down nondeterminism...). llvm-svn: 264359
* CXX TLS: collect return blocks after SelectAllBasicBlocks.Manman Ren2016-03-242-7/+31
| | | | | | | | | | It is incorrect to get the corresponding MBB for a ReturnInst before SelectAllBasicBlocks since SelectAllBasicBlocks can change the correspondence between a ReturnInst and the MBB it is in. PR27062 llvm-svn: 264358
* Add utility script to generate checks for opt or llc regression testsSanjay Patel2016-03-241-0/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an enhancement of the existing update_llc_test_checks.py script. It adds some of the functionality from the script used in D17999 to make the IR checking more flexible. The bad news: This actually is 'My First Python Program'. Thus, it's likely that I have violated all best practices of Python programming if I've made a functional change from the original program. If you see anything that's obviously wrong, please let me know or feel free to fix it. I didn't even read any documentation... The good news: I tested this on ~10 existing opt/llc regression tests, and it does what I hoped for. It produces exact checking for IR regression tests and doesn't signficantly change the existing llc-with-x86-target asm checking. The opt tests that were modified in r263667, r263668, r263674, and r263679 are examples of the expected results, except that this version of the script puts the check lines ahead of the IR to follow the existing llc/asm behavior. If there are no complaints/fallout, we should be able to remove the original script. Extending this script to be used for non-x86 and clang regression tests would be the expected follow-up steps. llvm-svn: 264357
* Make it possible for language plugins to provide additional custom help for ↵Enrico Granata2016-03-243-2/+37
| | | | | | 'type lookup' llvm-svn: 264356
* Reduce code duplication by extracting out a helper function; NFCSanjoy Das2016-03-242-30/+21
| | | | llvm-svn: 264355
* Lower varargs correctly in deopt bundle loweringSanjoy Das2016-03-242-0/+18
| | | | | | | Earlier we were ignoring varargs in LowerCallSiteWithDeoptBundle because populateCallLoweringInfo does not set CallLoweringInfo::IsVarArg. llvm-svn: 264354
* Update the INFOPLIST_FILE setting in the xcode project fileJason Molenda2016-03-242-5/+5
| | | | | | | | so that the lldb command line binary's version #'s are updated correctly. <rdar://problem/25346711> llvm-svn: 264353
* Fix typo: XDS -> XDGSean Silva2016-03-241-3/+3
| | | | | | Patch by Robert Ma <bob1211@gmail.com>! llvm-svn: 264352
* Make File option flags consistent for Python APIStephane Sezer2016-03-243-3/+46
| | | | | | | | | | | | | | | | | | Summary: Fixes SBCommandReturnObject::SetImmediateOutputFile() and SBCommandReturnObject::SetImmediateOutputFile() for files opened with "a" or "a+" by resolving inconsistencies between File and our Python parsing of file objects. Reviewers: granata.enrico, Eugene.Zelenko, jingham, clayborg Subscribers: lldb-commits, sas Differential Revision: http://reviews.llvm.org/D18228 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 264351
* llvm-dwp: Coalesce code for reading the CU's DW_AT_GNU_dwo_id and DW_AT_nameDavid Blaikie2016-03-242-53/+38
| | | | | | | | Going to be reading the DW_AT_GNU_dwo_name shortly as well, and there was already enough duplication here that it was worth refactoring rather than adding even more. llvm-svn: 264350
* [sancov] renaming statistics fields.Mike Aizatsky2016-03-242-8/+8
| | | | llvm-svn: 264349
* Get rid of a global constructor and also make this code safe to use after ↵Greg Clayton2016-03-241-14/+30
| | | | | | the global destructor chain has been run on the main thread. llvm-svn: 264348
* Get rid of two global constructors by making things static variables in the ↵Greg Clayton2016-03-242-9/+8
| | | | | | only function that uses these variables. llvm-svn: 264347
* Get rid of a global constructor that was causing a warning on MacOSX and ↵Greg Clayton2016-03-242-4/+14
| | | | | | make the Timer safe to use after the main threads global destructor chain is called. llvm-svn: 264346
* LiveInterval: Fix Distribute() failing on liveranges with unused VNInfosMatthias Braun2016-03-242-8/+66
| | | | | | This fixes http://llvm.org/PR26991 llvm-svn: 264345
* [LoopStrengthReduce] Don't hoist into a catchswitchDavid Majnemer2016-03-242-1/+56
| | | | | | | | We try to hoist the insertion point as high as possible to encourage sharing. However, we must be careful not to hoist into a catchswitch as it is both an EHPad and a terminator. llvm-svn: 264344
* Make 'type lookup' print an error message instead of complete radio silence ↵Enrico Granata2016-03-242-0/+4
| | | | | | | | when it can't find a type matching user input It would be fun to make it provide suggestions (e.g. 'can't find NString, did you mean NSString instead?'), but this worries me a little bit on the account of just how thorough of a type system scan it would have to do llvm-svn: 264343
* Attach profile summary information to Module.Easwaran Raman2016-03-243-0/+52
| | | | | | Differential Revision: http://reviews.llvm.org/D18289 llvm-svn: 264342
* [Support] Add ErrorInfo::ID static member definition.Lang Hames2016-03-241-0/+3
| | | | | | Somehow this got dropped in an earlier patch. llvm-svn: 264341
* Finish the incomplete 'd' inline asm constraint support for PPC byEric Christopher2016-03-242-1/+36
| | | | | | making sure we give it a register and mark it as a register constraint. llvm-svn: 264340
* Reorder check lines, comments in test and remove unnecessary IR.Eric Christopher2016-03-241-17/+15
| | | | llvm-svn: 264339
* [libFuzzer] handle SIGTERMKostya Serebryany2016-03-244-0/+4
| | | | llvm-svn: 264338
* Match call and target calling conventions in testSanjoy Das2016-03-241-3/+4
| | | | | | Fixes an issue in rL264329. llvm-svn: 264337
* [sancov] adding leading zeros to coverage pct.Mike Aizatsky2016-03-241-2/+18
| | | | | | | | | | Summary: Using leading zeroes allows you to search for "000%" to find non-covered items. Differential Revision: http://reviews.llvm.org/D18420 llvm-svn: 264336
* Add <atomic> to ThreadPool.h, since std::atomic is usedDimitry Andric2016-03-241-0/+1
| | | | | | | | | | | | | | | | | | | Summary: Apparently, when compiling with gcc 5.3.2 for powerpc64, the order of headers is such that it gets an error about std::atomic<> use in ThreadPool.h, since this header is not included explicitly. See also: https://llvm.org/bugs/show_bug.cgi?id=27058 Fix this by including <atomic>. Patch by Bryan Drewery. Reviewers: chandlerc, joker.eph Subscribers: bdrewery, llvm-commits Differential Revision: http://reviews.llvm.org/D18460 llvm-svn: 264335
* Revert "Recommitted r263424 "Supporting all entities declared in lexical ↵Reid Kleckner2016-03-2421-916/+91
| | | | | | | | | | | scope in LLVM debug info." After fixing PR26942 (the fix is included in this commit)." This reverts commit r264280. This broke building Chromium for iOS. We'll upload a reproducer to the PR soon. llvm-svn: 264334
* Revert "Recommitted r263425 "Supporting all entities declared in lexical ↵Reid Kleckner2016-03-245-92/+20
| | | | | | | | | | | scope in LLVM debug info." After fixing PR26942 (the fix is included in this commit)." This reverts commit r264281. This change breaks building Chromium for iOS. We'll upload a reproducer to the PR soon. llvm-svn: 264333
* Fix for missing prompt on WindowsTed Woodward2016-03-241-0/+23
| | | | | | | | | | | | Summary: On Windows (and possibly other hosts with LLDB_DISABLE_LIBEDIT defined), the (lldb) prompt won't print after async output, like from a breakpoint hit or a step. This patch forces the prompt to be printed out after async output. Reviewers: zturner, clayborg Subscribers: amccarth, lldb-commits Differential Revision: http://reviews.llvm.org/D18335 llvm-svn: 264332
* [Hexagon] Be sure to treat subregisters of a CSR as CSRs as wellKrzysztof Parzyszek2016-03-241-5/+8
| | | | llvm-svn: 264331
* [ADT] C++11ify SmallVector::erase's arguments from iterator to const_iteratorDavid Blaikie2016-03-242-4/+14
| | | | llvm-svn: 264330
* Add lowering support for llvm.experimental.deoptimizeSanjoy Das2016-03-247-2/+137
| | | | | | | | | | | | | | | Summary: Only adds support for "naked" calls to llvm.experimental.deoptimize. Support for round-tripping through RewriteStatepointsForGC will come as a separate patch (should be simpler than this one). Reviewers: reames Subscribers: sanjoy, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D18429 llvm-svn: 264329
* [Hexagon] Add support for run-time stack overflow checkingKrzysztof Parzyszek2016-03-245-13/+108
| | | | | | Patch by Sundeep Kushwaha. llvm-svn: 264328
* [asan] Intercept all Heap* related imports from ucrtbase.dllReid Kleckner2016-03-245-23/+171
| | | | | | | | | | | | | | | | | | | | | | ucrtbase.dll appears to be built with some kind of cross-module inlining, because there are calls to imported Heap* routines sprinkled throughout the code. This inlining defeats our attempts to hotpatch malloc, _malloc_base, and related functions. Failing to intercept an allocation or deallocation results in a crash when the program attempts to deallocate or reallocate memory with the wrong allocator. This change patches the IAT of ucrtbase.dll to replace the addresses of the imported Heap* functions with implementations provided by ASan. We don't globally intercept the win32 Heap* functions because they are typically used by system DLLs that run before ASan initializes. Eventually, we may want to intercept them, but for now I think this is the minimal change that will keep ASan stable. Reviewers: samsonov Differential Revision: http://reviews.llvm.org/D18413 llvm-svn: 264327
OpenPOWER on IntegriCloud