- Oct 10, 2017
-
-
Jan Korous authored
rdar://33058798 Differential Revision: https://reviews.llvm.org/D38755 llvm-svn: 315367
-
Richard Smith authored
llvm-svn: 315366
-
Craig Topper authored
[X86] Fix some patterns that select VLX instructions, but were incorrectly also checking presence of BWI instructions. The EVEX->VEX pass probably obscures this. llvm-svn: 315365
-
Rafael Espindola authored
llvm-svn: 315364
-
Vlad Tsyrklevich authored
Summary: Move llvm-cfi-verify into a class in preparation for CFI analysis to come. Reviewers: vlad.tsyrklevich Reviewed By: vlad.tsyrklevich Subscribers: mgorny, llvm-commits, pcc, kcc Differential Revision: https://reviews.llvm.org/D38379 llvm-svn: 315363
-
Simon Dardis authored
Rather than using the AdditionalPredicates mechanism to guard the microMIPS instructions, use the existing predicates to properly guard those instructions. This also resolves a case where an instruction pattern was incorrectly available for microMIPS32R6, which caused a register allocation failure as the registers specified in the pattern were not available. Reviewers: nitesh.jain, atanasyan Differential Revision: https://reviews.llvm.org/D38451 llvm-svn: 315362
-
Matt Arsenault authored
llvm-svn: 315361
-
Matt Arsenault authored
opt-bisect/optnone disable the AMDGPUUniformAnnotateValues pass. The heuristic in the custom selector for brcond deferred the branch uniformity check to the pattern, which would fail. llvm-svn: 315360
-
Adrian Prantl authored
<rdar://problem/34689604> llvm-svn: 315359
-
Guozhi Wei authored
Usually compare expression should return i1 type, so EmitScalarConversion is called before return return EmitScalarConversion(Result, CGF.getContext().BoolTy, E->getType(), E->getExprLoc()); But when ppc intrinsic is called to compare vectors, the ppc intrinsic can return i32 even E->getType() is BoolTy, in this case EmitScalarConversion does nothing, an i32 type result is returned and causes crash later. This patch detects this case and truncates the result before return. Differential Revision: https://reviews.llvm.org/D38656 llvm-svn: 315358
-
Matt Arsenault authored
These should only be used if the machine structurizer is enabled. llvm-svn: 315357
-
Matthew Simpson authored
The new name clarifies the function's relation to getValueState. That is, unlike getValueState, the state of a given value will not be initialized if it's not already in the map. llvm-svn: 315356
-
Matt Morehouse authored
This reverts r315336 due to build breakage with gcc. http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werror/builds/2173 llvm-svn: 315355
-
Rafael Espindola authored
llvm-svn: 315354
-
Yaxun Liu authored
This patch adds a post-linking pass which replaces the function pointer of enqueued block kernel with a global variable (runtime handle) and adds runtime-handle attribute to the enqueued block kernel. In LLVM CodeGen the runtime-handle metadata will be translated to RuntimeHandle metadata in code object. Runtime allocates a global buffer for each kernel with RuntimeHandel metadata and saves the kernel address required for the AQL packet into the buffer. __enqueue_kernel function in device library knows that the invoke function pointer in the block literal is actually runtime handle and loads the kernel address from it and puts it into AQL packet for dispatching. This cannot be done in FE since FE cannot create a unique global variable with external linkage across LLVM modules. The global variable with internal linkage does not work since optimization passes will try to replace loads of the global variable with its initialization value. Differential Revision: https://reviews.llvm.org/D38610 llvm-svn: 315352
-
Peter Collingbourne authored
This saves a call to stat(). Differential Revision: https://reviews.llvm.org/D38715 llvm-svn: 315351
-
Roman Lebedev authored
Summary: D36624 added some python3 compatibility. But that fix has a problem.. With python2 (which is specified by `#!/usr/bin/env python2.7`), if the env variables do not specify the UTF8, and the source file is UTF8 (contains non-ASCII symbols), then the `.decode('utf-8')` causes the following exception: ``` Reading YAML files... Rendering HTML files... 8 of 41Traceback (most recent call last): File "/build/llvm/tools/opt-viewer/opt-viewer.py", line 277, in <module> print_progress) File "/build/llvm/tools/opt-viewer/opt-viewer.py", line 213, in generate_report should_print_progress) File "/build/llvm/tools/opt-viewer/optpmap.py", line 45, in pmap result = map(_wrapped_func, func_and_args, *args, **kwargs) File "/build/llvm/tools/opt-viewer/optpmap.py", line 25, in _wrapped_func return func(argument) File "/build/llvm/tools/opt-viewer/opt-viewer.py", line 174, in _render_file SourceFileRenderer(source_dir, output_dir, filename).render(remarks) File "/build/llvm/tools/opt-viewer/opt-viewer.py", line 125, in render self.render_source_lines(self.source_stream, line_remarks) File "/build/llvm/tools/opt-viewer/opt-viewer.py", line 79, in render_source_lines </tr>'''.format(**locals()), file=self.stream) UnicodeEncodeError: 'ascii' codec can't encode character u'\xf4' in position 47: ordinal not in range(128) ``` This is similar to https://bugs.llvm.org/show_bug.cgi?id=33548, which was fixed by https://reviews.llvm.org/D37661 Unlike that fix, here, *removing* `.decode('utf-8')` actually fixes it. Since i assume that the original fix is needed, i simply made that fix conditional, since for python2 it actually breaks things. Reviewers: modocache, anemet Reviewed By: anemet Subscribers: fhahn, llvm-commits Differential Revision: https://reviews.llvm.org/D38289 llvm-svn: 315350
-
Rafael Espindola authored
llvm-svn: 315349
-
Rafael Espindola authored
No functionality change, it just makes it easier to use Expected in Object. llvm-svn: 315348
-
Rafael Espindola authored
llvm-svn: 315347
-
Jake Ehrlich authored
This change adds support for removing sections using the -R field (as GNU objcopy does as well). This change should let us add many helpful tests and is a proper stepping stone for adding more general kinds of stripping. Differential Revision: https://reviews.llvm.org/D38260 llvm-svn: 315346
-
Jake Ehrlich authored
I forgot to add a proper commit message. I'm reverting this to fix that. This reverts commit r315344. llvm-svn: 315345
-
Jake Ehrlich authored
llvm-svn: 315344
-
Jan Vesely authored
Reviewer: Jeroen Ketema Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 315343
-
Jan Vesely authored
Reviewer: Aaron Watry Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 315342
-
Jan Vesely authored
The implementation uses r600 sepcific intrinsics LLVM-4 switched to _ro_t and _rw_t image types Portions of the code can be moved back as more targets/llvm versions add image support Reviewer: Aaron Watry Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 315341
-
Adrian Prantl authored
This patch ensures that the rule: fold (zext (load x)) -> (zext (truncate (zextload x))) propagates the SDLoc of the load to the zextload. <rdar://problem/33755881> llvm-svn: 315340
-
Matt Morehouse authored
Makes it possible to build with any sanitizer or none at all. llvm-svn: 315339
-
Francis Ricci authored
Summary: This is required to get the clang version for sanitized builds. Reviewers: zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38741 llvm-svn: 315338
-
Francis Ricci authored
Summary: This leak doesn't reproduce locally on macOS 10.12, but is causing buildbot failures. Disable leak checking until it can be fixed. Reviewers: sqlbyme, qcolombet, enderby, bruno Reviewed By: bruno Subscribers: bruno, llvm-commits Differential Revision: https://reviews.llvm.org/D38699 llvm-svn: 315337
-
Matt Morehouse authored
Summary: Compile with DummyClangFuzzer.cpp as entry point rather than libFuzzer's main when coverage instrumentation is missing. https://llvm.org/pr34314 Reviewers: kcc, bogner, vitalybuka Reviewed By: vitalybuka Subscribers: cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D38642 llvm-svn: 315336
-
Derek Schuff authored
llvm-svn: 315335
-
Rafael Espindola authored
We just don't need one with the current setup. We only error on undefined references that are used by some relocation. If we managed to relax all uses of __tls_get_addr, no relocation uses it and we don't produce an error. This is less code and fixes the case were we fail to relax. Before we would produce a broken output, but now we produce an error. llvm-svn: 315334
-
Francis Ricci authored
Summary: LSan on darwin doesn't exist on older versions of clang, causing non-boostrapped sanitized buildbots to fail Reviewers: kubamracek, qcolombet, sqlbyme, zturner, modocache Reviewed By: zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38703 llvm-svn: 315333
-
Lang Hames authored
llvm-svn: 315332
-
Lang Hames authored
llvm-svn: 315331
-
Hans Wennborg authored
This is a re-commit of r315025, but making sure to only apply this to specializations of class template member functions; i.e. not when the function itself is a template. llvm-svn: 315330
-
Bruno Cardoso Lopes authored
This reverts commit r315288. This is part of fixing segfault introduced in: http://green.lab.llvm.org/green/job/clang-stage2-configure-Rlto/21675/ llvm-svn: 315329
-
Bruno Cardoso Lopes authored
This reverts commit r315294. Part of fixing seg fault introduced in: http://green.lab.llvm.org/green/job/clang-stage2-configure-Rlto/21675/ llvm-svn: 315328
-
Lang Hames authored
functions. This makes the ownership of the resulting MCObjectWriter clear, and allows us to remove one instance of MCObjectStreamer's bizarre "holding ownership via someone else's reference" trick. llvm-svn: 315327
-