summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* gn build: Merge r359174Nico Weber2019-04-251-0/+1
| | | | llvm-svn: 359188
* gn build: Merge r359142Nico Weber2019-04-251-0/+1
| | | | llvm-svn: 359187
* [utils] Add a lldb data formatter for llvm::SmallString.Davide Italiano2019-04-251-0/+11
| | | | | | | | | Result: (lldb) p val (llvm::SmallString<32>) $31 = "patatino" llvm-svn: 359157
* gn build: Merge r359050 moreNico Weber2019-04-242-0/+2
| | | | llvm-svn: 359058
* gn build: Merge r359050Nico Weber2019-04-242-0/+2
| | | | llvm-svn: 359056
* Use llvm::stable_sortFangrui Song2019-04-234-17/+15
| | | | | | While touching the code, simplify if feasible. llvm-svn: 358996
* gn build: Merge r358944Nico Weber2019-04-231-0/+1
| | | | llvm-svn: 358993
* gn build: Merge r358949Nico Weber2019-04-232-0/+2
| | | | llvm-svn: 358991
* gn build: Merge r358869Nico Weber2019-04-222-4/+4
| | | | llvm-svn: 358912
* gn build: Re-run `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py ↵Nico Weber2019-04-212-2/+1
| | | | | | format` llvm-svn: 358862
* gn build: Merge r358749Nico Weber2019-04-213-9/+11
| | | | | | | | | | | | Since the symlinks list for llvm-symbolizer is now never empty, the :symlinks target no longer needs an explicit dep on :llvm-symbolizer -- there will be at least one dep on a symlink, and each symlink depends on :llvm-symbolizer already. Since llvm-symbolizer:symlinks now produces symlinks that check-llvm uses, make llvm/test depend on the symlink target. llvm-svn: 358861
* gn build: Merge r358818 (JITLink)Nico Weber2019-04-216-0/+56
| | | | llvm-svn: 358860
* gn build: Fix build after r358837Nico Weber2019-04-211-1/+0
| | | | llvm-svn: 358851
* [gn] Move Features.inc to clangd, create a config for itPetr Hosek2019-04-213-20/+25
| | | | | | | | | | | ClangdLSPServer and clangd unittests now include Features.inc so we need to append the target_gen_dir that contains it to their include_dirs. To do so, we use a public config that's applied to any target that depends on the features one. Differential Revision: https://reviews.llvm.org/D60919 llvm-svn: 358837
* Update GN files to build with r358103Vitaly Buka2019-04-193-2/+14
| | | | llvm-svn: 358790
* [gn] Support dots in CMake paths in the sync scriptPetr Hosek2019-04-192-1/+2
| | | | | | | | Some file paths use dots to pick up sources from parent directories. Differential Revision: https://reviews.llvm.org/D60734 llvm-svn: 358774
* gn build: Merge r358722Nico Weber2019-04-191-0/+1
| | | | llvm-svn: 358755
* gn build: Merge r358691Nico Weber2019-04-192-0/+2
| | | | llvm-svn: 358754
* gn build: Merge r358607Nico Weber2019-04-181-0/+1
| | | | llvm-svn: 358670
* gn build: Merge r358633Nico Weber2019-04-181-0/+1
| | | | llvm-svn: 358669
* gn build: Merge r358620Nico Weber2019-04-181-0/+1
| | | | llvm-svn: 358668
* gn build: Merge r358554Nico Weber2019-04-171-0/+1
| | | | llvm-svn: 358578
* Fixed error message printing in write_cmake_config.pyDmitri Gribenko2019-04-171-1/+4
| | | | | | | | | | | | | | Summary: Previously, write_cmake_config.py would raise an error while printing the error, because `leftovers` in "'\n'.join(leftovers)" is a tuple. Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60766 llvm-svn: 358557
* gn build: Merge r358422Nico Weber2019-04-161-0/+1
| | | | llvm-svn: 358486
* gn build: Merge r358390Nico Weber2019-04-151-0/+1
| | | | llvm-svn: 358397
* [TableGen] Include schedule model name in diagnostic.Simon Tatham2019-04-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | If you have more than one schedule model in your TableGen target definitions, then the diagnostic "No schedule information for instruction 'foo'" is rather unhelpful, because it doesn't tell you _which_ schedule model is missing the necessary information (or, as it might be, missing the UnsupportedFeatures definition that would stop it thinking it needed it). Extended the message to include the name of the schedule model that it's complaining about. Reviewers: nhaehnle, hfinkel, javedabsar, efriedma, javed.absar Reviewed By: javed.absar Subscribers: javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60559 llvm-svn: 358389
* gn build: Merge r358297Nico Weber2019-04-141-0/+1
| | | | llvm-svn: 358366
* gn build: Merge r358243Nico Weber2019-04-141-0/+1
| | | | llvm-svn: 358365
* gn build: Merge r358272Nico Weber2019-04-141-0/+1
| | | | llvm-svn: 358364
* [llvm] [lit] Add target-x86* featuresMichal Gorny2019-04-111-0/+4
| | | | | | | | | | | Add a 'target-x86' and 'target-x86_64' feature sthat indicates that the default target is 32-bit or 64-bit x86, appropriately. Combined with 'native' feature, we're going to use this to control x86-specific LLDB native process tests. Differential Revision: https://reviews.llvm.org/D60474 llvm-svn: 358177
* [TableGen] Introduce !listsplat 'binary' operatorRoman Lebedev2019-04-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: ``` ``!listsplat(a, size)`` A list value that contains the value ``a`` ``size`` times. Example: ``!listsplat(0, 2)`` results in ``[0, 0]``. ``` I plan to use this in X86ScheduleBdVer2.td for LoadRes handling. This is a little bit controversial because unlike every other binary operator the types aren't identical. Reviewers: stoklund, javed.absar, nhaehnle, craig.topper Reviewed By: javed.absar Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60367 llvm-svn: 358117
* [kate] Add '!mul' operator that was introduced in D58775Roman Lebedev2019-04-101-0/+1
| | | | llvm-svn: 358116
* gn build: Fix Windows builds after r357797Nico Weber2019-04-091-1/+3
| | | | llvm-svn: 358004
* [X86] Remove check on isAsmParserOnly from EVEX2VEX tablegenerator. NFCICraig Topper2019-04-091-3/+1
| | | | | | There are no instructions VEX or EVEX instructions that set this field. llvm-svn: 357973
* [X86] Have EVEX2VEX tablegenerator use HasVEX_L and HasEVEX_L2 fields ↵Craig Topper2019-04-091-32/+8
| | | | | | | | | | instead of the composite EVEX_LL field. Remove the EVEX_LL field. NFCI The composite existed to simplify some other tablegen code and not really in an important way. Remove the combined field and just calculate the vector size using two ifs. llvm-svn: 357972
* [X86] Use VEX_WIG for VPINSRB/W and VPEXTRB/W to match what is done for EVEX.Craig Topper2019-04-091-1/+1
| | | | | | | | | | | | | The instruction's document this as W0 for the VEX encoding. But there's a footnote mentioning that VEX.W is ignored in 64-bit mode. And the main VEX encoding description says the VEX.W bit is ignored for instructions that are equivalent to a legacy SSE instruction that uses REX.W to select a GPR which would apply here. By making this match EVEX we can remove a special case of allowing EVEX2VEX to turn an EVEX.WIG instruction into VEX.W0. llvm-svn: 357971
* [X86] Split the VEX_WPrefix in X86Inst tablegen class into 3 separate fields ↵Craig Topper2019-04-093-32/+23
| | | | | | with clear meanings. llvm-svn: 357970
* gn build: Merge r357905Nico Weber2019-04-082-0/+2
| | | | llvm-svn: 357907
* gn-build: Re-run `git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py ↵Nico Weber2019-04-081-2/+3
| | | | | | format` llvm-svn: 357906
* [gn] Support for per-target runtime directory layoutPetr Hosek2019-04-065-17/+35
| | | | | | | | | | This change also introduces the clang_enable_per_target_runtime_dir to enable the use of per-target runtime directory layout which is the equivalent of LLVM_ENABLE_PER_TARGET_RUNTIME_DIR CMake option. Differential Revision: https://reviews.llvm.org/D60332 llvm-svn: 357850
* gn build: Pacify `gn format`Nico Weber2019-04-051-0/+8
| | | | llvm-svn: 357830
* [gn] Support for building compiler-rt builtinsPetr Hosek2019-04-055-2/+491
| | | | | | | | | | | | | | | | This is support for building compiler-rt builtins, The library build should be complete for a subset of supported platforms, but not all CMake options have been replicated in GN. We always use the just built compiler to build all the runtimes, which is equivalent to the CMake runtimes build. This simplifies the build configuration because we don't need to support arbitrary host compiler and can always assume the latest Clang. With GN's toolchain support, this is significantly more efficient than the CMake runtimes build. Differential Revision: https://reviews.llvm.org/D60331 llvm-svn: 357821
* [X86] Merge the different Jcc instructions for each condition code into ↵Craig Topper2019-04-052-1/+10
| | | | | | | | | | | | | | | | | | | | | single instructions that store the condition code as an operand. Summary: This avoids needing an isel pattern for each condition code. And it removes translation switches for converting between Jcc instructions and condition codes. Now the printer, encoder and disassembler take care of converting the immediate. We use InstAliases to handle the assembly matching. But we print using the asm string in the instruction definition. The instruction itself is marked IsCodeGenOnly=1 to hide it from the assembly parser. Reviewers: spatel, lebedev.ri, courbet, gchatelet, RKSimon Reviewed By: RKSimon Subscribers: MatzeB, qcolombet, eraman, hiraditya, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60228 llvm-svn: 357802
* [X86] Merge the different SETcc instructions for each condition code into ↵Craig Topper2019-04-052-3/+18
| | | | | | | | | | | | | | | | | | | | | single instructions that store the condition code as an operand. Summary: This avoids needing an isel pattern for each condition code. And it removes translation switches for converting between SETcc instructions and condition codes. Now the printer, encoder and disassembler take care of converting the immediate. We use InstAliases to handle the assembly matching. But we print using the asm string in the instruction definition. The instruction itself is marked IsCodeGenOnly=1 to hide it from the assembly parser. Reviewers: andreadb, courbet, RKSimon, spatel, lebedev.ri Reviewed By: andreadb Subscribers: hiraditya, lebedev.ri, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60138 llvm-svn: 357801
* [X86] Merge the different CMOV instructions for each condition code into ↵Craig Topper2019-04-052-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | single instructions that store the condition code as an immediate. Summary: Reorder the condition code enum to match their encodings. Move it to MC layer so it can be used by the scheduler models. This avoids needing an isel pattern for each condition code. And it removes translation switches for converting between CMOV instructions and condition codes. Now the printer, encoder and disassembler take care of converting the immediate. We use InstAliases to handle the assembly matching. But we print using the asm string in the instruction definition. The instruction itself is marked IsCodeGenOnly=1 to hide it from the assembly parser. This does complicate the scheduler models a little since we can't assign the A and BE instructions to a separate class now. I plan to make similar changes for SETcc and Jcc. Reviewers: RKSimon, spatel, lebedev.ri, andreadb, courbet Reviewed By: RKSimon Subscribers: gchatelet, hiraditya, kristina, lebedev.ri, jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60041 llvm-svn: 357800
* [gn] Rebase paths in symlink_or_copy against root_build_dirPetr Hosek2019-04-051-2/+2
| | | | | | | | | | | We should be always rebasing paths against root_build_dir which is the directory where scripts are run from, not root_out_dir which is the current toolchain directory. The latter can result in invalid paths when the action is being used from a non-default toolchain. Differential Revision: https://reviews.llvm.org/D60330 llvm-svn: 357798
* [gn] Make -no-exceptions flag a configPetr Hosek2019-04-052-1/+5
| | | | | | | | | This allows it to be disabled for targets that need exceptions like libunwind, libc++abi and libc++. Differential Revision: https://reviews.llvm.org/D60328 llvm-svn: 357797
* lit: make rm python 3 friendly (NFC)Saleem Abdulrasool2019-04-052-6/+8
| | | | | | Add some alterations for python 3 compatibility. llvm-svn: 357789
* gn build: Merge 357768 and 357770Nico Weber2019-04-052-0/+4
| | | | llvm-svn: 357783
* gn build: Merge r357719Nico Weber2019-04-051-2/+2
| | | | llvm-svn: 357781
OpenPOWER on IntegriCloud