summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [LLDB] Fix FreeBSD/Darwin buildDavid Carlier2018-11-042-9/+12
| | | | | | | | | | Reviewers: JDevlieghere, tatyana-krasnukha Reviwed By: tatyana-krasnukha Differential Revision: https://reviews.llvm.org/D54084 llvm-svn: 346109
* [HotColdSplitting] Use TTI to inform outlining thresholdVedant Kumar2018-11-046-19/+63
| | | | | | | | | | | | | | | Using TargetTransformInfo allows the splitting pass to factor in the code size cost of instructions as it decides whether or not outlining is profitable. This did not regress the overall amount of outlining seen on the handful of internal frameworks I tested. Thanks to Jun Bum Lim for suggesting this! Differential Revision: https://reviews.llvm.org/D53835 llvm-svn: 346108
* [Driver] Use -Bstatic/dynamic for libc++ on FuchsiaPetr Hosek2018-11-042-2/+5
| | | | | | | | | -static relies on lld's behavior, but -Bstatic/dynamic is supported across all linkers. Differential Revision: https://reviews.llvm.org/D54082 llvm-svn: 346107
* [X86] Add nounwind to some tests to remove cfi directives from checks. NFCCraig Topper2018-11-041-136/+14
| | | | llvm-svn: 346106
* [X86] Regenerate test checks to merge 32 and 64 bit. Remove stale check ↵Craig Topper2018-11-041-555/+229
| | | | | | prefixes. NFC llvm-svn: 346105
* Fix the test for partition_copy so it is not ridiculously slow. Also, detab.Marshall Clow2018-11-041-408/+421
| | | | llvm-svn: 346104
* Add support of the next Ubuntu (Ubuntu 19.04 - Disco Dingo)Sylvestre Ledru2018-11-042-1/+3
| | | | llvm-svn: 346103
* [X86] Add vector shift by immediate to SimplifyDemandedBitsForTargetNode.Craig Topper2018-11-048-167/+165
| | | | | | | | | | | | | | Summary: This also enables some constant folding from KnownBits propagation. This helps on some cases vXi64 case in 32-bit mode where constant vectors appear as vXi32 and a bitcast. This can prevent getNode from constant folding sra/shl/srl. Reviewers: RKSimon, spatel Reviewed By: spatel Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D54069 llvm-svn: 346102
* Update our URLs in clang doc to use httpsSylvestre Ledru2018-11-0430-756/+755
| | | | llvm-svn: 346101
* Fix NetBSD build after "Move path resolution logic out of FileSpec"Kamil Rytarowski2018-11-043-3/+3
| | | | | | D53915 llvm-svn: 346100
* Update framework-header-fix to force system sedDave Lee2018-11-041-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: There are 2 changes here: 1. Use system sed instead of the sed found in the user's path. This fixes this script in the case the user has gnu-sed in their $PATH before bsd sed since `-i ''` isn't compatible and you need `-i` instead. 2. `set -e` in this script so it fails as soon as one of these commands fail instead of throwing errors for each file if they fail Since this is only ran on macOS, and we're already using this absolute path below, this seems like a safe addition Reviewers: kastiglione, beanz Reviewed By: kastiglione Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D49776 llvm-svn: 346099
* Disable recursive interception for tzset in MSanKamil Rytarowski2018-11-041-0/+1
| | | | | | | This fixes sanitization of this library call on NetBSD. Extracted as a part of D42050. llvm-svn: 346098
* [ValueTracking] determine sign of 0.0 from select when matching min/max FPSanjay Patel2018-11-043-54/+89
| | | | | | | | | | | | | | | | | | | In PR39475: https://bugs.llvm.org/show_bug.cgi?id=39475 ..we may fail to recognize/simplify fabs() in some cases because we do not canonicalize fcmp with a -0.0 operand. Adding that canonicalization can cause regressions on min/max FP tests, so that's this patch: for the purpose of determining whether something is min/max, let the value returned by the select determine how we treat a 0.0 operand in the fcmp. This patch doesn't actually change the -0.0 to +0.0. It just changes the analysis, so we don't fail to recognize equivalent min/max patterns that only differ in the signbit of 0.0. Differential Revision: https://reviews.llvm.org/D54001 llvm-svn: 346097
* Revert '[analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name ↵Kristof Umann2018-11-043-1344/+15
| | | | | | and primitive expansion' llvm-svn: 346096
* [analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and ↵Kristof Umann2018-11-043-15/+1344
| | | | | | | | | | | primitive expansion This patch adds a couple new functions to acquire the macro's name, and also expands it, although it doesn't expand the arguments, as seen from the test files Differential Revision: https://reviews.llvm.org/D52794 llvm-svn: 346095
* Fix log statement in r346093Pavel Labath2018-11-041-1/+1
| | | | | | Thanks to Dávid Bolvanský for pointing that out. llvm-svn: 346094
* NativeProcessProtocol: Simplify breakpoint setting codePavel Labath2018-11-0414-885/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: A fairly simple operation as setting a breakpoint (writing a breakpoint opcode) at a given address was going through three classes: NativeProcessProtocol which called NativeBreakpointList, which then called SoftwareBrekpoint, only to end up again in NativeProcessProtocol to do the actual writing itself. This is unnecessarily complex and can be simplified by moving all of the logic into NativeProcessProtocol class itself, removing a lot of boilerplate. One of the reeasons for this complexity was that (it seems) NativeBreakpointList class was meant to hold both software and hardware breakpoints. However, that never materialized, and hardware breakpoints are stored in a separate map holding only hardware breakpoints. Essentially, this patch makes software breakpoints follow that approach by replacing the heavy SoftwareBraekpoint with a light struct of the same name, which holds only the data necessary to describe one breakpoint. The rest of the logic is in the main class. As, at the lldb-server level, handling software and hardware breakpoints is very different, this seems like a reasonable state of things. Reviewers: krytarowski, zturner, clayborg Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D52941 llvm-svn: 346093
* [DAGCombiner] Remove 'else' after return. NFCCraig Topper2018-11-041-8/+7
| | | | | | This makes this code consistent with the nearly identical code in visitZERO_EXTEND. llvm-svn: 346090
* Fix duplicate testcase filenameJan Kratochvil2018-11-041-0/+0
| | | | | | | | | dotest.py started reporting: Exception: Found multiple tests with the name TestSampleTest.py After the commit of: https://reviews.llvm.org/D54056 llvm-svn: 346089
* [Driver] Always match resource dir in Fuchsia driver testsPetr Hosek2018-11-042-12/+22
| | | | | | | | | This makes the tests stricter by not only matching the runtime file name, but the entire path into the resource directory. Differential Revision: https://reviews.llvm.org/D54064 llvm-svn: 346088
* [SelectionDAG] Remove special methods for creating *_EXTEND_VECTOR_INREG ↵Craig Topper2018-11-048-79/+45
| | | | | | | | | | nodes. Move asserts into getNode. These methods were just wrappers around getNode with additional asserts (identical and repeated 3 times). But getNode already has a switch that can be used to hold these asserts that allows them to be shared for all 3 opcodes. This also enables checking on the places that create these nodes without using the wrappers. The rest of the patch is just changing all callers to use getNode directly. llvm-svn: 346087
* Remove redundant OVERRRIDES fileJan Vesely2018-11-041-2/+0
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346086
* configure: Provide symlink for amdgcn-mesa3d instead of configure hackJan Vesely2018-11-042-2/+1
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346085
* travis: Check tahiti-amdgcn-mesa-mesa3d.bcJan Vesely2018-11-041-4/+4
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346084
* amdgcn-amdhsa: Convert get_{global,local}_size to clc for all llvm versionsJan Vesely2018-11-0413-171/+16
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346083
* amdgcn: Move __clc_amdgcn_s_waitcnt definition to clc fileJan Vesely2018-11-044-15/+1
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346082
* amdgcn: Convert get_num_groups to clcJan Vesely2018-11-0413-75/+16
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346081
* amdgcn: Convert get_global_size to clcJan Vesely2018-11-0413-75/+16
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346080
* amdgcn: Convert get_local_size to clcJan Vesely2018-11-0413-75/+16
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-By: Aaron Watry <awatry@gmail.com> llvm-svn: 346079
* r600: Convert barrier to clcJan Vesely2018-11-0412-35/+10
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry llvm-svn: 346078
* r600: Convert get_num_groups to clcJan Vesely2018-11-0412-49/+16
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry llvm-svn: 346077
* r600: Convert get_global_size to clcJan Vesely2018-11-0412-49/+16
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry llvm-svn: 346076
* r600: Convert get_local_size to clcJan Vesely2018-11-0412-49/+16
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry llvm-svn: 346075
* [coroutines] Fix fallthrough warning on try/catchBrian Gesiak2018-11-032-12/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The test case added in this diff would incorrectly warn that control flow may fall through without returning. Here's a standalone example: https://godbolt.org/z/dCwXEi The same program, but using `return` instead of `co_return`, does not produce a warning: https://godbolt.org/z/mVldqQ The issue was in how Clang analysis would structure its representation of the control-flow graph. Specifically, when constructing the CFG, `CFGBuilder::Visit` had special handling of a `ReturnStmt`, in which it would place object destructors in the same CFG block as a `return` statement, immediately after it. Doing so would allow the logic in `lib/Sema/AnalysisBasedWarning.cpp` `CheckFallThrough` to work properly in the program that used `return`, correctly determining that no "plain edges" preceded the exit block of the function. Because a `co_return` statement would not enjoy the same treatment when it was being built into the control-flow graph, object destructors would not be placed in the same CFG block as the `co_return`, thus resulting in a "plain edge" preceding the exit block of the function, and so the warning logic would be triggered. Add special casing for `co_return` to Clang analysis, thereby remedying the mistaken warning. Test Plan: `check-clang` Reviewers: GorNishanov, tks2103, rsmith Reviewed By: GorNishanov Subscribers: EricWF, lewissbaker, cfe-commits Differential Revision: https://reviews.llvm.org/D54075 llvm-svn: 346074
* [X86] Update comment I forgot to change in r346043. NFCCraig Topper2018-11-031-2/+2
| | | | llvm-svn: 346073
* [NFC] Fix incorrect comment in std::listLouis Dionne2018-11-031-1/+1
| | | | llvm-svn: 346072
* [ValueTracking] peek through 2-input shuffles in ComputeNumSignBitsSanjay Patel2018-11-033-26/+38
| | | | | | | | | | | This patch gives the IR ComputeNumSignBits the same functionality as the DAG version (the code is derived from the existing code). This an extension of the single input shuffle analysis added with D53659. Differential Revision: https://reviews.llvm.org/D53987 llvm-svn: 346071
* Fix test on Windows.Douglas Yung2018-11-031-1/+2
| | | | | | | | This test checks the entire output of a help option, the problem is that on Windows, the line break occurs in a different place causing the CHECK to fail because it is not expecting a line break. llvm-svn: 346070
* Add /Zc:DllexportInlines option to clang-clTakuto Ikuta2018-11-0310-2/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This CL adds /Zc:DllexportInlines flag to clang-cl. When Zc:DllexportInlines- is specified, inline class member function is not exported if the function does not have local static variables. By not exporting inline function, code for those functions are not generated and that reduces both compile time and obj size. Also this flag does not import inline functions from dllimported class if the function does not have local static variables. On my 24C48T windows10 machine, build performance of chrome target in chromium repository is like below. These stats are come with 'target_cpu="x86" enable_nacl = false is_component_build=true dcheck_always_on=true` build config and applied * https://chromium-review.googlesource.com/c/chromium/src/+/1212379 * https://chromium-review.googlesource.com/c/v8/v8/+/1186017 Below stats were taken with this patch applied on https://github.com/llvm-project/llvm-project-20170507/commit/a05115cd4c57ff76b0f529e38118765b58ed7f2e | config | build time | speedup | build dir size | | with patch, PCH on, debug | 1h10m0s | x1.13 | 35.6GB | | without patch, PCH on, debug | 1h19m17s | | 49.0GB | | with patch, PCH off, debug | 1h15m45s | x1.16 | 33.7GB | | without patch, PCH off, debug | 1h28m10s | | 52.3GB | | with patch, PCH on, release | 1h13m13s | x1.22 | 26.2GB | | without patch, PCH on, release | 1h29m57s | | 37.5GB | | with patch, PCH off, release | 1h23m38s | x1.32 | 23.7GB | | without patch, PCH off, release | 1h50m50s | | 38.7GB | This patch reduced obj size and the number of exported symbols largely, that improved link time too. e.g. link time stats of blink_core.dll become like below | | cold disk cache | warm disk cache | | with patch, PCH on, debug | 71s | 30s | | without patch, PCH on, debug | 111s | 48s | This patch's implementation is based on Nico Weber's patch. I modified to support static local variable, added tests and took stats. Bug: https://bugs.llvm.org/show_bug.cgi?id=33628 Reviewers: hans, thakis, rnk, javed.absar Reviewed By: hans Subscribers: kristof.beyls, smeenai, dschuff, probinson, cfe-commits, eraman Differential Revision: https://reviews.llvm.org/D51340 llvm-svn: 346069
* Handle OUTPUT_FORMAT arguments in quotation marksGalina Kistanova2018-11-032-1/+7
| | | | llvm-svn: 346068
* Test commitNathan Lanza2018-11-031-0/+1
| | | | llvm-svn: 346067
* [debuginfo-tests] commands.getoutput -> subprocess.check_outputFangrui Song2018-11-031-2/+2
| | | | | | | We should also make Darwin Python3 happy after r346059 The output has an extra newline but it is fine in this particular case. llvm-svn: 346066
* Revert r345562: "PR23833, DR2140: an lvalue-to-rvalue conversion on a ↵Richard Smith2018-11-0310-81/+20
| | | | | | | | | | | | glvalue of type" This exposes a (known) CodeGen bug: it can't cope with emitting lvalue expressions that denote non-odr-used but usable-in-constant-expression variables. See PR39528 for a testcase. Reverted for now until that issue can be fixed. llvm-svn: 346065
* [Driver] Use -push-/-pop-state and -as-needed for libc++ on FuchsiaPetr Hosek2018-11-032-7/+14
| | | | | | | | | | This avoids introducing unnecessary DT_NEEDED entries when using C++ driver for linking C code or C++ code that doesn't use C++ standard library. Differential Revision: https://reviews.llvm.org/D53854 llvm-svn: 346064
* [compiler-rt] Support for passing through linker flags to libc++ buildPetr Hosek2018-11-031-2/+7
| | | | | | | | This may be needed when cross-compiling to certain platforms. Differential Revision: https://reviews.llvm.org/D54027 llvm-svn: 346063
* [codeview] Let the X86 backend tell us the VFRAME offset adjustmentReid Kleckner2018-11-036-25/+202
| | | | | | | | | | | Use MachineFrameInfo's OffsetAdjustment field to pass this information from the target to CodeViewDebug.cpp. The X86 backend doesn't use it for any other purpose. This fixes PR38857 in the case where there is a non-aligned quantity of CSRs and a non-aligned quantity of locals. llvm-svn: 346062
* [DWARF v5] Verifier: Add checks for DW_FORM_strx* forms.Wolfgang Pieb2018-11-034-6/+156
| | | | | | | | | Adding functionality to the DWARF verifier for DWARF v5 strx* forms which index into the string offsets table. Differential Revision: https://reviews.llvm.org/D54049 llvm-svn: 346061
* Update debuginfo tests lit for r341135Reid Kleckner2018-11-031-1/+2
| | | | llvm-svn: 346060
* [debuginfo-tests] Avoid "import commands" which was deprecated in Py3Reid Kleckner2018-11-031-1/+1
| | | | llvm-svn: 346059
* Fix some windows-specific fallout from the FileSpec change.Zachary Turner2018-11-032-32/+32
| | | | llvm-svn: 346058
OpenPOWER on IntegriCloud