summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Sema] Don't diagnose an array type mismatch when the new or previousAkira Hatanaka2016-09-012-2/+35
| | | | | | | | | | | | declaration has a dependent type. This fixes a bug where clang errors out on a valid code. rdar://problem/28051467 Differential Revision: https://reviews.llvm.org/D24110 llvm-svn: 280330
* Revert "Add asm.js-style setjmp/longjmp handling for wasm"Heejin Ahn2016-09-016-1074/+186
| | | | | | This reverts commit r280302, it broke the integration tests. llvm-svn: 280329
* There exists at least one compiler on one platform that doesn't know how to ↵Enrico Granata2016-09-011-1/+1
| | | | | | | | assert on a std::shared_ptr<> Appease it by being very very very explicit about what I mean llvm-svn: 280328
* Change "memory find" over to using a variation of the Boyer–Moore search ↵Enrico Granata2016-09-014-16/+152
| | | | | | | | algorithm Fixes rdar://15455621 (and adds a test case for this command which - surprisingly and sadly - was not there originally) llvm-svn: 280327
* Support: Avoid errors with LLVM_FALLTHROUGH in clang 3.6 and below in C modeJustin Bogner2016-08-311-0/+4
| | | | | | | | | Older versions of clang defined __has_cpp_attribute in C mode, but would choke on scoped attributes, as per llvm.org/PR23435. Since we support building with clang all the way back to 3.1, we have to work around this issue. llvm-svn: 280326
* Fix the use of unitialized value while reporting double free in ASAN.Ivan Krasin2016-08-311-0/+1
| | | | | | | | | | | | | | | | Summary: This is a follow up to https://reviews.llvm.org/rL280201 where this issue was introduced. ASAN tests failed: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/25219/steps/run%20asan%20tests/logs/stdio Reviewers: filcab Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D24109 llvm-svn: 280325
* [StreamExecutor] getOrDie and dieIfError utilsJason Henline2016-08-314-37/+52
| | | | | | | | | | Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24107 llvm-svn: 280312
* Add cast to appease windows builder. Fixes build break introduced in r280306.Nick Lewycky2016-08-311-1/+1
| | | | llvm-svn: 280311
* Fix the implementation of R_386_GOTPC and R_386_GOTOFF.Rafael Espindola2016-08-315-5/+15
| | | | | | | | They were both pointing to the start of the got, not the end. Fixes pr28924. llvm-svn: 280310
* Fix all tests under test/CXX (and test/Analysis) to pass if clang's defaultRichard Smith2016-08-3111-57/+241
| | | | | | C++ language standard is not C++98. llvm-svn: 280309
* DR259: Demote the pedantic error for an explicit instantiation after anRichard Smith2016-08-3111-59/+39
| | | | | | | | | explicit specialization to a warning for C++98 mode (this is a defect report resolution, so per our informal policy it should apply in C++98), and turn the warning on by default for C++11 and later. In all cases where it fires, the right thing to do is to remove the pointless explicit instantiation. llvm-svn: 280308
* [codeview] Have visitTypeBegin return the record type.Zachary Turner2016-08-319-23/+43
| | | | | | | | | | | | | | | | | | | Previously we were assuming that any visitation of types would necessarily be against a type we had binary data for. Reasonable assumption when were just reading PDBs and dumping them, but once we start writing PDBs from Yaml this breaks down, because we have no binary data yet, only Yaml, and from that we need to read the record kind and perform the switch based on that. So this patch does that. Instead of having the visitor switch on the kind that is already in the CVType record, we change the visitTypeBegin() method to return the Kind, and switch on the returned value. This way, the default implementation can still return the value from the CVType, but the implementation which visits Yaml records and serializes binary PDB type records can use the field in the Yaml as the source of the switch. llvm-svn: 280307
* Add -fprofile-dir= to clang.Nick Lewycky2016-08-3111-47/+134
| | | | | | | | | | | | | | | | | | | | | -fprofile-dir=path allows the user to specify where .gcda files should be emitted when the program is run. In particular, this is the first flag that causes the .gcno and .o files to have different paths, LLVM is extended to support this. -fprofile-dir= does not change the file name in the .gcno (and thus where lcov looks for the source) but it does change the name in the .gcda (and thus where the runtime library writes the .gcda file). It's different from a GCOV_PREFIX because a user can observe that the GCOV_PREFIX_STRIP will strip paths off of -fprofile-dir= but not off of a supplied GCOV_PREFIX. To implement this we split -coverage-file into -coverage-data-file and -coverage-notes-file to specify the two different names. The !llvm.gcov metadata node grows from a 2-element form {string coverage-file, node dbg.cu} to 3-elements, {string coverage-notes-file, string coverage-data-file, node dbg.cu}. In the 3-element form, the file name is already "mangled" with .gcno/.gcda suffixes, while the 2-element form left that to the middle end pass. llvm-svn: 280306
* Use getSize to find the size of a section. NFC.Rafael Espindola2016-08-312-8/+3
| | | | llvm-svn: 280305
* Fix the MSVC 2013 build by using Elf_Word instead of making a local typedefReid Kleckner2016-08-311-6/+4
| | | | llvm-svn: 280304
* [CMake] Increase stack size to 16MiB for all mingw executables.NAKAMURA Takumi2016-08-312-12/+11
| | | | llvm-svn: 280303
* Add asm.js-style setjmp/longjmp handling for wasmHeejin Ahn2016-08-317-187/+1075
| | | | | | | | | | | | Summary: This patch adds asm.js-style setjmp/longjmp handling support for WebAssembly. It also uses JavaScript's try and catch mechanism. Reviewers: jpp, dschuff Subscribers: jfb, dschuff Differential Revision: https://reviews.llvm.org/D23928 llvm-svn: 280302
* Revert "Add an optional parameter with a list of undefs to extendToIndices"Reid Kleckner2016-08-314-124/+6
| | | | | | | | | | | | This reverts commit r280268, it causes all MSVC 2013 to ICE. This appears to have been fixed in a later MSVC 2013 update, because I cannot reproduce it locally. That said, all upstream LLVM bots are broken right now, so I am reverting. Also reverts dependent change r280275, "[Hexagon] Deal with undefs when extending live intervals". llvm-svn: 280301
* [InstCombine] allow icmp (shr exact X, C2), C fold for splat constant vectorsSanjay Patel2016-08-312-8/+1
| | | | | | | The enhancement to foldICmpDivConstant ( http://llvm.org/viewvc/llvm-project?view=revision&revision=280299 ) allows us to remove the ConstantInt check; no other changes needed. llvm-svn: 280300
* [InstCombine] allow icmp (div X, Y), C folds for splat constant vectorsSanjay Patel2016-08-315-81/+53
| | | | | | Converting all of the overflow ops to APInt looked risky, so I've left that as a TODO. llvm-svn: 280299
* AMDGPU: Fix introducing stack access on unaligned v16i8Matt Arsenault2016-08-313-7/+61
| | | | llvm-svn: 280298
* AMDGPU: Use copy instead of mov during frame loweringMatt Arsenault2016-08-311-15/+6
| | | | | | | This occurs before RA pseudos are expanded. It's less code to emit the copy. llvm-svn: 280297
* AMDGPU: Refactor frame loweringMatt Arsenault2016-08-312-121/+181
| | | | | | This will make future changes easier. llvm-svn: 280296
* Add a data formatter for std::function in libcxxEnrico Granata2016-08-316-0/+107
| | | | llvm-svn: 280295
* Fix an issue where a synthetic child provider could only provide a value of ↵Enrico Granata2016-08-313-10/+31
| | | | | | the same size as the containing type llvm-svn: 280294
* [codeview] Add TypeVisitorCallbackPipeline.Zachary Turner2016-08-317-31/+149
| | | | | | | | | | | | | | | | | We were kind of hacking this together before by embedding the ability to forward requests into the TypeDeserializer. When we want to start adding more different kinds of visitor callback interfaces though, this doesn't scale well and is very inflexible. So introduce the notion of a pipeline, which itself implements the TypeVisitorCallbacks interface, but which contains an internal list of other callbacks to invoke in sequence. Also update the existing uses of CVTypeVisitor to use this new pipeline class for deserializing records before visiting them with another visitor. llvm-svn: 280293
* GlobalISel: use G_TYPE to annotate physregs with a type.Tim Northover2016-08-3136-317/+353
| | | | | | | | | | More preparation for dropping source types from MachineInstrs: regsters coming out of already-selected code (i.e. non-generic instructions) don't have a type, but that information is needed so we must add it manually. This is done via a new G_TYPE instruction. llvm-svn: 280292
* Initialize RelativeRel for AMDGPU.Rui Ueyama2016-08-311-0/+1
| | | | | | | | | | | Target->RelativeRel is used for all platforms, but AMDGPU did not send that member. Fixes bug 30227 - RelativeRel is used, but not initialized for AMDGPU. Differential Revision: https://reviews.llvm.org/D24100 llvm-svn: 280291
* DebugInfo: Fix -gsplit-dwarf + -fno-split-dwarf-inliningDavid Blaikie2016-08-312-8/+19
| | | | | | | | | | | I tested the cases involving split-dwarf + gmlt + no-split-dwarf-inlining, but didn't verify the simpler case without gmlt. The logic is, admittedly, a little hairy, but seems about as simple as I could wrangle it. llvm-svn: 280290
* Don't diagnoes a mismatch between implicit and explicit exceptionRichard Smith2016-08-313-4/+19
| | | | | | | specifications under -fno-exceptions, just as we don't diagnose other exception specification mismatch errors. llvm-svn: 280289
* Fix mishandling of deletedness for assignment operators of classes withRichard Smith2016-08-312-4/+6
| | | | | | | | indirect virtual bases. We don't need to be able to invoke such an assignment operator from the derived class, and we shouldn't delete the derived assignment op if we can't do so. llvm-svn: 280288
* [codeview] Don't emit vshape info for classes without vfptrsReid Kleckner2016-08-312-1/+62
| | | | | | | | | | | | Classes with no virtual methods or whose virtual methods were all inherited from virtual bases don't have a vfptr at offset zero. We were crashing attempting to get the layout of that non-existent vftable. We don't need any vshape info in this case because the debugger can infer it from the base class information. The current class may not introduce any virtual methods if we are in this situation. llvm-svn: 280287
* libc++abi: fix some -Wunused-function warningsSaleem Abdulrasool2016-08-311-12/+16
| | | | | | | is_initialized is only used in the no threads case or if on non ARM Apple targets. Use the preprocessor to remove the function otherwise. NFC. llvm-svn: 280286
* [WebAssembly] Disable folding of GA+reg into load/store constant offsetsDerek Schuff2016-08-313-46/+91
| | | | | | | | | | | Summary: If the register has a negative value then unsigned overflow will occur; this case is sometimes even created intentionally by LSR. For now disable GA+reg folding. Fixes PR29127 Differential Revision: https://reviews.llvm.org/D24053 llvm-svn: 280285
* Linker script: support VERSION command.Rui Ueyama2016-08-313-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: VERSION commands define symbol versions. The grammar of the commnad is as follows VERSION { version-script-commands } where version-script-commands is [ name ] { version-definitions }. Note that we already support version-script-commands because it is being used for version script command. This patch is based on George's patch https://reviews.llvm.org/D23609 Reviewers: grimar Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24089 llvm-svn: 280284
* Remove unused variables.Zachary Turner2016-08-314-7/+1
| | | | | | Patch by Taras Tsugrii llvm-svn: 280283
* [InstCombine] change insertRangeTest() to use APInt instead of Constant; NFCISanjay Patel2016-08-313-20/+29
| | | | | | | | This is prep work before changing the callers to also use APInt which will allow folds for splat vectors. Currently, the callers have ConstantInt guards in place, so no functional change intended with this commit. llvm-svn: 280282
* Revert "Driver: use the canonical static library naming"Saleem Abdulrasool2016-08-313-9/+9
| | | | | | | | This breaks chromium and its unclear if this is actually a modern convention. This reverts SVN r280169. llvm-svn: 280281
* [LoopInfo] Add verification by recomputation.Michael Zolotukhin2016-08-314-7/+71
| | | | | | | | | | | | | | | | | Summary: Current implementation of LI verifier isn't ideal and fails to detect some cases when LI is incorrect. For instance, it checks that all recorded loops are in a correct form, but it has no way to check if there are no more other (unrecorded in LI) loops in the function. This patch adds a way to detect such bugs. Reviewers: chandlerc, sanjoy, hfinkel Subscribers: llvm-commits, silvas, mzolotukhin Differential Revision: https://reviews.llvm.org/D23437 llvm-svn: 280280
* [EarlyCSE] Optionally use MemorySSA. NFC.Geoff Berry2016-08-3122-22/+186
| | | | | | | | | | | | | | | | | Summary: Use MemorySSA, if requested, to do less conservative memory dependency checking. This change doesn't enable the MemorySSA enhanced EarlyCSE in the default pipelines, so should be NFC. Reviewers: dberlin, sanjoy, reames, majnemer Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D19821 llvm-svn: 280279
* Exclude examples, unittests from doc genJason Henline2016-08-311-1/+1
| | | | | | | Public documentation shouldn't be generated for unit test code and code that is only meant to be used as snippets in other documentation. llvm-svn: 280278
* [StreamExecutor] Add Doxygen main pageJason Henline2016-08-317-5/+243
| | | | | | | | | | Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24066 llvm-svn: 280277
* Actually check for the diagnostic to be emitted!Quentin Colombet2016-08-311-1/+3
| | | | | | This makes the test case in r280273 actually useful! llvm-svn: 280276
* [Hexagon] Deal with undefs when extending live intervalsKrzysztof Parzyszek2016-08-312-1/+113
| | | | llvm-svn: 280275
* AMDGPU/SI: Make sure llvm.amdgcn.implicitarg.ptr() is at least 4-byte alignedTom Stellard2016-08-312-1/+15
| | | | | | | | | | | | Summary: This fixes some OpenCV tests that were broken by libclc commit r276443. Reviewers: arsenm, jvesely Subscribers: arsenm, wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D24051 llvm-svn: 280274
* [TargetPassConfig] Add a hook to tell whether GlobalISel should warm on ↵Quentin Colombet2016-08-314-6/+21
| | | | | | | | | fallback. Thanks to this patch, we know have a way to easly see if GlobalISel failed. llvm-svn: 280273
* [ResetMachineFunction] Emit the diagnostic isel fallback when asked.Quentin Colombet2016-08-312-6/+19
| | | | | | This pass is now able to report when the function is being reset. llvm-svn: 280272
* [DiagnosticInfo] Add a diagnostic class for the fallback of ISel.Quentin Colombet2016-08-312-0/+24
| | | | | | This will be used to warm when we fallback in GlobalISel. llvm-svn: 280271
* Fix indent. NFC.Chad Rosier2016-08-311-2/+2
| | | | llvm-svn: 280270
* Fix a typo in a comment.George Burgess IV2016-08-311-2/+2
| | | | llvm-svn: 280269
OpenPOWER on IntegriCloud