summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Frontend] Avoid including default system header paths on FuchsiaPetr Hosek2018-03-021-0/+2
| | | | | | | | These paths aren't used and don't make sense on Fuchsia. Differential Revision: https://reviews.llvm.org/D43992 llvm-svn: 326542
* [WebAssembly] More uses of uint8_t for single byte valuesHeejin Ahn2018-03-021-13/+13
| | | | | | | | | | | | Summary: It looks like this was missing from D43921. Reviewers: sbc100 Subscribers: jfb, dschuff, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D43991 llvm-svn: 326541
* [ThinLTO] Added a couple of C LTO API interfaces to control the cache policy.Ekaterina Romanova2018-03-026-3/+96
| | | | | | | | | | - thinlto_codegen_set_cache_size_bytes to control the absolute size of cache directory. - thinlto_codegen_set_cache_size_files the size and amount of files in cache directory. These functions have been supported in C++ LTO API for a long time, but were absent in C LTO API. Differential Revision: https://reviews.llvm.org/D42446 llvm-svn: 326537
* Update man page for long opts that accept = after r326506Ed Maste2018-03-021-7/+7
| | | | | | | | | | | Also remove the space between --lto-O and value, as the option with a space is not accepted at present. Leave --opt-remarks-filename as it does not currently accept the = form. llvm.org/pr36563 llvm-svn: 326536
* AMDGPU/GCN: Promote i16 ctpopJan Vesely2018-03-023-0/+339
| | | | | | | | | i16 capable ASICs do not support i16 operands for this instruction. Add tablegen pattern to merge chained i16 additions. Differential Revision: https://reviews.llvm.org/D43985 llvm-svn: 326535
* AMDGPU/GlobalISel: Define instruction mapping for G_FPTOSIMatt Arsenault2018-03-022-0/+32
| | | | | | Patch by Tom Stellard llvm-svn: 326534
* AMDGPU/GlobalISel: Define instruction mapping for G_FPTOUIMatt Arsenault2018-03-022-0/+32
| | | | | | Patch by Tom Stellard llvm-svn: 326533
* AMDGPU/GlobalISel: Define instruction mapping for G_FMULMatt Arsenault2018-03-022-0/+70
| | | | llvm-svn: 326532
* Remove debugging code I accidentally committed in r326530.Akira Hatanaka2018-03-021-1/+0
| | | | llvm-svn: 326531
* Add an option to disable tail-call optimization for escaping blocks.Akira Hatanaka2018-03-0211-5/+103
| | | | | | | | | | | | | This makes it easier to debug crashes and hangs in block functions since users can easily find out where the block is called from. The option doesn't disable tail-calls from non-escaping blocks since non-escaping blocks are not as hard to debug as escaping blocks. rdar://problem/35758207 Differential Revision: https://reviews.llvm.org/D43841 llvm-svn: 326530
* [analyzer] [tests] Again, make tests more resilient to changes in ↵George Karpenkov2018-03-022-2/+2
| | | | | | exploration strategy llvm-svn: 326529
* [InstCombine] Add more test case to fpextend.ll.Craig Topper2018-03-021-0/+186
| | | | | | This includes the test cases from D43970 and additional tests for combining (fptrunc (binop (fpext), (fpext))) where the pre-extended types don't match the trunc and therefore can't be completely removed. llvm-svn: 326528
* Always set dso_local in CodeGenModule::setDSOLocal.Rafael Espindola2018-03-021-2/+7
| | | | | | | | | | | | | This shouldn't change any results for now, but is more consistent with how we set dllimport/dllexport and will make future changes easier. Since clang produces IR as it parses, it can find out mid file that something is dllimport. When that happens we have to drop dso_local. This is not a problem right now because CodeGenModule::setDSOLocal is called from relatively few places at the moment. llvm-svn: 326527
* AMDGPU/GlobalISel: Define instruction mapping for G_FADDMatt Arsenault2018-03-022-1/+72
| | | | | | Patch by Tom Stellard llvm-svn: 326526
* AMDGPU/GlobalISel: Define instruction mapping for G_SHLMatt Arsenault2018-03-022-0/+69
| | | | | | Patch by Tom Stellard llvm-svn: 326525
* AMDGPU/GlobalISel: Define instruction mapping for G_XORMatt Arsenault2018-03-022-0/+69
| | | | llvm-svn: 326524
* AMDGPU/GlobalISel: Define instruction mapping for G_ANDMatt Arsenault2018-03-022-0/+69
| | | | | | Patch by Tom Stellard llvm-svn: 326523
* [WebAssembly] Gather EH instructions in one place. NFC.Heejin Ahn2018-03-021-10/+20
| | | | | | | | | | | | | | | Summary: - Gather EH instructions in one place for easy tracking (more will be added later) - Variable name change Reviewers: dschuff Subscribers: jfb, sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D43742 llvm-svn: 326522
* [ArgumentPromotion] don't break musttail invariant PR36543Fedor Indutny2018-03-022-0/+55
| | | | | | | | | | | | | | | | Summary: Do not break musttail invariant by promoting arguments of musttail callee or caller. Reviewers: sanjoy, dberlin, hfinkel, george.burgess.iv, fhahn, rnk Reviewed By: rnk Subscribers: rnk, llvm-commits Differential Revision: https://reviews.llvm.org/D43926 llvm-svn: 326521
* [analyzer] Prevent crashing in NonNullParamCheckerGeorge Karpenkov2018-03-022-0/+13
| | | | | | | | | | | | | https://bugs.llvm.org/show_bug.cgi?id=36381 rdar://37543426 Turns out, the type passed for the lambda capture was incorrect. One more argument to abandon the getSVal overload which does not require the type information. Differential Revision: https://reviews.llvm.org/D43925 llvm-svn: 326520
* [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use ↵Eugene Zelenko2018-03-022-230/+264
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 326519
* [analyzer] [NFC] [tests] Make test more resilient to changes in exploration ↵George Karpenkov2018-03-021-2/+7
| | | | | | strategy llvm-svn: 326518
* [WebAssembly] Add exception handling optionHeejin Ahn2018-03-024-1/+15
| | | | | | | | | | | | Summary: Add exception handling option to clang. Reviewers: dschuff Subscribers: jfb, sbc100, jgravelle-google, sunfish, cfe-commits Differential Revision: https://reviews.llvm.org/D43681 llvm-svn: 326517
* Utility functions for checked arithmeticGeorge Karpenkov2018-03-023-0/+155
| | | | | | | | | Provide checkedAdd and checkedMul functions, providing checked arithmetic on signed integers. Differential Revision: https://reviews.llvm.org/D43704 llvm-svn: 326516
* [InstCombine] Simplify test cases by removing loads/stores that aren't ↵Craig Topper2018-03-021-72/+40
| | | | | | | | required for what is being tested. The loads and stores were getting the data and storing the results. There's no reason we can't just use function arguments and return. llvm-svn: 326515
* Speed up TestWatchpointMultipleThreadsPavel Labath2018-03-022-120/+41
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: The inferior was sleeping before doing any interesting work. I remove that to make the test faster. While looking at the purpose of the test (to check that watchpoints are propagated to all existing threads - r140757) I noticed that the test has diverged from the original intention and now it creates the threads *after* the watchpoint is set (this probably happened during the std::thread refactor). After some discussion, we decided both scenarios make sense, so I modify the test to test both. The watchpoint propagation functionality is not really debug info depenent, so I also stop replication of this test. This brings the test's time from ~108s down to 4s. Reviewers: davide, jingham Subscribers: aprantl, lldb-commits Differential Revision: https://reviews.llvm.org/D43857 llvm-svn: 326514
* [InstCombine] allow fmul fold with less than 'fast'Sanjay Patel2018-03-023-14/+15
| | | | | | | | | | | | | | | | | | This is a retry of r326502 with updates to the reassociate test file that I missed the first time. @test15_reassoc in the supposed -reassociate test file (except that it tests 2 other passes too...) shows that there's no clear responsiblity for reassociation transforms. Instcombine now gets that case, but only because the constant values are identical. Otherwise, it would still miss that pattern. Reassociate doesn't get that case because it hasn't been updated to use less than 'fast' FMF. llvm-svn: 326513
* [NFC] Move CommentOpts checks to the call sites that depend on it. ↵David L. Jones2018-03-026-36/+25
| | | | | | | | | | | | | | | | | | | | | | (Re-applying r326501.) When parsing comments, for example, for -Wdocumentation, slightly different behaviour occurs when -fparse-all-comments is specified. However, these differences are subtle: 1. All comments are saved during parsing, regardless of whether they are doc comments or not. 2. "Maybe-doc" comments, like <, !, etc, are saved as such, instead of marking them as ordinary comments. The maybe-doc type of comment is never saved otherwise. (Warning on these is the impetus of -Wdocumentation.) 3. All comments are treated as doc comments in ASTContext, even if they are ordinary. This change moves the logic for checking CommentOptions.ParseAllComments closer to where it has an effect. The overall logic is unchanged, but checks of the ParseAllComments flag are now done where the effect will be clearer. Subscribers: cfe-commits llvm-svn: 326512
* [Reassociate] regenerate checks; NFCSanjay Patel2018-03-011-61/+62
| | | | llvm-svn: 326511
* revert r326502: [InstCombine] allow fmul fold with less than 'fast'Sanjay Patel2018-03-012-14/+12
| | | | | | | | I forgot that I added tests for 'reassoc' to -reassociate, but suprisingly that file calls -instcombine too, so it is affected. I'll update that file and try again. llvm-svn: 326510
* [WebAssembly] Simplify COMDAT handling.Rui Ueyama2018-03-013-22/+10
| | | | | | Differential Revision: https://reviews.llvm.org/D43966 llvm-svn: 326509
* Revert r326501 due to buildbot breakage.David L. Jones2018-03-016-25/+35
| | | | | | | | | | | | | | | | | | | | Original change: [NFC] Move CommentOpts checks to the call sites that depend on it. When parsing comments, for example, for -Wdocumentation, slightly different behaviour occurs when -fparse-all-comments is specified. However, these differences are subtle: 1. All comments are saved during parsing, regardless of whether they are doc comments or not. 2. "Maybe-doc" comments, like //<, //!, etc, are saved as such, instead of marking them as ordinary comments. The maybe-doc type of comment is never saved otherwise. (Warning on these is the impetus of -Wdocumentation.) 3. All comments are treated as doc comments in ASTContext, even if they are ordinary. This change moves the logic for checking CommentOptions.ParseAllComments closer to where it has an effect. The overall logic is unchanged, but checks of the ParseAllComments flag are now done where the effect will be clearer. llvm-svn: 326508
* Report an error if you try to link against .dll instead of .lib.Rui Ueyama2018-03-012-11/+23
| | | | | | | | | | | | It is a usage error to feed a .dll file instead of a .dll to COFF linker. Previously, lld failed with a mysterious error message. Now we reject it at the driver. Fixes https://bugs.llvm.org/show_bug.cgi?id=36440 Differential Revision: https://reviews.llvm.org/D43964 llvm-svn: 326507
* Accept both `--foo bar` and `--foo=bar` styles options.Rui Ueyama2018-03-016-18/+20
| | | | | | | | | GNU linkers by convention supports both `--foo bar` and `--foo=bar` styles for all long options that take arguments. Differential Revision: https://reviews.llvm.org/D43972 llvm-svn: 326506
* bpf: introduce -mattr=dwarfris to disable DwarfUsesRelocationsAcrossSectionsYonghong Song2018-03-015-2/+16
| | | | | | | | | | | | | | | | | | | | | Commit e4507fb8c94b ("bpf: disable DwarfUsesRelocationsAcrossSections") disables MCAsmInfo DwarfUsesRelocationsAcrossSections unconditionally so that dwarf will not use cross section (between dwarf and symbol table) relocations. This new debug format enables pahole to dump structures correctly as libdwarves.so does not have BPF backend support yet. This new debug format, however, breaks bcc (https://github.com/iovisor/bcc) source debug output as llvm in-memory Dwarf support has some issues to handle it. More specifically, with DwarfUsesRelocationsAcrossSections disabled, JIT compiler does not generate .debug_abbrev and Dwarf DIE (debug info entry) processing is not happy about this. This patch introduces a new flag -mattr=dwarfris (dwarf relocation in section) to disable DwarfUsesRelocationsAcrossSections. DwarfUsesRelocationsAcrossSections is true by default. Signed-off-by: Yonghong Song <yhs@fb.com> llvm-svn: 326505
* Rename a test file and fix indentation.Rui Ueyama2018-03-012-12/+12
| | | | llvm-svn: 326504
* Set DF_TEXTREL to executables that need text relocations.Rui Ueyama2018-03-012-2/+8
| | | | | | | | | | | | | | | | | | | | | | Summary: If an executable needs text relocations, it should be marked as such so that the loader can prepare for text relocations. We currently create a dummy segment with DT_TEXTREL for that purpose. Generic ABI as of 2000 [1] mentioned that "Its [DT_TEXTREL's] use has been superseded by the DF_TEXTREL flag". However, it's actually not superseded even after 18 years. OpenBSD and musl recognize only DT_TEXTREL. So we still need to set both. [1] http://www.sco.com/developers/gabi/2000-07-17/ch5.dynamic.html Reviewers: rafael Subscribers: emaste, llvm-commits, arichardson Differential Revision: https://reviews.llvm.org/D43920 llvm-svn: 326503
* [InstCombine] allow fmul fold with less than 'fast'Sanjay Patel2018-03-012-12/+14
| | | | llvm-svn: 326502
* [NFC] Move CommentOpts checks to the call sites that depend on it.David L. Jones2018-03-016-35/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | When parsing comments, for example, for -Wdocumentation, slightly different behaviour occurs when -fparse-all-comments is specified. However, these differences are subtle: 1. All comments are saved during parsing, regardless of whether they are doc comments or not. 2. "Maybe-doc" comments, like //<, //!, etc, are saved as such, instead of marking them as ordinary comments. The maybe-doc type of comment is never saved otherwise. (Warning on these is the impetus of -Wdocumentation.) 3. All comments are treated as doc comments in ASTContext, even if they are ordinary. This change moves the logic for checking CommentOptions.ParseAllComments closer to where it has an effect. The overall logic is unchanged, but checks of the ParseAllComments flag are now done where the effect will be clearer. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D43663 llvm-svn: 326501
* [DAGCombiner] When combining zero_extend of a truncate, only mask before ↵Craig Topper2018-03-0117-92/+70
| | | | | | | | | | extending for vectors. Masking first, prevents the extend from being combine with loads. Its also interfering with some vXi1 extraction code. Differential Revision: https://reviews.llvm.org/D42679 llvm-svn: 326500
* [Driver] Pass -f[no-]emulated-tls and set up ExplicitEmulatedTLSChih-Hung Hsieh2018-03-016-17/+54
| | | | | | | | | | Since LLVM r326341, default EmulatedTLS mode is decided in backend according to target triple. Any front-end should pass -f[no]-emulated-tls to backend and set up ExplicitEmulatedTLS only when the flags are used. Differential Revision: https://reviews.llvm.org/D43965 llvm-svn: 326499
* Don't ingoned --enable-new-dtags.Rafael Espindola2018-03-012-2/+7
| | | | llvm-svn: 326498
* [X86][MMX] Improve handling of 64-bit MMX constantsSimon Pilgrim2018-03-014-30/+33
| | | | | | | | | | | | 64-bit MMX constant generation usually ends up lowering into SSE instructions before being spilled/reloaded as a MMX type. This patch bitcasts the constant to a double value to allow correct loading directly to the MMX register. I've added MMX constant asm comment support to improve testing, it's better to always print the double values as hex constants as MMX is mainly an integer unit (and even with 3DNow! its just floats). Differential Revision: https://reviews.llvm.org/D43616 llvm-svn: 326497
* [modules] Don't diagnose "redefinition" of a friend with a pending definitionRichard Smith2018-03-012-0/+48
| | | | | | if the other definition is a merged copy of the same function. llvm-svn: 326496
* [SelectionDAG] Support some SimplifySetCC cases for comparing against vector ↵Craig Topper2018-03-013-53/+36
| | | | | | | | | | | | | | splats of constants. This supports things like (setcc ugt X, 0) -> (setcc ne X, 0) I've restricted to only make changes to vectors before legalize ops because I doubt all targets have accurate condition code legality information for vectors given how little we did before. Differential Revision: https://reviews.llvm.org/D42948 llvm-svn: 326495
* [X86][AVX] Add v2f32 <-> v2i8/v2i16/v2i32 vector testsSimon Pilgrim2018-03-011-0/+342
| | | | llvm-svn: 326494
* [www] Capitalize "Clang" when referring to the project, and generalize theRichard Smith2018-03-012-22/+24
| | | | | | | | introduction on the front page page. We still use the lowercase "clang" spelling when referring to the driver binary. llvm-svn: 326493
* [Hexagon] Add trap1 instructionKrzysztof Parzyszek2018-03-016-1/+73
| | | | llvm-svn: 326492
* Add an llc testcase analogous to test/LTO/X86/strip-debug-info.llAdrian Prantl2018-03-011-0/+22
| | | | | | rdar://problem/37963669 llvm-svn: 326491
* AMDGPU/GlobalISel: Define instruction mapping for @llvm.amdgcn.cvt.pkrtzMatt Arsenault2018-03-012-1/+79
| | | | | | Patch by Tom Stellard llvm-svn: 326490
OpenPOWER on IntegriCloud