- Sep 12, 2017
-
-
Yonghong Song authored
This partially revert previous fix in commit f5858045aa0b ("bpf: proper print imm64 expression in inst printer"). In that commit, the original suffix "ll" is removed from LD_IMM64 asmstring. In the customer print method, the "ll" suffix is printed if the rhs is an immediate. For example, "r2 = 5ll" => "r2 = 5ll", and "r3 = varll" => "r3 = var". This has an issue though for assembler. Since assembler relies on asmstring to do pattern matching, it will not be able to distiguish between "mov r2, 5" and "ld_imm64 r2, 5" since both asmstring is "r2 = 5". In such cases, the assembler uses 64bit load for all "r = <val>" asm insts. This patch adds back " ll" suffix for ld_imm64 with one additional space for "#reg = #global_var" case. Signed-off-by:
Yonghong Song <yhs@fb.com> Acked-by:
Alexei Starovoitov <ast@kernel.org> llvm-svn: 312978
-
Adrian Prantl authored
llvm-svn: 312977
-
Adrian Prantl authored
llvm-svn: 312976
-
Vedant Kumar authored
Failing bot: http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/4791 This looks like another stderr redirection issue. llvm-svn: 312975
-
Adrian Prantl authored
llvm-svn: 312974
-
Evgeniy Stepanov authored
Summary: Use runtime detection (with a weak-undef symbol) of android_set_abort_message availability. Android NDK provides a single version of the ASan runtime library to be used for any target API level, which makes compile-time feature detection impossible (the library itself is built at API level 9). Reviewers: vitalybuka Subscribers: srhines, llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D37716 llvm-svn: 312973
-
Adrian Prantl authored
Differential Revision: https://reviews.llvm.org/D37717 llvm-svn: 312972
-
Eugene Zelenko authored
[CodeGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). llvm-svn: 312971
-
Adrian Prantl authored
As discussed on llvm-dev in http://lists.llvm.org/pipermail/llvm-dev/2017-September/117301.html this changes the command line interface of llvm-dwarfdump to match the one used by the dwarfdump utility shipping on macOS. In addition to being shorter to type this format also has the advantage of allowing more than one section to be specified at the same time. In a nutshell, with this change $ llvm-dwarfdump --debug-dump=info $ llvm-dwarfdump --debug-dump=apple-objc becomes $ dwarfdump --debug-info --apple-objc Differential Revision: https://reviews.llvm.org/D37714 llvm-svn: 312970
-
Eli Friedman authored
Region coverage is difficult to explain without going deep into how coverage is implemented. Instantiation coverage is easier to explain, but probably not useful in most cases (templates don't exist in C, and most C++ code contains relatively few templates). This patch adds the options "-show-region-summary" and "-show-instantiation-summary" to allow hiding those columns. "-show-instantiation-summary" is turned off by default. llvm-svn: 312969
-
Peter Collingbourne authored
The rationale is the same as for r312967. Differential Revision: https://reviews.llvm.org/D37408 llvm-svn: 312968
-
Peter Collingbourne authored
Not all targets support the use of absolute symbols to export constants. In particular, ARM has a wide variety of constant encodings that cannot currently be relocated by linkers. So instead of exporting the constants using symbols, export them directly in the summary. The values of the constants are left as zeroes on targets that support symbolic exports. This may result in more cache misses when targeting those architectures as a result of arbitrary changes in constant values, but this seems somewhat unavoidable for now. Differential Revision: https://reviews.llvm.org/D37407 llvm-svn: 312967
-
Rui Ueyama authored
/natvis is a new command line option introduced by MSVC 2017. We eventually have to support it, but for now, let's ignore it so that we can at least link stuff instead of printing out an error. Patch by Michael Rickert. llvm-svn: 312966
-
Bob Haarman authored
Summary: Microsoft Visual Studio expects debug locations to correspond to statements. We used to emit locations for expressions nested inside statements. This would confuse the debugger, causing it to stop multiple times on the same line and breaking the "step into specific" feature. This change inhibits the emission of debug locations for nested expressions when emitting CodeView debug information, unless column information is enabled. Fixes PR34312. Reviewers: rnk, zturner Reviewed By: rnk Subscribers: majnemer, echristo, aprantl, cfe-commits Differential Revision: https://reviews.llvm.org/D37529 llvm-svn: 312965
-
Rui Ueyama authored
llvm-svn: 312964
-
Rui Ueyama authored
llvm-svn: 312963
-
Rui Ueyama authored
llvm-svn: 312962
-
Rui Ueyama authored
llvm-svn: 312961
-
Rui Ueyama authored
We do not use "Shim" as a name of MinGW driver, so rename it MinGW. I don't think the former dependency list was correct. MinGW driver depends on COFF. llvm-svn: 312960
-
- Sep 11, 2017
-
-
Vedant Kumar authored
Testing: check-ubsan-minimal Differential Revision: https://reviews.llvm.org/D37646 llvm-svn: 312959
-
Vedant Kumar authored
Make it possible to use the minimal ubsan runtime on Darwin. Differential Revision: https://reviews.llvm.org/D37649 llvm-svn: 312958
-
Vedant Kumar authored
Differential Revision: https://reviews.llvm.org/D37647 llvm-svn: 312957
-
Martell Malone authored
This adds support for passing LTO flags to the MINGW driver in GNU LD style i.e. -mllvm flag -> /mllvm:flag Reviewers: ruiu, mstorsjo Differential Revision: https://reviews.llvm.org/D37712 llvm-svn: 312956
-
Vedant Kumar authored
These lines by definition don't have an execution count. This is the final part of the fix for: https://bugs.llvm.org/show_bug.cgi?id=34166 llvm-svn: 312955
-
Vitaly Buka authored
Summary: Other sanitizers include __sanitizer_print_stack_trace into stack trace. Reviewers: eugenis, alekseyshl Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D37657 llvm-svn: 312954
-
Vitaly Buka authored
Summary: To parser "include" we may need to do binary name substitution. Reviewers: eugenis, alekseyshl Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D37658 llvm-svn: 312953
-
Vitaly Buka authored
Patch was corrupted by rebase. This reverts commit r312933 llvm-svn: 312952
-
Vitaly Buka authored
Summary: Part of https://github.com/google/sanitizers/issues/637 Reviewers: eugenis, alekseyshl Subscribers: kubamracek, dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D37536 llvm-svn: 312951
-
Vitaly Buka authored
Summary: Removed redundant End*() methods which defined same way. Removed redundant Warning() methods. Reviewers: eugenis Subscribers: kubamracek, llvm-commits, dberris Differential Revision: https://reviews.llvm.org/D37549 llvm-svn: 312950
-
Rui Ueyama authored
This patch also rename OPT_outlib OPT_out_implib for consistency. llvm-svn: 312949
-
Vedant Kumar authored
Depends on D36642 llvm-svn: 312948
-
Vedant Kumar authored
This patch teaches the preprocessor to report more precise source ranges for code that is skipped due to conditional directives. The new behavior includes the '#' from the opening directive and the full text of the line containing the closing directive in the skipped area. This matches up clang's behavior (we don't IRGen the code between the closing "endif" and the end of a line). This also affects the code coverage implementation. See llvm.org/PR34166 (this also happens to be rdar://problem/23224058). The old behavior (report the end of the skipped range as the end location of the 'endif' token) is preserved for indexing clients. Differential Revision: https://reviews.llvm.org/D36642 llvm-svn: 312947
-
Martin Storsjö authored
If the sysroot parameter is passed to the clang frontend, clang already uses it to find libraries and adds -L options for it, but also passes it on to the linker. Therefore we can get pretty far by just ignoring it altogether. Differential Revision: https://reviews.llvm.org/D37707 llvm-svn: 312945
-
Martin Storsjö authored
Pass the -verbose option through to the COFF linker, and show the arguments passed to it. If the -### option is specified, just show the produced argument list and exit, just like in clang. Replace the first argument with "lld-link" in order to produce a correct command line. Differential Revision: https://reviews.llvm.org/D37706 llvm-svn: 312944
-
Sanjay Patel authored
Too much division...the quotient is the answer. llvm-svn: 312943
-
Miklos Vajna authored
Summary: The use case is that renaming multiple symbols in a large enough codebase is much faster if all of these can be done with a single invocation, but there will be multiple translation units where one or more symbols are not found. Old behavior was to exit with an error (default) or exit without reporting an error (-force). New behavior is that -force results in a best-effort rename: rename symbols which are found and just ignore the rest. The existing help for -force sort of already implies this behavior. Reviewers: cfe-commits, klimek, arphaman Reviewed By: klimek Differential Revision: https://reviews.llvm.org/D37634 llvm-svn: 312942
-
Saleem Abdulrasool authored
This primarily impacts the Windows MSVC and Windows itanium environments. Windows MSVC does not use `__cxa_atexit` and Itanium follows suit. Simplify the logic for the default value calculation and blanket the Windows environments to default to off for use of `__cxa_atexit`. llvm-svn: 312941
-
Rui Ueyama authored
Summary: In addition to removing a few global variables and functions, I believe this patch improves code readability a bit in general. Reviewers: mstorsjo, martell Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37699 llvm-svn: 312940
-
Kostya Kortchinsky authored
Summary: Some of glibc's own thread local data is destroyed after a user's thread local destructors are called, via __libc_thread_freeres. This might involve calling free, as is the case for strerror_thread_freeres. If there is no prior heap operation in the thread, this free would end up initializing some thread specific data that would never be destroyed properly (as user's pthread destructors have already been called), while still being deallocated when the TLS goes away. As a result, a program could SEGV, usually in __sanitizer::AllocatorGlobalStats::Unregister, where one of the doubly linked list links would refer to a now unmapped memory area. To prevent this from happening, we will not do a full initialization from the deallocation path. This means that the fallback cache & quarantine will be used if no other heap operation has been called, and we effectively prevent the TSD being initialized and never destroyed. The TSD will be fully initialized for all other paths. In the event of a thread doing only frees and nothing else, a TSD would never be initialized for that thread, but this situation is unlikely and we can live with that. Reviewers: alekseyshl Reviewed By: alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37697 llvm-svn: 312939
-
Sanjay Patel authored
As noted in PR34517, the handling of signed div/rem is not on par with unsigned div/rem. Signed is harder to reason about, but it should be possible to handle at least some of these using the same technique that we use for unsigned: use icmp logic to see if there's a relationship between the quotient and divisor. llvm-svn: 312938
-