summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [clang-tidy] Replace redundant checks with an assert().Artem Belevich2018-09-181-2/+3
| | | | | | | | | | findStyleKind is only called if D is an explicit identifier with a name, so the checks for operators will never return true. The explicit assert() enforces this invariant. Differential Revision: https://reviews.llvm.org/D52179 llvm-svn: 342514
* [WebAssembly] v4f32.abs and v2f64.absThomas Lively2018-09-183-0/+39
| | | | | | | | | | Summary: implement lowering of @llvm.fabs for vector types. Reviewers: aheejin, dschuff Subscribers: llvm-svn: 342513
* Driver: hoist `-mlimit-float-precision` (NFC)Saleem Abdulrasool2018-09-181-5/+5
| | | | | | | | Move the floating point argument handling into the RenderFloatingPointOptions helper. This relocation just puts the floating point related options into a single location. llvm-svn: 342512
* build: clean up some unnecessary cached variablesSaleem Abdulrasool2018-09-181-5/+0
| | | | | | | | | The CMAKE_<LANG>_ARCHIVE_FINISH rule doesn't need to be cleared for Darwin static libraries. Avoid resetting the variables in the SIP case. If CMAKE_RANLIB is cached, then CMake's Ninja generator will invoke ranlib during installation, not due to the CMAKE_<LANG>_ARCHIVE_FINISH rule. llvm-svn: 342511
* Fix fomit-frame-pointe+pg errorDavid Blaikie2018-09-181-1/+1
| | | | llvm-svn: 342510
* Revert r342494 as it was failing on a bot and the author cannot look at it ↵Douglas Yung2018-09-181-66/+0
| | | | | | | | until tomorrow. Failing bot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/36708 llvm-svn: 342509
* Allow use of self.filecheck in LLDB tests (c.f self.expect)Vedant Kumar2018-09-189-70/+137
| | | | | | | | | | | | | Add a "filecheck" method to the LLDB test base. This allows test authors to pattern match command output using FileCheck, making it possible to write stricter tests than what `self.expect` allows. For context (motivation, examples of stricter checking, etc), see the lldb-dev thread: "Using FileCheck in lldb inline tests". Differential Revision: https://reviews.llvm.org/D50751 llvm-svn: 342508
* [benchmark] Mention another cherry-picked change in README.LLVM. NFC.Martin Storsjo2018-09-181-0/+2
| | | | | | This was cherry-picked in SVN r342450. llvm-svn: 342506
* [clangd] Fix error handling for SymbolID parsing (notably YAML and dexp)Sam McCall2018-09-185-21/+22
| | | | llvm-svn: 342505
* [builtins] Fix c?zdi2 on sparc64/Linux and ignore riscv32Kristina Brooks2018-09-182-4/+14
| | | | | | | | | | | | | On sparc64/Linux, sparc64 isn't defined; the canonical way of checking for sparc64 is sparc && arch64, which also works on the BSDs and Solaris. Since this problem does not occur on 32-bit architectures, riscv32 can be ignored. This fixes and refines rL324593. Patch by jrtc27 (James Clarke) Differential Revision: https://reviews.llvm.org/D43146 llvm-svn: 342504
* [bugpoint] Revert r318459Don Hinton2018-09-181-8/+14
| | | | | | | | Summary: Revert r318459 which introduced a TempFile scoping bug. Differential Revision: https://reviews.llvm.org/D51836 llvm-svn: 342503
* Remove svn:executable from a documentation file.Kristina Brooks2018-09-181-0/+0
| | | | | | Should fix the buildbot failure caused by it. llvm-svn: 342502
* Fix logic around determining use of frame pointer with -pg.Stephen Hines2018-09-181-2/+1
| | | | | | | | | | | | | | | | | | | | Summary: As part of r342165, I rewrote the logic to check whether -fno-omit-frame-pointer was passed after a -fomit-frame-pointer argument. This CL switches that logic to use the consolidated shouldUseFramePointer() function. This fixes a potential issue where -pg gets used with -fomit-frame-pointer on a platform that must always retain frame pointers. Reviewers: dblaikie Reviewed By: dblaikie Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D52191 llvm-svn: 342501
* [Docs] [Support] System Library to Support Library transition along with ↵Kristina Brooks2018-09-183-243/+252
| | | | | | | | | | | | minor corrections to reflect it. System Library has been a long deprecated term along with the path lib/System, having been superseded/renamed to the Support Library a long time ago. These patches reflect those changes in documentation as well as update some outdated examples and provide context to the origin of the Support Library. Differential Revision: https://reviews.llvm.org/D52107 llvm-svn: 342500
* [Modules] Add platform and environment features to requires clauseBruno Cardoso Lopes2018-09-183-2/+118
| | | | | | | | | | | | | Allows module map writers to add build requirements based on platform/os. This helps when target features and language dialects aren't enough to conditionalize building a module, among other things, it allow module maps for different platforms to live in the same file. rdar://problem/43909745 Differential Revision: https://reviews.llvm.org/D51910 llvm-svn: 342499
* Do not optimize atomic load to non-atomic memcmpChristy Lee2018-09-182-2/+50
| | | | | | Differential Revision: https://reviews.llvm.org/D51998 llvm-svn: 342498
* [AMDGPU] Match udot8 patternFarhana Aleen2018-09-182-22/+2550
| | | | | | | | | | | | | | | | | | | | | Summary: D.u32 = S0.u4[0] * S1.u4[0] + S0.u4[1] * S1.u4[1] + S0.u4[2] * S1.u4[2] + S0.u4[3] * S1.u4[3] + S0.u4[4] * S1.u4[4] + S0.u4[5] * S1.u4[5] + S0.u4[6] * S1.u4[6] + S0.u4[7] * S1.u4[7] + S2.u32 Author: FarhanaAleen Reviewed By: arsenm, nhaehnle Differential Revision: https://reviews.llvm.org/D51947 llvm-svn: 342497
* Fix function signature to actually be an override.Zachary Turner2018-09-181-1/+2
| | | | llvm-svn: 342496
* [PGO][CHR] Add opt remarks.Hiroshi Yamauchi2018-09-181-5/+75
| | | | | | | | | | | | Reviewers: davidxl Reviewed By: davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52056 llvm-svn: 342495
* Check lines before using alias analysis to check for interferenceChristy Lee2018-09-181-0/+66
| | | | | | | | This diff is to show the difference before and after D51550 Differential Revision: https://reviews.llvm.org/D52044 llvm-svn: 342494
* [PDB] Better support for enumerating pointer types.Zachary Turner2018-09-1825-118/+720
| | | | | | | | | | | | | | | | | | | There were several issues with the previous implementation. 1) There were no tests. 2) We didn't support creating PDBSymbolTypePointer records for builtin types since those aren't described by LF_POINTER records. 3) We didn't support a wide enough variety of builtin types even ignoring pointers. This patch fixes all of these issues. In order to add tests, it's helpful to be able to ignore the symbol index id hierarchy because it makes the golden output from the DIA version not match our output, so I've extended the dumper to disable dumping of id fields. llvm-svn: 342493
* [PostRASink] Make sure to remove subregisters from live-ins as wellKrzysztof Parzyszek2018-09-182-2/+38
| | | | llvm-svn: 342492
* [NFC] Update comments regarding BufferSize for ProcResources Jinsong Ji2018-09-181-1/+1
| | | | llvm-svn: 342491
* Revert rL342465: Added function to set a register to a particular value + tests.Simon Pilgrim2018-09-186-314/+264
| | | | | | rL342465 is breaking the MSVC buildbots. llvm-svn: 342490
* Revert rL342466: [llvm-exegesis] Improve Register Setup.Simon Pilgrim2018-09-1816-187/+137
| | | | | | | | | | | | | | | | rL342465 is breaking the MSVC buildbots, but I need to revert this dependent revision as well. Summary: Added function to set a register to a particular value + tests. Add EFLAGS test, use new setRegTo instead of setRegToConstant. Reviewers: courbet, javed.absar Subscribers: mgorny, tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D51856 llvm-svn: 342489
* [RISCV][MC] Use a custom ParserMethod for the bare_symbol operand typeAlex Bradbury2018-09-182-33/+36
| | | | | | | | | | | | | | This allows the hard-coded shouldForceImmediate logic to be removed because the generated MatchOperandParserImpl makes use of the current context (i.e. the current mnemonic) to determine parsing behaviour, and so won't first try to parse a register before parsing a symbol name. No functional change is intended. gas accepts immediate arguments for call, tail and lla. This patch doesn't address this discrepancy. Differential Revision: https://reviews.llvm.org/D51733 llvm-svn: 342488
* [RISCV][MC] Reject bare symbols for the simm12 operand typeAlex Bradbury2018-09-186-27/+39
| | | | | | | addi a0, a0, foo and lw a0, foo(a0) and similar are now rejected. An explicit %lo and %pcrel_lo modifier is required. This matches gas behaviour. llvm-svn: 342487
* [RISCV][MC] Tighten up checking of sybol operands to lui and auipcAlex Bradbury2018-09-184-18/+70
| | | | | | | | | | | | Reject bare symbols and accept only %pcrel_hi(sym) for auipc and %hi(sym) for lui. Also test valid operand modifiers in rv32i-valid.s. Note this is slightly stricter than gas, which will accept either %pcrel_hi or %hi for both lui and auipc. Differential Revision: https://reviews.llvm.org/D51731 llvm-svn: 342486
* Remove dead function user_cache_directory()Nico Weber2018-09-185-84/+0
| | | | | | | | | | | | It's been unused since it was added almost 3 years ago in https://reviews.llvm.org/D13801 Motivated by https://reviews.llvm.org/rL342002 since it removes one of the functions keeping a ref to SHGetKnownFolderPath. Differential Revision: https://reviews.llvm.org/D52184 llvm-svn: 342485
* [index] Enhance indexing for module referencesArgyrios Kyrtzidis2018-09-1812-10/+112
| | | | | | | * Create a USR for the occurrences of the 'module' symbol kind * Record module references for each identifier in an import declaration llvm-svn: 342484
* [llvm-mca] Add the ability to mark register reads/writes associated with ↵Andrea Di Biagio2018-09-186-41/+47
| | | | | | | | | | | | | | | | | | dep-breaking instructions. NFCI This patch adds two new boolean fields: - Field `ReadState::IndependentFromDef`. - Field `WriteState::WritesZero`. Field `IndependentFromDef` is set for ReadState objects associated with dependency-breaking instructions. It is used by the simulator when updating data dependencies between registers. Field `WritesZero` is set by WriteState objects associated with dependency breaking zero-idiom instructions. It helps the PRF identify which writes don't consume any physical registers. llvm-svn: 342483
* Revert r342457 "Fixes removal of dead elements from PressureDiff (PR37252)."Hans Wennborg2018-09-184-16/+17
| | | | | | | | | | | This broke the lit tests on a bunch of buildbots, e.g. http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/36679 > Reviewed By: MatzeB > > Differential Revision: https://reviews.llvm.org/D51495 llvm-svn: 342482
* Use pass-by-reference for-range loop. NFCI.Simon Pilgrim2018-09-181-2/+3
| | | | llvm-svn: 342481
* [llvm-mca] Slightly refactor class InstRef. NFC.Andrea Di Biagio2018-09-182-10/+13
| | | | llvm-svn: 342480
* [ThinLTO] Update LangRef doc for summary parsingTeresa Johnson2018-09-181-10/+10
| | | | | | | | | | | | | | | | | Summary: Remove note about summary being ignored. Update to reflect the fact that summary is now parsed by llvm-as. While here, fix one summary format that changed since the initial implementation. Reviewers: dexonsmith Subscribers: inglorion, llvm-commits Differential Revision: https://reviews.llvm.org/D51540 llvm-svn: 342479
* [PowerPC] Do not emit record-form rotates when record-form andi/andis sufficesNemanja Ivanovic2018-09-184-28/+111
| | | | | | | | | | | | This is a follow-up to the previous patch that eliminated some of the rotates. With this addition, we will also emit the record-form andis. This patch increases the number of record-form rotates we eliminate by more than 70%. Differential revision: https://reviews.llvm.org/D44897 llvm-svn: 342478
* [LTO] Make detection of WPD remark enablement more robustTeresa Johnson2018-09-182-9/+14
| | | | | | | | | | | | | | | | Summary: Currently only the first function in the module is checked to see if it has remarks enabled. If that first function is a declaration, remarks will be incorrectly skipped. Change to look for the first non-empty function. Reviewers: pcc Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D51556 llvm-svn: 342477
* [LLVM-C][OCaml] Add UnifyFunctionExitNodes pass to C and OCaml APIswhitequark2018-09-185-0/+22
| | | | | | | | | | | | | | | | Summary: Adds LLVMAddUnifyFunctionExitNodesPass to expose createUnifyFunctionExitNodesPass to the C and OCaml APIs. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52212 llvm-svn: 342476
* [LLVM-C][OCaml] Add LowerAtomic pass to C and OCaml APIswhitequark2018-09-185-0/+21
| | | | | | | | | | | | | | | | Summary: Adds LLVMAddLowerAtomicPass to expose createLowerAtomicPass in the C and OCaml APIs. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: jfb, llvm-commits Differential Revision: https://reviews.llvm.org/D52211 llvm-svn: 342475
* [OCaml] Add OCaml API for LLVMGetIndiceswhitequark2018-09-183-0/+19
| | | | | | | | | | | | | | | | | | Summary: This patch adds a thin wrapper around LLVMGetNumIndices and LLVMGetIndices to return the indices of ExtractValue or InsertValue instructions as an OCaml array. It has not seemed to be necessary to expose LLVMGetNumIndices separately. Reviewers: whitequark Reviewed By: whitequark Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D52207 llvm-svn: 342474
* [clangd] Get rid of Decls parameter in indexMainDecls. NFCEric Liu2018-09-186-21/+17
| | | | | | It's already available in ParsedAST. llvm-svn: 342473
* [PowerPC] Optimize compares fed by ANDISoNemanja Ivanovic2018-09-182-1/+46
| | | | | | | | | | | | | | | Both ANDIo and ANDISo (and the 64-bit versions) are record-form instructions. When optimizing compares, we handle the former in order to eliminate the compare instruction but not the latter. This patch just adds the latter to the set of instructions we optimize. The reason these instructions need to be handled separately is that they are not part of the RecFormRel map (since they don't have a non-record-form). The missing "and-immediate-shifted" is just an oversight in the initial implementation. Differential revision: https://reviews.llvm.org/D51353 llvm-svn: 342472
* [TargetLowering] Android has sincos functionsJohn Brawn2018-09-183-1/+21
| | | | | | | | | Since Android API version 9 the Android libm has had the sincos functions, so they should be recognised as libcalls and sincos optimisation should be applied. Differential Revision: https://reviews.llvm.org/D52025 llvm-svn: 342471
* cl-options.c: Fix negative -cfguard checkHans Wennborg2018-09-181-1/+1
| | | | llvm-svn: 342470
* Fix signed/unsigned comparison warning. NFCI.Simon Pilgrim2018-09-181-1/+1
| | | | llvm-svn: 342469
* [clang-tidy] use CHECK-NOTES in bugprone-unused-return-valueJonas Toth2018-09-182-31/+62
| | | | | | | | | | | | Reviewers: aaron.ballman, alexfh, hokein Reviewed By: alexfh Subscribers: xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D52187 llvm-svn: 342468
* [TableGen] CodeGenDAGPatterns::GenerateVariants - full caching of matching ↵Simon Pilgrim2018-09-181-11/+49
| | | | | | | | | | | | predicates Further extension to D51035, this patch avoids all repeated predicates[] matching by caching as it collects the patterns that have multiple variants. Saves around 25secs in debug builds of x86 -gen-dag-isel. Differential Revision: https://reviews.llvm.org/D51839 llvm-svn: 342467
* [llvm-exegesis] Improve Register Setup.Guillaume Chatelet2018-09-1816-137/+187
| | | | | | | | | | | | | | Summary: Added function to set a register to a particular value + tests. Add EFLAGS test, use new setRegTo instead of setRegToConstant. Reviewers: courbet, javed.absar Subscribers: mgorny, tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D51856 llvm-svn: 342466
* Added function to set a register to a particular value + tests.Guillaume Chatelet2018-09-186-264/+314
| | | | llvm-svn: 342465
* Improve Register SetupGuillaume Chatelet2018-09-186-65/+245
| | | | llvm-svn: 342464
OpenPOWER on IntegriCloud