summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Update a couple comments to remove a mention of a sign extending that ↵Craig Topper2018-11-161-3/+3
| | | | | | no longer happens. NFC llvm-svn: 347010
* [VFS] Implement `RedirectingFileSystem::getRealPath`.Volodymyr Sapsai2018-11-162-4/+75
| | | | | | | | | | | | | | | | | | | | | | | | | It fixes the case when Objective-C framework is added as a subframework through a symlink. When parent framework infers a module map and fails to detect a symlink, it would add a subframework as a submodule. And when we parse module map for the subframework, we would encounter an error like > error: umbrella for module 'WithSubframework.Foo' already covers this directory By implementing `getRealPath` "an egregious but useful hack" in `ModuleMap::inferFrameworkModule` works as expected. rdar://problem/45821279 Reviewers: bruno, benlangmuir, erik.pilkington Reviewed By: bruno Subscribers: hiraditya, dexonsmith, JDevlieghere, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D54245 llvm-svn: 347009
* [AMDGPU] Add FixupVectorISel pass, currently Supports SREGs in GLOBAL LD/STRon Lieberman2018-11-1623-131/+894
| | | | | | | | | Add a pass to fixup various vector ISel issues. Currently we handle converting GLOBAL_{LOAD|STORE}_* and GLOBAL_Atomic_* instructions into their _SADDR variants. This involves feeding the sreg into the saddr field of the new instruction. llvm-svn: 347008
* [CUDA] updated CompileCudaWithLLVM.rstArtem Belevich2018-11-161-20/+21
| | | | | | Differential Revision: https://reviews.llvm.org/D54608 llvm-svn: 347007
* [analyzer] ConversionChecker: handle floating pointKristof Umann2018-11-162-11/+75
| | | | | | | | | | | | | | | | | Extend the alpha.core.Conversion checker to handle implicit converions where a too large integer value is converted to a floating point type. Each floating point type has a range where it can exactly represent all integers; we emit a warning when the integer value is above this range. Although it is possible to exactly represent some integers which are outside of this range (those that are divisible by a large enough power of 2); we still report cast involving those, because their usage may lead to bugs. (For example, if 1<<24 is stored in a float variable x, then x==x+1 holds.) Patch by: Donát Nagy! Differential Revision: https://reviews.llvm.org/D52730 llvm-svn: 347006
* [WebAssembly] Change type of wake count to unsigned intHeejin Ahn2018-11-162-2/+2
| | | | | | | | | | | | | | | | Summary: We discussed this at the Nov 12th CG meeting, and decided to use the unsigned semantics for the wake count. Corresponding spec change: https://github.com/WebAssembly/threads/pull/110 Reviewers: sbc100 Subscribers: dschuff, jgravelle-google, sunfish, jfb, cfe-commits Differential Revision: https://reviews.llvm.org/D54572 llvm-svn: 347005
* Re-apply r346985: [ADT] Drop llvm::Optional clang-specific optimization for ↵Tom Stellard2018-11-162-26/+0
| | | | | | | | | trivially copyable types Remove a test case that was added with the optimization we are now removing. llvm-svn: 347004
* [WebAssembly] Split BBs after throw instructionsHeejin Ahn2018-11-165-26/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: `throw` instruction is a terminator in wasm, but BBs were not splitted after `throw` instructions, causing machine instruction verifier to fail. This patch - Splits BBs after `throw` instructions in WasmEHPrepare and adding an unreachable instruction after `throw`, which will be deleted in LateEHPrepare pass - Refactors WasmEHPrepare into two member functions - Changes the semantics of `eraseBBsAndChildren` in LateEHPrepare pass to match that of WasmEHPrepare pass, which is newly added. Now `eraseBBsAndChildren` does not delete BBs with remaining predecessors. - Fixes style nits, making static function names conform to clang-tidy - Re-enables the test temporarily disabled by rL346840 && rL346845 Reviewers: dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D54571 llvm-svn: 347003
* [AMDGPU] NFC Test commitRon Lieberman2018-11-161-1/+1
| | | | llvm-svn: 347002
* AMDHSA: More code object v3 fixes:Konstantin Zhuravlyov2018-11-157-20/+21
| | | | | | | | - Make sure IsaInfo::hasCodeObjectV3 returns true only for AMDHSA - Update assembler metadata tests to use v2 by default llvm-svn: 347001
* [clang-tidy] Fix reference to -[NSError init] in AvoidNSErrorInitCheck.hStephane Moore2018-11-151-1/+1
| | | | llvm-svn: 347000
* Fix compilation failure in unit tests on Windows.Zachary Turner2018-11-151-0/+5
| | | | llvm-svn: 346999
* Remove myself as owner of clang-query.Peter Collingbourne2018-11-151-4/+0
| | | | | | | | | I haven't been involved with the project for years, so it's probably best for someone else to be the code owner. Differential Revision: https://reviews.llvm.org/D54453 llvm-svn: 346998
* [CMake] Explicitly list Linux targets for Fuchsia toolchainPetr Hosek2018-11-151-31/+31
| | | | | | | | | Not all Linux targets use the ${arch}-linux-gnu spelling, so instead specify the list of Linux explicitly. Differential Revision: https://reviews.llvm.org/D54598 llvm-svn: 346997
* Fix parens warning in assert in ASTMatchFinderErich Keane2018-11-151-7/+7
| | | | | Change-Id: Ie34f9c6846b98fba87449e73299519fc2346bac1 llvm-svn: 346996
* [X86] Remove ANY_EXTEND special case from canReduceVMulWidthCraig Topper2018-11-151-18/+2
| | | | | | | | | | Removing this code doesn't affect any lit tests so it doesn't appear to be tested anymore. I assume it was when it was added, but I guess something else changed? Code coverage report also says its unused. I mostly didn't like that it seemed to count the sign bits as if it was a sign_extend, but then set isPositive as if it was a zero_extend. It feels like we should have picked one interpretation? Differential Revision: https://reviews.llvm.org/D54596 llvm-svn: 346995
* Implement basic DidAttach and DidLaunch for DynamicLoaderWindowsDYLDNathan Lanza2018-11-157-4/+147
| | | | | | | | | | | | | | | Summary: This commit implements basic DidAttach and DidLaunch for the windows DynamicLoader plugin which allow us to load shared libraries from the inferior. Reviewers: sas, zturner Reviewed By: zturner Differential Revision: https://reviews.llvm.org/D54544 llvm-svn: 346994
* Force SHELL to be cmd.exe on Windows for the test suiteNathan Lanza2018-11-151-0/+11
| | | | | | | | | | | | | | | | Summary: Windows make will search for other shells and choose those over cmd if available (e.g. C:\cygdrive\bin\sh.exe). This shell has numerous issues with path handling (/ vs \\ vs \ and C:). So default to using cmd.exe which is known to work. Reviewers: zturner, sas, xiaobai Reviewed By: zturner Differential Revision: https://reviews.llvm.org/D54510 llvm-svn: 346993
* [AMDGPU] Update code object metadata format documentationScott Linder2018-11-151-34/+519
| | | | | | | | | | | | | | | * Add amdhsa prefix to names to allow other tools to use the metadata without collision. * Make names consistent. * Simplify structure. * Change note record ID. * Switch from YAML to MsgPack format. * Document metadata assembler directive. Patch By: t-tye (Tony Tye) Differential Revision: https://reviews.llvm.org/D53445 llvm-svn: 346992
* A unit test file moved.Jason Molenda2018-11-151-4/+4
| | | | llvm-svn: 346991
* Revert "[ADT] Drop llvm::Optional clang-specific optmization for trivially ↵Tom Stellard2018-11-151-0/+18
| | | | | | | | | | copyable types" This reverts commit r346985. It looks like one of the unittests also needs to be updated, reverting while I investigate. llvm-svn: 346990
* Disable filesystem benchmark when libstdc++ doesn't support itEric Fiselier2018-11-151-3/+18
| | | | llvm-svn: 346989
* Add a check whether or not a str is utf8 prior to emplacingNathan Lanza2018-11-154-40/+65
| | | | | | | | | | | | | | | | | | | Summary: Highlighing junk data on VSCode can send a query for evaluate which fails. In particular cases on Windows, this the error message can end up as a c-string of [-35,-35,-35,-35,...]. Attempting to emplace this as the error message causes an assert failure. Prior to emplacing the error message, confirm that it is valid UTF8 to eliminate errors such as mentione above. Reviewers: xiaobai, clayborg Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D53008 llvm-svn: 346988
* [ADT] Drop llvm::Optional clang-specific optmization for trivially copyable ↵Tom Stellard2018-11-151-18/+0
| | | | | | | | | | | | | | | | | | types Summary: This fixes libLLVM.so ABI mismatches between llvm compiled with clang and llvm compiled with gcc (PR39427). Reviewers: bkramer, sylvestre.ledru, mgorny, hans Reviewed By: bkramer, hans Subscribers: dexonsmith, kristina, llvm-commits Differential Revision: https://reviews.llvm.org/D54540 llvm-svn: 346985
* Upgrade Google Benchmark library to ToTEric Fiselier2018-11-1557-863/+2966
| | | | llvm-svn: 346984
* [X86] Minor cleanup to getExtendInVec. NFCICraig Topper2018-11-151-4/+7
| | | | | | | | | | Use unsigned to calculate the subvector index to avoid a cast. Remove an unnecessary condition and replace it with a stronger assert. Use the InVT variable we updated when we extracted instead of grabbing it from the In SDValue. llvm-svn: 346983
* [InstCombine] adjust rotate direction in tests; NFCSanjay Patel2018-11-151-12/+12
| | | | | | Copy/paste errors - all of the changed tests rotated left before. llvm-svn: 346982
* Port the Darwin universal binary testcase to x86_64.Adrian Prantl2018-11-152-61/+57
| | | | | | | | | Xcode 10 doesn't ship with an i386 SDK any more. This patch ports the testcase from an i386/x86_64 -> x86_64/x86_64h universal binary. rdar://problem/46099343 llvm-svn: 346981
* [X86] Add -x86-experimental-vector-widening support to reduceVMULWidth and ↵Craig Topper2018-11-152-44/+48
| | | | | | | | | | | | combineMulToPMADDWD In reduceVMULWidth, we no longer need to worry about extending the vector to 128 bits first. Regular widening of extends, muls and shuffles will take care of that for us. In combineMulToPMADDWD, we can handle v2i32 multiplies and allow the VPMADDWD to be widened to v4i32 during type legalization by adding custom widening like we do have for AVG/ADDUS/SUBUS. I had to modify that code a little to allow different and output VTs. Differential Revision: https://reviews.llvm.org/D54512 llvm-svn: 346980
* [WebAssembly] Fix return type of nextByteThomas Lively2018-11-151-2/+2
| | | | | | | | | | | | | | Summary: The old return type did not allow for correct error reporting and was causing a compiler warning. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D54586 llvm-svn: 346979
* [BinaryFormat] Add MsgPackTypesScott Linder2018-11-155-0/+865
| | | | | | | | | Add data structure to represent MessagePack "documents" and convert to/from both MessagePack and YAML encodings. Differential Revision: https://reviews.llvm.org/D48175 llvm-svn: 346978
* [InstCombine] add tests for funnel shift (rotate) canonicalization; NFCSanjay Patel2018-11-151-1/+342
| | | | llvm-svn: 346975
* [WebAssembly] Import the stack pointer when building shared librariesSam Clegg2018-11-156-66/+92
| | | | | | Differential Revision: https://reviews.llvm.org/D54558 llvm-svn: 346974
* [X86] Guess that a CPU is Icelake it if reports support for AVX512VBMI2.Craig Topper2018-11-151-0/+6
| | | | llvm-svn: 346973
* [WebAssembly] Refactor config setting and checking. NFC.Sam Clegg2018-11-152-53/+66
| | | | | | | | This matches the way the ELF backend does it. Differential Revision: https://reviews.llvm.org/D54559 llvm-svn: 346972
* [LTO] Load sample profile in LTO link step.Xin Tong2018-11-153-0/+59
| | | | | | | | | | | | | | Summary: Load sample profile in LTO link step. ThinLTO calls populateModulePassManager to load the profile Reviewers: tejohnson, davidxl, danielcdh Subscribers: mehdi_amini, inglorion, steven_wu, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D54564 llvm-svn: 346971
* [TTI] Reduction costs only need to include a single extract element costSimon Pilgrim2018-11-1515-1334/+1186
| | | | | | | | | | | | We were adding the entire scalarization extraction cost for reductions, which returns the total cost of extracting every element of a vector type. For reductions we don't need to do this - we just need to extract the 0'th element after the reduction pattern has completed. Fixes PR37731 Differential Revision: https://reviews.llvm.org/D54585 llvm-svn: 346970
* [AST] Store the string data in StringLiteral in a trailing array of charsBruno Ricci2018-11-155-154/+237
| | | | | | | | | | | | | | | | | | | | | | | | | Use the newly available space in the bit-fields of Stmt and store the string data in a trailing array of chars after the trailing array of SourceLocation. This cuts the size of StringLiteral by 2 pointers. Also refactor slightly StringLiteral::Create and StringLiteral::CreateEmpty so that StringLiteral::Create is just responsible for the allocation, and the constructor is responsible for doing all the initialization. This match what is done for the other classes in general. This patch should have no other functional changes apart from this. A concern was raised during review about the interaction between this patch and serialization abbreviations. I believe however that there is currently no abbreviation defined for StringLiteral. The only statements/expressions which have abbreviations are currently DeclRefExpr, IntegerLiteral, CharacterLiteral and ImplicitCastExpr. Differential Revision: https://reviews.llvm.org/D54166 Reviewed By: dblaikie, rjmccall llvm-svn: 346969
* [InstCombine] fix rotate narrowing bug for non-pow-2 typesSanjay Patel2018-11-152-18/+23
| | | | llvm-svn: 346968
* [AST][NFC] Various NFCs in StringLiteralBruno Ricci2018-11-152-41/+35
| | | | | | | | | | | | | Factored out of D54166 ([AST] Store the string data in StringLiteral in a trailing array of chars): * For-range loops in containsNonAscii and containsNonAsciiOrNull. * Comments and style fixes. * int -> unsigned in mapCharByteWidth since TargetInfo::getCharWidth and friends return an unsigned, and StringLiteral manipulates and stores CharByteWidth as an unsigned. llvm-svn: 346967
* [InstCombine] add rotate narrowing tests with odd types; NFCSanjay Patel2018-11-151-0/+46
| | | | | | | | | There's a potential miscompile here. It's unlikely in the real world because this transform is guarded with shouldChangeType(), but this test file doesn't include a standard data-layout for some reason (despite including a custom 1), so we can see the bug. llvm-svn: 346966
* [SLPVectorizer][X86] Regenerate reduction minmax tests and cleanup check ↵Simon Pilgrim2018-11-151-659/+272
| | | | | | prefixes llvm-svn: 346965
* [SLPVectorizer][X86] Regenerate reduction tests and add PR37731 testSimon Pilgrim2018-11-151-210/+196
| | | | | | Cleanup check prefixes llvm-svn: 346964
* [ELF] - Renamed few more AArch64 specific relocation expressions. NFC.George Rimar2018-11-154-17/+18
| | | | | | They are AArch64 only, so have to have AARCH64_* prefix. llvm-svn: 346963
* [X86] Fix MCNullStreamer support for modules with a CodeView flag Simon Pilgrim2018-11-152-10/+10
| | | | | | | | | | | | This fixes -filetype=null support when compiling for a Win32 target and the module has a CodeView flag. The only places changed are the uses of getTargetStreamer function - this patch guards both of them with null checks. Committed on behalf of @eush (Eugene Sharygin) Differential Revision: https://reviews.llvm.org/D54008 llvm-svn: 346962
* [clang-tidy] Update checks to play nicely with limited traversal scope added ↵Sam McCall2018-11-155-10/+20
| | | | | | | | | | | | | | in r346847 Summary: (See D54204 for original review) Reviewers: hokein Subscribers: xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D54579 llvm-svn: 346961
* [InstSimplify] delete shift-of-zero guard ops around funnel shiftsSanjay Patel2018-11-152-36/+56
| | | | | | | | | | | | | | | | | | | | | | | | This is a problem seen in common rotate idioms as noted in: https://bugs.llvm.org/show_bug.cgi?id=34924 Note that we are not canonicalizing standard IR (shifts and logic) to the intrinsics yet. (Although I've written this before...) I think this is the last step before we enable that transform. Ie, we could regress code by doing that transform without this simplification in place. In PR34924, I questioned whether this is a valid transform for target-independent IR, but I convinced myself this is ok. If we're speculating a funnel shift by turning cmp+br into select, then SimplifyCFG has already determined that the transform is justified. It's possible that SimplifyCFG is not taking into account profile or other metadata, but if that's true, then it's a bug independent of funnel shifts. Also, we do have CGP code to restore a guard like this around an intrinsic if it can't be lowered cheaply. But that isn't necessary for funnel shift because the default expansion in SelectionDAGBuilder includes this same cmp+select. Differential Revision: https://reviews.llvm.org/D54552 llvm-svn: 346960
* [RISCV] Mark C.EBREAK instruction as having side effectsAlex Bradbury2018-11-151-1/+1
| | | | | | | | | | | | | | | C.EBREAK was defined with hasSideEffects = 0, which is incorrect and inconsistent with the non-compressed instruction form. This patch corrects this oversight. This wouldn't cause codegen issues, as compressed instructions are only ever generated by converting the non-compressed form as an MCInst. But having correct flags is still worthwhile. Differential Revision: https://reviews.llvm.org/D54256 Patch by Luís Marques. llvm-svn: 346959
* [RISCV] Mark FREM as ExpandAlex Bradbury2018-11-153-1/+33
| | | | | | | | | | | | Mark the FREM SelectionDAG node as Expand, which is necessary in order to support the frem IR instruction on RISC-V. This is expanded into a library call. Adds the corresponding test. Previously, this would have triggered an assertion at instruction selection time. Differential Revision: https://reviews.llvm.org/D54159 Patch by Luís Marques. llvm-svn: 346958
* [AST][NFC] Re-add comment in BinaryOperator which was removed by r346954Bruno Ricci2018-11-151-0/+3
| | | | llvm-svn: 346957
OpenPOWER on IntegriCloud