- Aug 12, 2017
-
-
Sanjay Patel authored
nsw, nuw, and exact carry implicit assumptions about their operands, so we need to clear those after trivializing a value. We decided there was no danger for llvm.assume or metadata, so there's just a comment about that. This fixes miscompiles as shown in: https://bugs.llvm.org/show_bug.cgi?id=33695 https://bugs.llvm.org/show_bug.cgi?id=34037 Differential Revision: https://reviews.llvm.org/D36592 llvm-svn: 310779
-
Sylvestre Ledru authored
Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D34824 llvm-svn: 310778
-
Sylvestre Ledru authored
llvm-svn: 310777
-
Richard Smith authored
the class becoming complete and its inline methods being parsed. This replaces the hack of using the "late parsed template" flag to track member functions with bodies we've not parsed yet; instead we now use the "will have body" flag, which carries the desired implication that the function declaration *is* a definition, and that we've just not parsed its body yet. llvm-svn: 310776
-
Bruno Cardoso Lopes authored
This reverts commit r310605. Richard pointed out a better way to achieve this, which I'll post a patch for soon. llvm-svn: 310775
-
Kostya Serebryany authored
Summary: Add a Dockerfile for clang-proto-fuzzer Reviewers: morehouse, vitalybuka Reviewed By: morehouse Subscribers: hintonda, cfe-commits Differential Revision: https://reviews.llvm.org/D36635 llvm-svn: 310774
-
Richard Smith authored
An `external_weak` global may be intended to resolve as a null pointer if it's not defined, so it doesn't make sense to use a copy relocation for it. Differential Revision: https://reviews.llvm.org/D36604 llvm-svn: 310773
-
Alex Shlyapnikov authored
Differential revision: https://reviews.llvm.org/D29660 llvm-svn: 310772
-
Kostya Serebryany authored
llvm-svn: 310771
-
Sanjay Patel authored
As noted in the test comment, instcombine now produces the masked shift value even when it's not included in the source, so we should handle this. Although the AMD/Intel docs don't say it explicitly, over-rotating the narrow ops produces the same results. An existence proof that this works as expected on all x86 comes from gcc 4.9 or later: https://godbolt.org/g/K6rc1A llvm-svn: 310770
-
Evgeniy Stepanov authored
Summary: This is to support Android where libc++abi is part of libc++. Reviewers: srhines, EricWF Subscribers: dberris, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D36640 llvm-svn: 310769
-
John Baldwin authored
Summary: The stack alignment depends on the ABI (16 bytes for N32 and N64 and 8 bytes for O32), not the CPU type. Reviewers: sdardis Reviewed By: sdardis Subscribers: atanasyan, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D36326 llvm-svn: 310768
-
Sanjay Patel authored
llvm-svn: 310767
-
- Aug 11, 2017
-
-
Eugene Zelenko authored
[Analysis] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). llvm-svn: 310766
-
Gheorghe-Teodor Bercea authored
offloading test file. This should prevent further errors with the sanitizer. Diff: D29660 llvm-svn: 310765
-
Zachary Turner authored
These were pending in a separate patch but I forgot to squash them before comitting, and this one didn't go through. llvm-svn: 310764
-
Eli Friedman authored
Updating remark API to newer OptimizationDiagnosticInfo API. This allows remarks to show up in diagnostic yaml file, and enables use of opt-viewer tool. Hotness information for remarks (L505 and L751) do not display hotness information, most likely due to profile information not being propagated yet. Unsure if this is the desired outcome. Patch by Tarun Rajendran. Differential Revision: https://reviews.llvm.org/D36127 llvm-svn: 310763
-
Craig Topper authored
Summary: Previously we would use these instructions if sse was disabled and fastmath was enabled. As mentioned in D28335, this is a bad idea. Reviewers: efriedma, scanon, DavidKreitzer Reviewed By: DavidKreitzer Subscribers: zvi, llvm-commits Differential Revision: https://reviews.llvm.org/D36344 llvm-svn: 310762
-
Stephan T. Lavavej authored
This improves readability and (theoretically) improves portability, as _Ugly names are reserved. This performs additional de-uglification, so all of these tests follow the example of iterator.traits/empty.pass.cpp. llvm-svn: 310761
-
Stephan T. Lavavej authored
This improves readability and (theoretically) improves portability, as __ugly names are reserved. llvm-svn: 310760
-
Stephan T. Lavavej authored
This improves readability and (theoretically) improves portability, as __ugly names are reserved. llvm-svn: 310759
-
Stephan T. Lavavej authored
This improves readability and (theoretically) improves portability, as _Ugly names are reserved. llvm-svn: 310758
-
Rui Ueyama authored
llvm-svn: 310757
-
Rafael Espindola authored
When the access to a weak symbol is not a call, the access has to be able to produce the value 0 at runtime. We were sometimes producing code sequences where that was not possible if the code was leaded more than 4g away from 0. llvm-svn: 310756
-
Zachary Turner authored
The linker module contains a symbol of type S_COMPILE3 which contains various information about the compiler and linker used to create the PDB, such as the name of the linker, the target machine, and the linker version. Interestingly, if we set the version string to 0.0.0.0, then when trying to view local variables WinDbg emits an error that private symbols are not present. By setting this to a valid MSVC linker version string, local variables can display. As such, even though it is not representative of LLVM's version information, we need this for compatibility. llvm-svn: 310755
-
Zachary Turner authored
PDBs need to contain 1 module for each object file/compiland, and a special one synthesized by the linker. This one contains a symbol record for each output section in the executable with its address information. This patch adds such symbols to the linker module. Note that we also are supposed to add an S_COFFGROUP symbol for what appears to be each input section that contributes to each output section, but it's not entirely clear how to generate these yet, so I'm leaving that for a separate patch. llvm-svn: 310754
-
Matt Arsenault authored
Handle the sibling call cases. llvm-svn: 310753
-
Zachary Turner authored
llvm-svn: 310752
-
Kostya Serebryany authored
llvm-svn: 310751
-
George Karpenkov authored
llvm-svn: 310750
-
Daniel Sanders authored
Two of the Windows bots are failing test\CodeGen\X86\GlobalISel\select-inc.mir which should not have been affected by the change. Reverting while I investigate. Also reverted r310735 because it builds on r310716. llvm-svn: 310745
-
Zachary Turner authored
llvm-svn: 310744
-
Zachary Turner authored
Previously we were writing an empty globals stream. Windows tools interpret this as "private symbols are not present in this PDB", even when they are, so we need to fix this. Regardless, without it we don't have information about global variables, so we need to fix it anyway. This patch does that. With this patch, the "lm" command in WinDbg correctly reports that we have private symbols available, but the "dv" command still refuses to display local variables. Differential Revision: https://reviews.llvm.org/D36535 llvm-svn: 310743
-
John Baldwin authored
This only fixes a few things and serves as my initial test commit. llvm-svn: 310742
-
Brian Gesiak authored
Summary: When using Python 3, `pygments.highlight()` returns a `bytes` object, not a `str`, causing the call to `str.replace` on the following line to fail with a runtime exception: `TypeError: 'str' does not support the buffer interface`. Decode the bytes into a string in order to fix the exception. Test Plan: Run `opt-viewer.py` with Python 3.4, and confirm no runtime error occurs when calling `str.replace`. Reviewers: anemet Reviewed By: anemet Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36624 llvm-svn: 310741
-
Brian Gesiak authored
Summary: Replace a usage of a Python 2-specific `dict.iteritems()` with the Python 3-compatible definition provided at the top of the same file. Test Plan: Run `opt-viewer.py` using Python 3 and confirm it no longer encounters a runtime error when calling `dict.iteritems()`. Reviewers: anemet Reviewed By: anemet Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36623 llvm-svn: 310740
-
Brian Gesiak authored
Summary: In Python 2, `intern()` is a builtin function available to all programs. In Python 3, it was moved into the `sys` module, available as `sys.intern`. Import it such that, within `optrecord.py`, `intern()` is available whether run using Python 2 or 3. Test Plan: Run `opt-viewer.py` using Python 3, confirm it no longer encounters a runtime error when `intern()` is called. Reviewers: anemet Reviewed By: anemet Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36622 llvm-svn: 310739
-
Stanislav Mekhanoshin authored
Removed useless assert. llvm-svn: 310738
-
Xinliang David Li authored
llvm-svn: 310737
-
Rafael Espindola authored
llvm-svn: 310736
-