summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix for PR29010Marina Yatsina2016-08-172-1/+17
| | | | | | | | | | | This is a fix for https://llvm.org/bugs/show_bug.cgi?id=29010 Root cause of the bug is that the register class of the machine instruction operand does not fully reflect if this registers that can be allocated. Both for i386 and x86_64 the operand's register class is VR128RegClass and thus contains xmm0-xmm15, though in i386 we can only use xmm0-xmm8. In order to get the actual allocable registers of the class we need to use RegisterClassInfo. Differential Revision: https://reviews.llvm.org/D23613 llvm-svn: 278954
* Merge readAt and readAlign.Rui Ueyama2016-08-171-28/+14
| | | | | | Now that they are identical. llvm-svn: 278953
* Module debug info: Fix a bug in handling record decls without fields.Adrian Prantl2016-08-174-7/+47
| | | | | | | | | | | The previous condition would erroneously mark all CXXRecordDecls that didn't have any fields as being defined in a clang module. This patch fixes the condition to only apply to explicit template instantiations. <rdar://problem/27771823> llvm-svn: 278952
* cleanup: fixed names of dummy arguments of Fortran interfaces declarations, ↵Andrey Churbanov2016-08-174-138/+158
| | | | | | no functional changes done llvm-svn: 278951
* [libFuzzer] more mutationsKostya Serebryany2016-08-173-18/+124
| | | | llvm-svn: 278950
* [Include-fixer] Install executables and support scriptsEugene Zelenko2016-08-172-3/+25
| | | | | | Differential revision: https://reviews.llvm.org/D23045 llvm-svn: 278949
* Move tests to the appropriate subdirectory.Adrian Prantl2016-08-173-0/+0
| | | | llvm-svn: 278948
* Correct makefile.rules to use arm/aarch64 target specific AR and OBJCOPYOmair Javaid2016-08-171-22/+27
| | | | | | Differential revision: https://reviews.llvm.org/D20386 llvm-svn: 278947
* Simplify condition. (NFC)Adrian Prantl2016-08-171-7/+8
| | | | llvm-svn: 278946
* [InstCombine] use m_APInt to allow icmp (or X, Y), C folds for splat ↵Sanjay Patel2016-08-173-19/+7
| | | | | | | | | | constant vectors This is a sibling of: https://reviews.llvm.org/rL278859 https://reviews.llvm.org/rL278935 llvm-svn: 278945
* [InstCombine] clean up foldICmpOrConstant(); NFCISanjay Patel2016-08-171-18/+16
| | | | | | | | | 1. Change variable names 2. Use local variables to reduce code 3. Use ? instead of if/else 4. Use the APInt variable instead of 'RHS' so the removal of the FIXME code will be direct llvm-svn: 278944
* [InstCombine] add tests for missing vector icmp foldsSanjay Patel2016-08-171-0/+30
| | | | llvm-svn: 278943
* Debug info: Mark noreturn functions with DIFlagNoReturn.Adrian Prantl2016-08-172-3/+10
| | | | | | | | | | | This affects functions with the C++11 [[ noreturn ]] and C11 _Noreturn specifiers. Patch by Victor Leschuk! https://reviews.llvm.org/D23168 llvm-svn: 278942
* [analyzer] Add a checker for loss of sign or precision in integral casts.Artem Dergachev2016-08-174-0/+322
| | | | | | | | | | | | | | | This new checker tries to find execution paths on which implicit integral casts cause definite loss of information: a certainly-negative integer is converted to an unsigned integer, or an integer is definitely truncated to fit into a smaller type. Being implicit, such casts are likely to produce unexpected results. Patch by Daniel Marjamäki! Differential Revision: https://reviews.llvm.org/D13126 llvm-svn: 278941
* Support the DW_AT_noreturn DWARF flag.Adrian Prantl2016-08-1710-4/+177
| | | | | | | | | | | This is used to mark functions with the C++11 [[ noreturn ]] or C11 _Noreturn attributes. Patch by Victor Leschuk! https://reviews.llvm.org/D23167 llvm-svn: 278940
* Revert "Reassociate: Reprocess RedoInsts after each inst".Chad Rosier2016-08-175-100/+33
| | | | | | | | This reverts commit r258830, which introduced a bug described in PR28367. PR28367 llvm-svn: 278938
* [analyzer] Add LocationContext information to SymbolMetadata.Artem Dergachev2016-08-176-13/+41
| | | | | | | | | | | | | | | | | | | | | Like SymbolConjured, SymbolMetadata also needs to be uniquely identified by the moment of its birth. Such moments are coded by the (Statement, LocationContext, Block count) triples. Each such triple represents the moment of analyzing a statement with a certain call backtrace, with corresponding CFG block having been entered a given amount of times during analysis of the current code body. The LocationContext information was accidentally omitted for SymbolMetadata, which leads to reincarnation of SymbolMetadata upon re-entering a code body with a different backtrace; the new symbol is incorrectly unified with the old symbol, which leads to unsound assumptions. Patch by Alexey Sidorin! Differential Revision: https://reviews.llvm.org/D21978 llvm-svn: 278937
* Update ISL to isl-0.17.1-200-gd8de4ea.Michael Kruse2016-08-1722-4403/+7016
| | | | | | This version fixes a bug in set coalescing. llvm-svn: 278936
* [InstCombine] use m_APInt to allow icmp (add X, Y), C folds for splat ↵Sanjay Patel2016-08-173-49/+37
| | | | | | | | | constant vectors This is a sibling of: https://reviews.llvm.org/rL278859 llvm-svn: 278935
* Adapt to TraverseLambdaCapture interface change from D23204Martin Bohme2016-08-173-5/+13
| | | | | | | | | | | | | | | Summary: Depends on D23204. This is intended to be submitted immediately after D23204 lands. Reviewers: jdennett, alexfh Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23543 llvm-svn: 278934
* Visit lambda capture inits from RecursiveASTVisitor::TraverseLambdaCapture().Martin Bohme2016-08-174-23/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: rL277342 made RecursiveASTVisitor visit lambda capture initialization expressions (these are the Exprs in LambdaExpr::capture_inits()). jdennett identified two issues with rL277342 (see comments there for details): - It visits initialization expressions for implicit lambda captures, even if shouldVisitImplicitCode() returns false. - It visits initialization expressions for init captures twice (because these were already traveresed in TraverseLambdaCapture() before rL277342) This patch fixes these issues and moves the code for traversing initialization expressions into TraverseLambdaCapture(). This patch also makes two changes required for the tests: - It adds Lang_CXX14 to the Language enum in TestVisitor. - It adds a parameter to ExpectedLocationVisitor::ExpectMatch() that specifies the number of times a match is expected to be seen. Reviewers: klimek, jdennett, alexfh Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23204 llvm-svn: 278933
* Clarify the statement on using #if 0 ... #endif in CodingStandards.Andrey Bokhanko2016-08-171-2/+4
| | | | | | | | | The statement on using #if 0 ... #endif is not very clear (for people like me :-)). This patch clarifies it a bit to avoid confusion. Differential Revision: https://reviews.llvm.org/D23404 llvm-svn: 278932
* [ELF] - Linkerscript: make readAt() signature to be consistent with others ↵George Rimar2016-08-171-4/+5
| | | | | | read*(). NFC. llvm-svn: 278931
* [mips] Add l.[sd] and s.[sd] instruction aliasesSimon Dardis2016-08-1715-0/+75
| | | | | | | | Reviewers: dsanders, vkalintiris Differential Review: https://reviews.llvm.org/D23121 llvm-svn: 278930
* Revert "[Reassociate] Avoid iterator invalidation when negating value."Chad Rosier2016-08-172-39/+0
| | | | | | This reverts commit r278928 due to lit test failures. llvm-svn: 278929
* [Reassociate] Avoid iterator invalidation when negating value.Chad Rosier2016-08-172-0/+39
| | | | | | | Differential Revision: https://reviews.llvm.org/D23464 PR28367 llvm-svn: 278928
* [LoopStrenghtReduce] Refactoring and addition of a new target cost function.Jonas Paulsson2016-08-179-225/+375
| | | | | | | | | | | | | | | | | | | | | | | Refactored so that a LSRUse owns its fixups, as oppsed to letting the LSRInstance own them. This makes it easier to rate formulas for LSRUses, since the fixups are available directly. The Offsets vector has been removed since it was no longer necessary. New target hook isFoldableMemAccessOffset(), which is used during formula rating. For SystemZ, this is useful to express that loads and stores with float or vector types with a big/negative offset should be avoided in loops. Without this, LSR will generate a lot of negative offsets that would require extra instructions for loading the address. Updated tests: test/CodeGen/SystemZ/loop-01.ll Reviewed by: Quentin Colombet and Ulrich Weigand. https://reviews.llvm.org/D19152 llvm-svn: 278927
* Add an AST matcher for external formal linkage.Aaron Ballman2016-08-174-0/+61
| | | | | | Patch by Visoiu Mistrih llvm-svn: 278926
* Fix unittests on windows after r278915Pavel Labath2016-08-171-4/+4
| | | | | | | Apparently clang will happily capture a const variable in a lambda without it being specified in the capture clause. MSVC does not like that. llvm-svn: 278925
* Remove cmake legacy codePavel Labath2016-08-173-14/+4
| | | | | | | | | | | | Summary: Cmake 2.8 support is gone and not coming back. We can remove a bit of legacy code now. Reviewers: zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D23554 llvm-svn: 278924
* Fixing bug committed in rev. 278321Marina Yatsina2016-08-172-3/+12
| | | | | | | | | | In theory the indices of RC (and thus the index used for LiveRegs) may differ from the indices of OpRC. Fixed the code to extract the correct RC index. OpRC contains the first X consecutive elements of RC, and thus their indices are currently de facto the same, therefore a test cannot be added at this point. Differential Revision: https://reviews.llvm.org/D23491 llvm-svn: 278923
* [include-fixer] Update -help message.Haojian Wu2016-08-171-1/+3
| | | | llvm-svn: 278922
* [AMDGPU] llvm-objdump: Skip amd_kernel_code_t only at the begining of kernel ↵Sam Kolton2016-08-172-20/+55
| | | | | | | | | | | | | | symbol. Summary: This change fix bug in AMDGPU disassembly. Previously, presence of symbols other than kernel symbols caused objdump to skip begining of those symbols. Reviewers: tstellarAMD, vpykhtin, Bigcheese, ruiu Subscribers: kzhuravl, arsenm Differential Revision: http://reviews.llvm.org/D21966 llvm-svn: 278921
* LiveIntervals: add removeRegUnitNicolai Haehnle2016-08-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | Summary: See D22198 for the motivation: We have a pass that uses LiveIntervals anyway, and there is now a requirement to track a physical register that is not usually tracked at this point of the compilation. The pass also introduces instructions that affect this physical register, but we want to preserve LiveIntervals. Rather than add brittle and rarely exercised code to keep the tracking of the physical register intact, we want to just remove the corresponding LiveRange -- it didn't exist before anyway, and subsequent passes don't expect it to be there. Reviewers: MatzeB, arsenm Subscribers: llvm-commits, MatzeB Differential Revision: https://reviews.llvm.org/D22801 llvm-svn: 278920
* Deal with buildbot fallout from r278917: s/AllocType()/GetAllocType()/ (had ↵Filipe Cabecinhas2016-08-173-4/+4
| | | | | | the same name as the enum) llvm-svn: 278919
* Fix unittest compilation error in r278915Pavel Labath2016-08-172-1/+1
| | | | llvm-svn: 278918
* Rename DescribeHeapAddress to DescribeAddressIfHeap and split it into a ↵Filipe Cabecinhas2016-08-176-77/+162
| | | | | | | | | | | | | | | | | function to get all the information about the address, and one to print it. Summary: Replacement for part of D23518 This deals with heap addresses, and renames DescribeHeapAddress. Requires D23520, which moves code around to make it accessible in asan_describers.cc (and still accessible in asan_report.cc if needed). Reviewers: kcc, samsonov Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D23569 llvm-svn: 278917
* Remove manual packet construction from ↵Pavel Labath2016-08-171-18/+5
| | | | | | GDBRemoteRegisterContext::SetPrimordialRegister llvm-svn: 278916
* Move packet construction from GDBRemoteRegisterContext go the communication ↵Pavel Labath2016-08-178-334/+464
| | | | | | | | | | | | | | | | | | | | | | | | class Summary: When saving/restoring registers the GDBRemoteRegisterContext class was manually constructing the register save/restore packets. This creates appropriate helper functions in GDBRemoteCommunicationClient, and switches the class to use those. It also removes what a duplicate packet send in some of those functions, a thing that I can only attribute to a bad merge artefact. I also add a test framework for testing gdb-remote client functionality and add tests for the new functions I introduced. I'd like to be able to test the register context changes in isolation as well, but currently there doesn't seem to be a way to reasonably construct a standalone register context object, so we'll have to rely on the end-to-end tests to verify that. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D23553 llvm-svn: 278915
* Attemp to fix linux build bot after r278911 ("[ELF] - linkerscript AT ↵George Rimar2016-08-171-1/+1
| | | | | | | | keyword (in output section description) implemented.") http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/26289/steps/build_Lld/logs/stdio llvm-svn: 278914
* Fix bug in DAGBuilder for getelementptr with expanded vector.Ayman Musa2016-08-172-1/+26
| | | | | | | Replacing the usage of MVT with EVT in case the vector type is expanded. Differential Revision: https://reviews.llvm.org/D23306 llvm-svn: 278913
* [LTO] Fix a use-after-free introduced in r278907 and caught by ASan.Chandler Carruth2016-08-171-3/+3
| | | | | | | | | The ASan build bot caught this right away: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/15580/steps/check-llvm%20asan/logs/stdio This was also breaking a Windows build bot I'm pretty sure. llvm-svn: 278912
* [ELF] - linkerscript AT keyword (in output section description) implemented.George Rimar2016-08-174-2/+158
| | | | | | | | | | | | | The linker will normally set the LMA equal to the VMA. You can change that by using the AT keyword. The expression lma that follows the AT keyword specifies the load address of the section. Patch implements this keyword. Differential revision: https://reviews.llvm.org/D19272 llvm-svn: 278911
* First commit (test commit) - Adding empty line.Ayman Musa2016-08-171-0/+1
| | | | llvm-svn: 278910
* Restrict the use of the C++17 attribute to C++17 (at least as best weChandler Carruth2016-08-171-1/+1
| | | | | | | | | | | | | can given the current __cplusplus definitions). Without this, Clang triggers TONS of warnings about using a C++17 extension. I tried using LLVM_EXTENSION to turn these off and it doesn't work. Suggestions on a better approach are welcome, but at least this makes the build usable for me again. llvm-svn: 278909
* Add missing testsRoger Ferrer Ibanez2016-08-174-0/+331
| | | | | | | | Change r278483 was missing the tests Differential Revision: https://reviews.llvm.org/D20561 llvm-svn: 278908
* [LTO] Introduce an Output class to wrap the output stream creation (NFC)Mehdi Amini2016-08-177-70/+104
| | | | | | | | | | | | | | | | | Summary: While NFC for now, this will allow more flexibility on the client side to hold state necessary to back up the stream. Also when adding caching, this class will grow in complexity. Note I blindly modified the gold-plugin as I can't compile it. Reviewers: tejohnson Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D23542 llvm-svn: 278907
* [ThinLTO] Adapt backend invocation to llvm API changes.Mehdi Amini2016-08-171-4/+18
| | | | | | | | | | Reviewers: tejohnson Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D23579 llvm-svn: 278906
* Support allocators with explicit conversion constructors. Fixes bug #29000Marshall Clow2016-08-1741-29/+1026
| | | | llvm-svn: 278904
* Fix a use of LLVM_FALLTHROUGH that wasn't even in a switch.Justin Bogner2016-08-171-1/+0
| | | | | | | I was over-aggressive in my conversions from comments to the fallthrough attribute. llvm-svn: 278903
OpenPOWER on IntegriCloud