summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* XFAIL a test on WindowsFangrui Song2019-11-261-0/+1
| | | | | | | | | | | | http://45.33.8.238/win/3052/step_6.txt C:\src\llvm-project\clang\test\Preprocessor\file_test.c:9:11: error: CHECK: expected string not found in input // CHECK: filename: "/UNLIKELY_PATH/empty{{/|\\\\}}file_test.c" ^ <stdin>:1:1: note: scanning from here ^ <stdin>:1:28: note: possible intended match here ^
* [Fuchsia] Don't fail for unknown architecturesPetr Hosek2019-11-261-3/+2
| | | | | | | | When selecting the set of default sanitizers, don't fail for unknown architectures. This may be the case e.g. with x86_64-unknown-fuchsia -m32 target that's used to build the bootloader. Differential Revision: https://reviews.llvm.org/D70747
* Workaround for EvalInfo ctor for MSVC 2017Yaxun (Sam) Liu2019-11-262-3/+12
| | | | | | | | | | | | Current EvalInfo ctor causes EnableNewConstInterp to be true even though it is supposed to be false on MSVC 2017. This is because a virtual function getLangOpts() is called in member initializer lists, whereas on MSVC member ctors are called before function virtual function pointers are initialized. This patch fixes that. Differential Revision: https://reviews.llvm.org/D70729
* [LegalizeTypes] Add SoftenFloatOp_Unary to reduce some duplication for ↵Craig Topper2019-11-262-54/+36
| | | | | | | | | | | | | | | | softening LRINT/LLRINT/LROUND/LLROUND Summary: This will be enhanced in a follow up to add strict fp support Reviewers: efriedma Reviewed By: efriedma Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70751
* [Preprocessor] Fix backslash tests on Windows after D49466Fangrui Song2019-11-261-6/+6
| | | | See http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/29442/steps/test-check-all/logs/stdio
* [ELF] Adjust test to work for zlib 1.2.8Shoaib Meenai2019-11-261-2/+2
| | | | | | The previous data had the same length with compression levels 1 and 6 for zlib 1.2.8. Adjust the test to work for this library version. I've also tested this with zlib 1.2.7 and zlib 1.2.11.
* [PowerPC] [NFC] rename PPCLoopPreIncPrep.cpp to PPCLoopInstrFormPrep.cpp ↵Jinsong Ji2019-11-273-2/+2
| | | | | | | | | | | | | | | | | | | after D67088 Summary: This is NFC code clean work after D67088. In that patch, we extend loop instructions prep for ds/dq form. This patch only changes the file name PPCLoopPreIncPrep.cpp to PPCLoopInstrFormPrep.cpp for better reviewing of the content change of file PPCLoopInstrFormPrep.cpp. Reviewers: #powerpc, nemanjai, steven.zhang, shchenz Reviewed By: #powerpc, shchenz Subscribers: wuzish, mgorny, hiraditya, kbarton, shchenz, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70716
* [CodeMoverUtils] clang-format the testVitaly Buka2019-11-261-45/+55
|
* [CodeMoverUtils] Don't dereference nullptr in testVitaly Buka2019-11-261-1/+1
|
* Fix tests on Windows after D49466Fangrui Song2019-11-263-14/+12
| | | | | | It is tricky to use replace_path_prefix correctly on Windows which uses backslashes as native path separators. Switch back to the old approach (startswith is not ideal) to appease build bots for now.
* [X86] Add test cases for constrained lrint/llrint/lround/llround to ↵Craig Topper2019-11-261-0/+52
| | | | fp128-libcalls-strict. NFC
* [unittest] Fix unittests/Support/Path.cpp after D49466Fangrui Song2019-11-261-6/+12
|
* Initial implementation of -fmacro-prefix-map and -ffile-prefix-mapDan McGregor2019-11-2618-31/+221
| | | | | | | | | GCC 8 implements -fmacro-prefix-map. Like -fdebug-prefix-map, it replaces a string prefix for the __FILE__ macro. -ffile-prefix-map is the union of -fdebug-prefix-map and -fmacro-prefix-map Reviewed By: rnk, Lekensteyn, maskray Differential Revision: https://reviews.llvm.org/D49466
* [InstSimplify] fold copysign with same args to the argSanjay Patel2019-11-262-4/+7
| | | | | | | This is correct for any value including NaN/inf. We don't have this fold directly in the backend either, but x86 manages to get it after converting things to bitops.
* [InstSimplify] add tests for copysign; NFCSanjay Patel2019-11-261-0/+21
|
* [ConstFolding] move tests for copysign; NFCSanjay Patel2019-11-262-49/+53
| | | | InstCombine doesn't have any transforms for copysign currently.
* [mips] Fix sc, scs, ll, lld instructions expandingSimon Atanasyan2019-11-2712-130/+1325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a couple of bugs with the sc, scs, ll, lld instructions expanding: 1. On R6 these instruction pack immediate offset into a 9-bit field. Now if an immediate exceeds 9-bits assembler does not perform expansion and just rejects such instruction. 2. On 64-bit non-PIC code if an operand is a symbol assembler generates incorrect sequence of instructions. It uses R_MIPS_HI16 and R_MIPS_LO16 relocations and skips R_MIPS_HIGHEST and R_MIPS_HIGHER ones. To solve these problems this patch: - Introduces `mem_simm9_exp` to mark 9-bit memory immediate operands which require expansion. Probably later all `mem_simm9` operands will be able to migrate on `mem_simm9_exp` and we rename it to `mem_simm9`. - Adds new `OPERAND_MEM_SIMM9` operand type and assigns it to the `mem_simm9_exp`. That allows to know operand size in the `processInstruction` method and decide whether we need to expand instruction. - Adds `expandMem9Inst` method to expand instructions with 9-bit memory immediate operand. This method just load immediate into a "base" register used by origibal instruction: sc $2, 256($sp) => addiu $1, $sp, 256 sc $2, 0($1) - Fix `expandMem16Inst` to support a correct set of relocations for symbol loading in case of 64-bit non-PIC code. ll $12, symbol => lui $12, 0 R_MIPS_HIGHEST symbol daddiu $12, $12, 0 R_MIPS_HIGHER symbol dsll $12, $12, 16 daddiu $12, $12, 0 R_MIPS_HI16 symbol dsll $12, $12, 16 ll $12, 0($12) R_MIPS_LO16 symbol - Fix `expandMem16Inst` to unify handling of 3 and 4 operands instructions. - Delete unused now `MipsTargetStreamer::emitSCWithSymOffset` method. Task for next patches - implement expanding for other instructions use `mem_simm9` operand and other `mem_simm##` operands. Differential Revision: https://reviews.llvm.org/D70648
* [LegalizeTypes] Add SoftenFloatRes_Unary and SoftenFloatRes_Binary functions ↵Craig Topper2019-11-262-281/+157
| | | | | | | | to factor repeated patterns out of many of the SoftenFloatRes_* functions This has been factored out of D70654 which will add strict FP support to these functions. By making the helpers we avoid repeating even more code. Differential Revision: https://reviews.llvm.org/D70736
* [AIX] Disable clang python binding testsDavid Tenty2019-11-261-0/+5
| | | | | | | | | | | | | | | | | Summary: The Python ctypes FFI interface is broken on AIX, it cannot properly pass structures containing arrays ( https://bugs.python.org/issue38628). So disable the clang python binding tests on AIX till this is resolved. Reviewers: stevewan, jasonliu, hubert.reinterpretcast, mgorny Reviewed By: jasonliu, hubert.reinterpretcast Subscribers: mgorny, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70675
* [LegalizeDAG] Use getOperationAction instead of getStrictFPOperationAction ↵Craig Topper2019-11-261-2/+2
| | | | for STRICT_LRINT/LROUND/LLRINT/LLROUND.
* TargetPassConfig: const char * -> const char []Fangrui Song2019-11-261-4/+4
| | | | | The latter has better codegen in non-optimized builds, which do not run ipsccp.
* [X86] Add strict fp support for operations of X87 instructionsCraig Topper2019-11-265-22/+50
| | | | | | | | | | This is the following patch of D68854. This patch adds basic operations of X87 instructions, including +, -, *, / , fp extensions and fp truncations. Patch by Chen Liu(LiuChen3) Differential Revision: https://reviews.llvm.org/D68857
* [X86] Pre-commit test modifications for D68857. NFCCraig Topper2019-11-262-11/+6
| | | | | | Patch by Chen Liu(LiuChen3) Differential Revision: https://reviews.llvm.org/D70706
* [Object][RISCV][test] Improve DebugInfo/RISCV/relax-debug-frame.llFangrui Song2019-11-261-14/+10
| | | | | | Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D70578
* [ELF] Add a corrector for case mismatch problemsFangrui Song2019-11-262-0/+18
| | | | | | Reviewed By: grimar, peter.smith Differential Revision: https://reviews.llvm.org/D70506
* [ELF] Replace SymbolTable::forEachSymbol with iterator_range symbols()Fangrui Song2019-11-266-34/+34
| | | | | | | | | | | | | | D62381 introduced forEachSymbol(). It seems that many call sites cannot be parallelized because the body shared some states. Replace forEachSymbol with iterator_range<filter_iterator<...>> symbols() to simplify code and improve debuggability (std::function calls take some frames). It also allows us to use early return to simplify code added in D69650. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D70505
* [OPENMP]Remove tab in message, NFC.Alexey Bataev2019-11-261-1/+1
|
* [OPENMP]Simplify printing of declare variant attribute, NFC.Alexey Bataev2019-11-261-23/+28
|
* [ARM] Clean up the load and store code. NFCDavid Green2019-11-261-263/+246
| | | | | | | | | Some of these patterns have grown quite organically. I've tried to organise them a little here, moving all the PatFlags together and giving them a more consistent naming scheme, to allow some of the later patterns to be merged into a single multiclass. Differential Revision: https://reviews.llvm.org/D70178
* [Codegen][ARM] Add addressing modes from masked loads and storesDavid Green2019-11-2625-749/+907
| | | | | | | | | | | | | | | | | | | | | | | | | | | | MVE has a basic symmetry between it's normal loads/store operations and the masked variants. This means that masked loads and stores can use pre-inc and post-inc addressing modes, just like the standard loads and stores already do. To enable that, this patch adds all the relevant infrastructure for treating masked loads/stores addressing modes in the same way as normal loads/stores. This involves: - Adding an AddressingMode to MaskedLoadStoreSDNode, along with an extra Offset operand that is added after the PtrBase. - Extending the IndexedModeActions from 8bits to 16bits to store the legality of masked operations as well as normal ones. This array is fairly small, so doubling the size still won't make it very large. Offset masked loads can then be controlled with setIndexedMaskedLoadAction, similar to standard loads. - The same methods that combine to indexed loads, such as CombineToPostIndexedLoadStore, are adjusted to handle masked loads in the same way. - The ARM backend is then adjusted to make use of these indexed masked loads/stores. - The X86 backend is adjusted to hopefully be no functional changes. Differential Revision: https://reviews.llvm.org/D70176
* [ARM] Lots of MVE offset masked load and store tests. NFCDavid Green2019-11-264-59/+8157
|
* [DebugInfo] Disallow fragmenting DIExpressions with shift operatorsstozer2019-11-262-2/+49
| | | | | | | | DIExpressions with shift operators should not be fragmented for the same reason as arithmetic operators: carry over cannot be expressed from one fragment to the other, so an invalid result would be produced. Differential Revision: https://reviews.llvm.org/D70601
* [XCOFF][AIX] Check linkage on the function, and two fixes for commentsjasonliu2019-11-263-8/+42
| | | | | | This is a follow up commit to address post-commit comment in D70443 Differential revision: https://reviews.llvm.org/D70443
* [AMDGPU] Fix emitIfBreak CF lowering: use temp reg to make register ↵vpykhtin2019-11-268-50/+45
| | | | | | coalescer life easier. Differential revision: https://reviews.llvm.org/D70405
* [OPENMP]Fix PR44133: crash on lambda reductions in templates.Alexey Bataev2019-11-262-32/+94
| | | | | | Need to perform the instantiation of the combiner/initializer even if the resulting type is not dependent, if the construct is defined in templates in some cases.
* [lldb] [test] Un-XFAIL lldb-server tests fixed on NetBSDMichał Górny2019-11-261-2/+0
|
* [clang-tidy] Use range-for for check registration. NFCAlexander Kornienko2019-11-261-4/+2
| | | | Actually, just testing GitHub commit rights.
* [LegalizeTypes][RISCV] Soften FCOPYSIGN operandLuís Marques2019-11-263-0/+54
| | | | | | | | | | Summary: Adds support for softening FCOPYSIGN operands. Adds RISC-V tests that exercise the new softening code. Reviewers: asb, lenary, efriedma Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D70679
* [RISCV] Handle fcopysign(f32, f64) and fcopysign(f64, f32)Luís Marques2019-11-262-0/+95
| | | | | | | | | | | | Summary: Adds tablegen patterns to explicitly handle fcopysign where the magnitude and sign arguments have different types, due to the sign value casts being removed the by DAGCombiner. Support for RV32IF follows in a separate commit. Adds tests for all relevant scenarios except RV32IF. Reviewers: lenary Reviewed By: lenary Tags: #llvm Differential Revision: https://reviews.llvm.org/D70678
* [llvm-readobj/llvm-readelf] - Reimplement dumping of the SHT_GNU_verdef section.Georgii Rymar2019-11-263-73/+390
| | | | | | | | | | | | Currently we have following issues: 1) We have 2 different implementations with a different behaviors for GNU/LLVM styles. 2) Errors are either not handled at all or we call report_fatal_error with not helpfull messages. 3) There is no test coverage even for those errors that are reported. This patch reimplements parsing of the SHT_GNU_verdef section entries in a single place, adds a few error messages and test coverage. Differential revision: https://reviews.llvm.org/D70495
* [lldb] Avoid snprintf in PlatformRemoteDarwinDevicePavel Labath2019-11-261-19/+14
| | | | This quashes a -Wformat-truncation warning.
* [InferFuncAttributes][Attributor] add tests for 'dereferenceable'; NFCSanjay Patel2019-11-261-0/+28
| | | | | | | Pulling a couple of extra tests out of D64258 before abandoning in favor of D70714
* [lldb][NFC] Modernize string handling in DWARFASTParserClang::ParseTypeModifierRaphael Isemann2019-11-261-22/+16
|
* [lldb] Use llvm::format in AppleObjCRuntimeV2.cppPavel Labath2019-11-261-8/+2
| | | | Crushing a "sprintf" buffer is null warning.
* [llvm-readobj][test] - Cleanup the many-sections.s test case.Georgii Rymar2019-11-263-27/+47
| | | | | | | It removes 2 precompiled binaries used which are now can be crafted with the use of yaml2obj. Differential revision: https://reviews.llvm.org/D70711
* [lldb] fix a -Wcast-qual warningPavel Labath2019-11-261-1/+1
|
* [lldb] remove a superfluous semicolonPavel Labath2019-11-261-1/+1
|
* Partially reland "[Diagnostics] Put "deprecated copy" warnings into ↵Dávid Bolvanský2019-11-264-8/+38
| | | | | | -Wdeprecated-copy"" But do not enable it under -Wextra until libcxx issue is solved.
* [lldb] remove unsigned Stream::operator<< overloadsPavel Labath2019-11-268-85/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: I recently re-discovered that the unsinged stream operators of the lldb_private::Stream class have a surprising behavior in that they print the number in hex. This is all the more confusing because the "signed" versions of those operators behave normally. Now that, thanks to Raphael, each Stream class has a llvm::raw_ostream wrapper, I think we should delete most of our formatting capabilities and just delegate to that. This patch tests the water by just deleting the operators with the most surprising behavior. Most of the code using these operators was printing user_id_t values. It wasn't fully consistent about prefixing them with "0x", but I've tried to consistenly print it without that prefix, to make it more obviously different from pointer values. Reviewers: teemperor, JDevlieghere, jdoerfert Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D70241
* [lldb/symbolvendorelf] Copy more sections from separate debug filesPavel Labath2019-11-262-10/+83
| | | | Include the fancier DWARF5 sections too.
OpenPOWER on IntegriCloud