- Feb 14, 2017
-
-
Adam Nemet authored
This allows for nicer backtrace and debugging when -j1 is passed: $ opt-viewer.py CMakeFiles/LLVMScalarOpts.dir/LoopVersioningLICM.cpp.opt.yaml html Traceback (most recent call last): File "/org/llvm/utils/opt-viewer/opt-viewer.py", line 405, in <module> generate_report(pmap, all_remarks, file_remarks, args.source_dir, args.output_dir) File "/org/llvm/utils/opt-viewer/opt-viewer.py", line 362, in generate_report pmap(_render_file_bound, file_remarks.items()) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 251, in map return self.map_async(func, iterable, chunksize).get() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 567, in get raise self._value Exception: blah $ opt-viewer.py -j 1 CMakeFiles/LLVMScalarOpts.dir/LoopVersioningLICM.cpp.opt.yaml html Traceback (most recent call last): File "/org/llvm/utils/opt-viewer/opt-viewer.py", line 405, in <module> generate_report(pmap, all_remarks, file_remarks, args.source_dir, args.output_dir) File "/org/llvm/utils/opt-viewer/opt-viewer.py", line 362, in generate_report pmap(_render_file_bound, file_remarks.items()) File "/org/llvm/utils/opt-viewer/opt-viewer.py", line 317, in _render_file SourceFileRenderer(source_dir, output_dir, filename).render(remarks) File "/org/llvm/utils/opt-viewer/opt-viewer.py", line 168, in __init__ raise Exception("blah") Exception: blah llvm-svn: 295080
-
Krzysztof Parzyszek authored
llvm-svn: 295078
-
Rui Ueyama authored
llvm-svn: 295077
-
Taewook Oh authored
Summary: As written in the comments above, LastCallToStaticBonus is already applied to the cost if Caller has only one user, so it is redundant to reapply the bonus here. If the only user is not a caller, TotalSecondaryCost will not be adjusted anyway because callerWillBeRemoved is false. If there's no caller at all, we don't need to care about TotalSecondaryCost because inliningPreventsSomeOuterInline is false. Reviewers: chandlerc, eraman Reviewed By: eraman Subscribers: haicheng, davidxl, davide, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D29169 llvm-svn: 295075
-
Adam Nemet authored
llvm-svn: 295073
-
Adam Nemet authored
And use it in MachineOptimizationRemarkEmitter. A test will follow on top of Justin's changes to enable MachineORE in AsmPrinter. The approach is similar to the IR-level pass. It's a bit simpler because BPI is immutable at the Machine level so we don't need to make that lazy. Because of this, a new function mapping is introduced (BPIPassTrait::getBPI). This function extracts BPI from the pass. In case of the lazy pass, this is when the calculation of the BFI occurs. For Machine-level, this is the identity function. Differential Revision: https://reviews.llvm.org/D29836 llvm-svn: 295072
-
Adam Nemet authored
This will be used by the LazyMachineBFI pass. Differential Revision: https://reviews.llvm.org/D29834 llvm-svn: 295071
-
Sanjay Patel authored
llvm-svn: 295068
-
George Rimar authored
If we had SHT_GROUP sections, then when -r was used we might crash. This is PR31952. Issue happened because we emited relocation section though its target was discared because was a member of duplicated group. When we tried to get VA of target, segfault happened. Core cause is the bug that GNU as 2.27 (and probably later versions) has. In compare with llvm-mc, it does not include relocation sections into the group, like shown in testcase. This patch covers that case. Differential revision: https://reviews.llvm.org/D29929 llvm-svn: 295067
-
Brian Cain authored
llvm-svn: 295066
-
Diego Novillo authored
llvm-svn: 295065
-
Pavel Labath authored
Summary: This is achieved by generalizing the expression selecting the StringRef format_provider. Now, anything that can be converted to a StringRef will use it's formatter. Reviewers: zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D29898 llvm-svn: 295064
-
Matthew Simpson authored
This reapplies commit r294967 with a fix for the execution time regressions caught by the clang-cmake-aarch64-quick bot. We now extend the truncate optimization to non-primary induction variables only if the truncate isn't already free. Differential Revision: https://reviews.llvm.org/D29847 llvm-svn: 295063
-
Rafael Espindola authored
llvm-svn: 295062
-
Simon Pilgrim authored
Add support for specifying an UNPCK input as UNDEF llvm-svn: 295061
-
Igor Laevsky authored
Differential Revision: https://reviews.llvm.org/D29759 llvm-svn: 295060
-
Simon Pilgrim authored
Not correctly using UNDEF or ZERO inputs to combine to UNPCK shuffles llvm-svn: 295059
-
Simon Pilgrim authored
Remove excess semicolons llvm-svn: 295058
-
Etienne Bergeron authored
Summary: There is no guarantee that the tls_init is executed on the static runtime (/MT). On windows 7, this unittest is failing. On windows 10, I believe it's working because of the new CRT. On ASAN side, it doesn't matter that the hook point is run or not. It must be run only if there is other tls_initializer that are registered. Reviewers: rnk, chrisha Reviewed By: rnk Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D29838 llvm-svn: 295057
-
Alexey Bataev authored
back into a vector Previously the cost of the existing ExtractElement/ExtractValue instructions was considered as a dead cost only if it was detected that they have only one use. But these instructions may be considered dead also if users of the instructions are also going to be vectorized, like: ``` %x0 = extractelement <2 x float> %x, i32 0 %x1 = extractelement <2 x float> %x, i32 1 %x0x0 = fmul float %x0, %x0 %x1x1 = fmul float %x1, %x1 %add = fadd float %x0x0, %x1x1 ``` This can be transformed to ``` %1 = fmul <2 x float> %x, %x %2 = extractelement <2 x float> %1, i32 0 %3 = extractelement <2 x float> %1, i32 1 %add = fadd float %2, %3 ``` because though `%x0` and `%x1` have 2 users each other, these users are part of the vectorized tree and we can consider these `extractelement` instructions as dead. Differential Revision: https://reviews.llvm.org/D29900 llvm-svn: 295056
-
Artyom Skrobov authored
llvm-svn: 295055
-
Alexander Timofeev authored
This reverts commit ce06d9cb99298eb844b66e117f5108a06747c907. llvm-svn: 295054
-
Simon Pilgrim authored
llvm-svn: 295053
-
George Rimar authored
Patch makes addends for addends of R_386_8, R_386_16 relocations be sign extended. The same we did earlier for PC ones, currenly LLD fails to link linux kernel, reporting relocation out of range because of this. Differential revision: https://reviews.llvm.org/D29714 llvm-svn: 295052
-
Simon Pilgrim authored
Don't bother setting the V1/V2 operands again for unary shuffles. Don't bother legalizing the value type unless the match succeeds. llvm-svn: 295051
-
Alexey Bataev authored
llvm-svn: 295050
-
Benjamin Kramer authored
Reviewers: alexfh Subscribers: JDevlieghere, cfe-commits Differential Revision: https://reviews.llvm.org/D29899 llvm-svn: 295049
-
Haojian Wu authored
Summary: Users might get confused easily when they see the check's message on full template function speciliations. Add a note to the output message, which mentions these kind of function specializations are treated as regular functions. Reviewers: alexfh Reviewed By: alexfh Subscribers: JDevlieghere, cfe-commits Differential Revision: https://reviews.llvm.org/D29928 llvm-svn: 295048
-
Pavel Labath authored
I think I have a fix for this, but it needs review. This should keep the bots happy until then. llvm-svn: 295047
-
Simon Pilgrim authored
It also shows an unnecessary pshufb/broadcast being used - the original pshufb mask only requested the lowest byte. llvm-svn: 295046
-
Laszlo Nagy authored
Differential Revision: https://reviews.llvm.org/D29255 llvm-svn: 295045
-
Krasimir Georgiev authored
llvm-svn: 295044
-
Laszlo Nagy authored
llvm-svn: 295043
-
Karl-Johan Karlsson authored
This reverts r295038. The buildbot clang-with-thin-lto-ubuntu failed. I'm reverting to investigate. llvm-svn: 295042
-
Gabor Horvath authored
Differential Revision: https://reviews.llvm.org/D19586 llvm-svn: 295041
-
Simon Atanasyan authored
[ELF][MIPS] Use `InputSectionBase::getOutputSection()` to access output sections from the `MipsGotSection` Follow-up to r294005. This patch restores handling of MISP GOT relocations against merge sections. llvm-svn: 295040
-
Karl-Johan Karlsson authored
Prevent memory objects of different address spaces to be part of the same load/store groups when analysing interleaved accesses. This is fixing pr31900. Reviewers: HaoLiu, mssimpso, mkuper Reviewed By: mssimpso, mkuper Subscribers: llvm-commits, efriedma, mzolotukhin Differential Revision: https://reviews.llvm.org/D29717 llvm-svn: 295038
-
Karl-Johan Karlsson authored
Removing whitespace. llvm-svn: 295037
-
Daniel Jasper authored
llvm-svn: 295036
-
Craig Topper authored
llvm-svn: 295035
-