summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ScopInfo: Drop dead code in schedule descriptionTobias Grosser2016-02-011-9/+0
| | | | | | | | | | | | | In https://llvm.org/svn/llvm-project/polly/trunk@251870 code was committed to avoid a failure in the presence of infinite loops, but the test case committed along with this change passes without the actual change. I looked back into the code and also checked with the original committer (Johannes), but could not find the reason why the code is needed. The introduction of LoopStacks for buildSchedule in one of the next commits will make it even more clear that this code is not needed, but I remove this ahead of time to facilitate bisecting in case I missed something. llvm-svn: 259347
* AVX512: fix mask handling for gather/scatter/prefetch intrinsics.Igor Breger2016-02-012-43/+77
| | | | | | Differential Revision: http://reviews.llvm.org/D16755 llvm-svn: 259346
* [analyzer] Use a wider integer type for an array index.Artem Dergachev2016-02-012-1/+40
| | | | | | | | | | | | | Avoids unexpected overflows while performing pointer arithmetics in 64-bit code. Moreover, neither PointerDiffType nor 'int' can be used as a common array index type because arrays may have size (and indexes) more than PTRDIFF_MAX but less than SIZE_MAX. Patch by Aleksei Sidorin! Differential Revision: http://reviews.llvm.org/D16063 llvm-svn: 259345
* Set correct ThreadStopInfo in case of trace eventAbhishek Aggarwal2016-02-014-15/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - The patch solves Bug 23478 and Bug 19311. Resolving Bug 23478 also resolves Bug 23039. Correct ThreadStopInfo is set for Linux and FreeBSD platforms. - Summary: When a trace event is reported, we need to check whether the trace event lands at a breakpoint site. If it lands at a breakpoint site then set the thread's StopInfo with the reason 'breakpoint'. Else, set the reason to be 'Trace'. Change-Id: I0af9765e782fd74bc0cead41548486009f8abb87 Signed-off-by: Abhishek Aggarwal <abhishek.a.aggarwal@intel.com> Reviewers: jingham, emaste, lldb-commits, clayborg, ovyalov Subscribers: emaste Differential Revision: http://reviews.llvm.org/D16720 llvm-svn: 259344
* [X86][SSE] Find source of the inserted element of INSERTPSSimon Pilgrim2016-02-012-19/+33
| | | | | | | | Minor patch to trace back through target shuffles to the source of the inserted element in a (V)INSERTPS shuffle. Differential Revision: http://reviews.llvm.org/D16652 llvm-svn: 259343
* AVX512 : Fix SETCCE lowering for KNL 32 bit.Igor Breger2016-02-012-19/+68
| | | | | | Differential Revision: http://reviews.llvm.org/D16752 llvm-svn: 259342
* [dsymutil] Skip mach-o paired relocationsFrederic Riss2016-02-011-0/+34
| | | | | | | | | Noticed while working on scattered relocations. I do not think these relocs can actually happen in the debug_info section, but if they happen the code would mishandle them. Explicitely skip them and warn if we encounter one. llvm-svn: 259341
* [X86] Cleanup the WinEHState passDavid Majnemer2016-02-011-25/+14
| | | | | | | | Remove unnecessary includes and class state. No functional change intended. llvm-svn: 259340
* [dsymutil] Support scattered relocs.Frederic Riss2016-02-015-2/+228
| | | | | | | | | | Although it seems like clang will never emit scattered relocations in the debug information (at least I couldn't find a way), we have too support them for the benefit of other compilers. As clang doesn't generate them, the included testcase was produced from hacked up assembly. llvm-svn: 259339
* Revert r258580 and r258581.David Majnemer2016-02-015-213/+4
| | | | | | | | | | | | | | | | | | | | | | | | Those commits created an artificial edge from a cleanup to a synthesized catchswitch in order to get the MSVC personality routine to execute cleanups which don't cleanupret and are not wrapped by a catchswitch. This worked well enough but is not a complete solution in situations where there the cleanup infinite loops. However, the real deal breaker behind this approach comes about from a degenerate case where the cleanup is post-dominated by unreachable *and* throws an exception. This ends poorly because the catchswitch will inadvertently catch the exception. Because of this we should go back to our previous behavior of not executing certain cleanups (identical behavior with the Itanium ABI implementation in clang, GCC and ICC). N.B. I think this could be salvaged by making the catchpad rethrow the exception and properly transforming throwing calls in the cleanup into invokes. llvm-svn: 259338
* ScopInfo: use std::distance to shorten code [NFC]Tobias Grosser2016-02-011-6/+1
| | | | llvm-svn: 259337
* [TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead ↵Craig Topper2016-02-015-15/+11
| | | | | | of accidentally copying to a vector. llvm-svn: 259336
* Mark DR1250 as implementedDavid Majnemer2016-02-013-13/+19
| | | | | | | We implemented this DR back in r258768 but forgot to mark it as implemented. llvm-svn: 259335
* [MCDwarf] Fix encoding of line tables with weird custom parametersFrederic Riss2016-01-313-2/+185
| | | | | | | | | | | | | | | | With poorly chosen custom parameters, the line table encoding logic would sometimes end up generating a special opcode bigger than 255, which is wrong. The set of default parameters that LLVM uses isn't subject to this bug. When carefully chosing the line table parameters, it's impossible to fall into the corner case that this patch fixes. The standard however doesn't require that these parameters be carefully chosen. And even if it did, we shouldn't generate broken encoding. Add a unittest for this specific encoding bug, and while at it, create some unit tests for the encoding logic using different sets of parameters. llvm-svn: 259334
* Replace utostr_32 use with utostr to match removal from llvm.Craig Topper2016-01-311-1/+1
| | | | llvm-svn: 259333
* cmake: Add additional libraries to fix the darwin shared library buildTobias Grosser2016-01-311-0/+7
| | | | | | | | | | | | | | | | | | | darwin requires the additional linkages of... LLVMBitReader LLVMMCParser LLVMObject LLVMProfileData LLVMTarget LLVMVectorize as the darwin requires all of the weak undefined symbols in a library to be resolved when linking it against an executable (unless -Wl,-undefined,dynamic_lookup is used to override the default behavior of -Wl,-undefined,error). Contributed-by: Jack Howarth llvm-svn: 259332
* Remove utostr_32 as it has no uses anymore.Craig Topper2016-01-311-16/+0
| | | | llvm-svn: 259331
* Replace usages of llvm::utostr_32 with just llvm::utostr. While this is less ↵Craig Topper2016-01-311-20/+20
| | | | | | efficient, its unclear the few places that were using the _32 version were doing so for efficiency. llvm-svn: 259330
* Merge utohex_buffer into utohexstr, it's only caller. Also change utohexstr ↵Craig Topper2016-01-311-21/+6
| | | | | | to use the std::string constructor that takes a start and end pointer. This saves a call to strlen. NFC llvm-svn: 259329
* add helper function for minnum/maxnum ; NFCSanjay Patel2016-01-311-74/+80
| | | | llvm-svn: 259326
* use range-based for loop; NFCSanjay Patel2016-01-311-3/+3
| | | | llvm-svn: 259325
* fix formatting; NFCSanjay Patel2016-01-311-13/+13
| | | | llvm-svn: 259324
* simplify; NFCSanjay Patel2016-01-311-8/+5
| | | | llvm-svn: 259323
* clean up; NFCSanjay Patel2016-01-311-57/+60
| | | | | | function names, comments, formatting, typos llvm-svn: 259322
* WebAssembly: more failures are goneJF Bastien2016-01-311-24/+0
| | | | llvm-svn: 259321
* WebAssembly: update expected failuresJF Bastien2016-01-311-16/+0
| | | | | | r259305 fixed a few assertions around FrameIndex, and I forgot to update these failures despite having run the torture tests. llvm-svn: 259320
* [dsymutil] Fix FileCheck command.Frederic Riss2016-01-311-1/+1
| | | | | | Damn case-insensitive filesystem... llvm-svn: 259319
* [dsymutil] Fix handling of common symbols.Frederic Riss2016-01-319-16/+43
| | | | | | | | | | | | | | | | | llvm-dsymutil was misinterpreting the value of common symbols as their address when it actually contains their size. This didn't impact llvm-dsymutil's ability to link the debug information for common symbols because these are always found by name and not by address. Things could however go wrong when the size of a common object matched the object file address of another symbol. Depending on the link order of the symbols the common object might incorrectly evict this other object from the address to symbol mapping, and then link the evicted symbol with a wrong binary address. Use the new ability to have symbols without an object file address to fix this. llvm-svn: 259318
* [dsymutil] Allow debug map mappings with no object file address. NFCFrederic Riss2016-01-314-21/+31
| | | | | | | | | | | This change just changes the data structure that ties symbol names, object file address and linked binary addresses to accept mappings with no object file address. Such symbol mappings are not fed into the debug map yet, so this patch is NFC. A subsequent patch will make use of this functionality for common symbols. llvm-svn: 259317
* Replace usage of llvm::utostr_32 with just llvm::utostr. While this is less ↵Craig Topper2016-01-311-1/+1
| | | | | | efficient, its unclear that the one place using the _32 version was doing so for efficiency. llvm-svn: 259316
* [SelectionDAG] Eliminate exponential behavior in WalkChainUsersTim Shen2016-01-311-5/+20
| | | | llvm-svn: 259315
* No need to use utostr/utohexstr when writing into a raw_ostream. NFCCraig Topper2016-01-311-24/+30
| | | | llvm-svn: 259314
* Shrink character buffer size in raw_ostream::write_hex to 16 characters ↵Craig Topper2016-01-311-1/+1
| | | | | | intead of 20 as that's the largest string a 64-bit hex value can be. llvm-svn: 259313
* Use std::end instead of repeating buffer sizes.Craig Topper2016-01-312-7/+7
| | | | llvm-svn: 259312
* [Parser] Update CachedTokens while parsing ObjectiveC template argument listBruno Cardoso Lopes2016-01-314-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following ObjC++ snippet: -- @protocol PA; @protocol PB; @class NSArray<ObjectType>; typedef int some_t; id<PA> FA(NSArray<id<PB>> *h, some_t group); -- This would hit an assertion in the parser after generating an annotation token while trying to update the token cache: Assertion failed: (CachedTokens[CachedLexPos-1].getLastLoc() == Tok.getAnnotationEndLoc() && "The annotation should be until the most recent cached token") ... 7 clang::Preprocessor::AnnotatePreviousCachedTokens(clang::Token const&) + 494 8 clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec(bool, bool, clang::CXXScopeSpec&, bool) + 1163 9 clang::Parser::TryAnnotateTypeOrScopeToken(bool, bool) + 361 10 clang::Parser::isCXXDeclarationSpecifier(clang::Parser::TPResult, bool*) + 598 ... The cached preprocessor token in this case is: greatergreater '>>' Loc=<testcase.mm:7:24> while the annotation ("NSArray<id<PB>>") ends at "testcase.mm:7:25", hence the assertion. Properly update the CachedTokens during template parsing to contain two greater tokens instead of a greatergreater. Differential Revision: http://reviews.llvm.org/D15173 rdar://problem/23494277 llvm-svn: 259311
* No need to use utostr when putting integers into a raw_ostream. NFCCraig Topper2016-01-311-5/+5
| | | | llvm-svn: 259310
* Convert an unsigned to Twine instead of using utostr since we're already ↵Craig Topper2016-01-311-1/+1
| | | | | | building a Twine. NFC llvm-svn: 259309
* Convert int to Twine instead of using utostr since it was already being ↵Craig Topper2016-01-311-1/+1
| | | | | | added to a Twine. NFC llvm-svn: 259308
* [doc] improve the doc for CUDAJingyue Wu2016-01-301-17/+21
| | | | | | | | 1. Mentioned that CUDA support works best with trunk. 2. Simplified the example by removing its dependency on the CUDA samples. 3. Explain the --cuda-gpu-arch flag. llvm-svn: 259307
* [WebAssembly] Fix uses of FrameIndex as store valuesDerek Schuff2016-01-303-6/+17
| | | | | | | | Previously the code assumed all uses of FI on loads and stores were as addresses. This checks whether the use is the address or a value and handles the latter case as it does for non-memory instructions. llvm-svn: 259306
* WebAssembly: don't optimize frameindex storeJF Bastien2016-01-303-6/+24
| | | | | | | | The previous code was incorrect (can't getReg a frameindex). We could instead optimize it to reduce tree height, but I'm not sure that's worthwhile yet because we then try to eliminate the frameindex. This patch also fixes frame index elimination for operations which may load or store: it used to assume the base was operand 2 and immediate offset operand 1. That's not true for stores, where they're 4 and 3. llvm-svn: 259305
* [AST] Pull simple method inline.Benjamin Kramer2016-01-302-5/+3
| | | | llvm-svn: 259304
* WebAssembly NFC: fix build warningJF Bastien2016-01-301-3/+3
| | | | | | WebAssemblyFrameLowering.cpp:158:44: warning: enumeral and non-enumeral type in conditional expression [enabled by default] llvm-svn: 259303
* assert(false) -> llvm_unreachable().Davide Italiano2016-01-303-3/+3
| | | | llvm-svn: 259302
* Fix build with VS2015Ismail Donmez2016-01-301-0/+2
| | | | llvm-svn: 259301
* [BasicAA] NFC - revised comment for function adjustToPointerSize()Gerolf Hoflehner2016-01-301-1/+1
| | | | llvm-svn: 259300
* [BasicAA] Fix for missing must alias (D16343)Gerolf Hoflehner2016-01-302-0/+27
| | | | llvm-svn: 259299
* [BasicAA] Update on r259290 - added missing castGerolf Hoflehner2016-01-301-1/+1
| | | | llvm-svn: 259298
* AMDGPU: Fix emitting invalid workitem intrinsics for HSAMatt Arsenault2016-01-306-37/+550
| | | | | | | | | | | | | | | | | | The AMDGPUPromoteAlloca pass was emitting the read.local.size calls, which with HSA was incorrectly selected to reading from the offset mesa uses off of the kernarg pointer. Error on intrinsics which aren't supported by HSA, and start emitting the correct IR to read the workgroup size out of the dispatch pointer. Also initialize the pass so it can be tested with opt, and start moving towards not depending on the subtarget as an argument. Start emitting errors for the intrinsics not handled with HSA. llvm-svn: 259297
* AMDGPU: Stop checking intrinsics not used by HSA for dispatch-ptrMatt Arsenault2016-01-303-16/+175
| | | | | | | | Only the dispatch.ptr intrinsic is supposed to be used now to get the workgroup size, and the read.local.size intrinsics do not work correctly. llvm-svn: 259296
OpenPOWER on IntegriCloud