summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* [AMDGPU] Allow register tuples to set asm namesStanislav Mekhanoshin2019-07-191-3/+12
| | | | | | | | | | | | This change reverts most of the previous register name generation. The real problem is that RegisterTuple does not generate asm names. Added optional operand to RegisterTuple. This way we can simplify register name access and dramatically reduce the size of static tables for the backend. Differential Revision: https://reviews.llvm.org/D64967 llvm-svn: 366598
* gn build: Set +x on symlink_or_copy.pyNico Weber2019-07-191-0/+0
| | | | llvm-svn: 366576
* gn build: Merge r366458.Peter Collingbourne2019-07-181-0/+1
| | | | llvm-svn: 366487
* Bump the trunk version to 10.0.0svnHans Wennborg2019-07-182-3/+3
| | | | | | and clear the release notes. llvm-svn: 366427
* gn build: Merge r366361.Peter Collingbourne2019-07-171-0/+1
| | | | llvm-svn: 366380
* [Attributor] Deduce "willreturn" function attributeHideto Ueno2019-07-173-2/+18
| | | | | | | | | | | | | | | | | Summary: Deduce the "willreturn" attribute for functions. For now, intrinsics are not willreturn. More annotation will be done in another patch. Reviewers: jdoerfert Subscribers: jvesely, nhaehnle, nicholas, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63046 llvm-svn: 366335
* [TableGen] Do not set ReadNone attribute on intrinsics with side effectsMomchil Velikov2019-07-172-2/+4
| | | | | | | | | | | If an intrinsic is defined without outputs, but having side effects, it still can be removed completely from the program. This patch makes TableGen not set Attribute::ReadNone for intrinsics which are declared with IntrHasSideEffects. Differential Revision: https://reviews.llvm.org/D64414 llvm-svn: 366312
* gn build: Merge r366265Nico Weber2019-07-171-0/+1
| | | | llvm-svn: 366289
* gn build: Merge r366216Nico Weber2019-07-171-0/+1
| | | | llvm-svn: 366288
* [TableGen] Generate offsets into a flat array for getOperandTypeJustin Bogner2019-07-161-25/+38
| | | | | | | | | | Rather than an array of std::initializer_list, generate a table of offsets and a flat array of the operands for getOperandType. This is a bit more efficient on platforms that don't manage to get the array of inintializer_lists initialized at link time (I'm looking at you macOS). It's also quite quite a bit faster to compile. llvm-svn: 366278
* [TableGen] Add "getOperandType" to get operand types from opcode/opidxJustin Bogner2019-07-161-4/+57
| | | | | | | | | | | | | The InstrInfoEmitter outputs an enum called "OperandType" which gives numerical IDs to each operand type. This patch makes use of this enum to define a function called "getOperandType", which allows looking up the type of an operand given its opcode and operand index. Patch by Nicolas Guillemot. Thanks! Differential Revision: https://reviews.llvm.org/D63320 llvm-svn: 366274
* Teach `llvm-pdbutil pretty -native` about `-injected-sources`Nico Weber2019-07-161-0/+2
| | | | | | | | | `pretty -native -injected-sources -injected-source-content` works with this patch, and produces identical output to the dia version. Differential Revision: https://reviews.llvm.org/D64428 llvm-svn: 366236
* Remove username from git-llvm script, erroneously added in 366197Sam McCall2019-07-161-1/+1
| | | | llvm-svn: 366198
* [AArch64] Implement __jcvt intrinsic from Armv8.3-AKyrylo Tkachov2019-07-161-1/+1
| | | | | | | | | | | | | | | | The jcvt intrinsic defined in ACLE [1] is available when ARM_FEATURE_JCVT is defined. This change introduces the AArch64 intrinsic, wires it up to the instruction and a new clang builtin function. The __ARM_FEATURE_JCVT macro is now defined when an Armv8.3-A or higher target is used. I've implemented the target detection logic in Clang so that this feature is enabled for architectures from armv8.3-a onwards (so -march=armv8.4-a also enables this, for example). make check-all didn't show any new failures. [1] https://developer.arm.com/docs/101028/latest/data-processing-intrinsics Differential Revision: https://reviews.llvm.org/D64495 llvm-svn: 366197
* [WebAssembly] Rename except_ref type to exnrefHeejin Ahn2019-07-151-1/+1
| | | | | | | | | | | | | | | | | | | Summary: We agreed to rename `except_ref` to `exnref` for consistency with other reference types in https://github.com/WebAssembly/exception-handling/issues/79. This also renames WebAssemblyInstrExceptRef.td to WebAssemblyInstrRef.td in order to use the file for other reference types in future. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64703 llvm-svn: 366145
* TableGen/GlobalISel: Fix handling of truncstore patternsMatt Arsenault2019-07-151-1/+8
| | | | | | | | | | | | This was failing to import the AMDGPU truncstore patterns. The truncating stores from 32-bit to 8/16 were then somehow being incorrectly selected to a 4-byte store. A separate check is emitted for the LLT size in comparison to the specific memory VT, which looks strange to me but makes sense based on the hierarchy of PatFrags used for the default truncstore PatFrags. llvm-svn: 366129
* TableGen: Add address space to matchersMatt Arsenault2019-07-153-4/+113
| | | | | | | | | | | | | | | | | Currently AMDGPU uses a CodePatPred to check address spaces from the MachineMemOperand. Introduce a new first class property so that the existing patterns can be easily modified to uses the new generated predicate, which will also be handled for GlobalISel. I would prefer these to match against the pointer type of the instruction, but that would be difficult to get working with SelectionDAG compatbility. This is much easier for now and will avoid a painful tablegen rewrite for all the loads and stores. I'm also not sure if there's a better way to encode multiple address spaces in the table, rather than putting the number to expect. llvm-svn: 366128
* ARM MTE stack sanitizer.Evgeniy Stepanov2019-07-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Add "memtag" sanitizer that detects and mitigates stack memory issues using armv8.5 Memory Tagging Extension. It is similar in principle to HWASan, which is a software implementation of the same idea, but there are enough differencies to warrant a new sanitizer type IMHO. It is also expected to have very different performance properties. The new sanitizer does not have a runtime library (it may grow one later, along with a "debugging" mode). Similar to SafeStack and StackProtector, the instrumentation pass (in a follow up change) will be inserted in all cases, but will only affect functions marked with the new sanitize_memtag attribute. Reviewers: pcc, hctim, vitalybuka, ostannard Subscribers: srhines, mehdi_amini, javed.absar, kristof.beyls, hiraditya, cryptoad, steven_wu, dexonsmith, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D64169 llvm-svn: 366123
* gn build: Add a note on how to locally tell git to ignore build dirNico Weber2019-07-151-0/+2
| | | | llvm-svn: 366072
* [GitSVN][NFC] Mark dry-run commits as such in the log outputJohannes Doerfert2019-07-141-2/+2
| | | | | | | | | | | | | | Summary: This helps to avoid worries about the "dry run flag" while testing. Reviewers: jyknight, rnk, mehdi_amini Subscribers: bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64697 llvm-svn: 366023
* Fix some minor coding-style issues in git-llvm.James Y Knight2019-07-121-32/+39
| | | | llvm-svn: 365918
* Allow the 'git-llvm' tool to push to svn from the split repositoriesJames Y Knight2019-07-121-14/+30
| | | | | | | | | for 'test-suite', 'lnt', 'zorg', and 'www'. This is done by looking at the pathname of the git remote named 'origin', which is not 100% reliable, but should work in most cases. llvm-svn: 365917
* [gn] Tag unneeded variable.Bryant Wong2019-07-121-0/+3
| | | | | | | | | | When only building targets without assembly parsers (e.g. `llvm_targets_to_build = ["NVPTX"]`), `all_targets` is empty and causes GN to warn about an assigned-but-unused variable. Differential Revision: https://reviews.llvm.org/D31727 llvm-svn: 365897
* [LIT] Emit timeout error message only if timeout was reachedAlexey Bader2019-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | Summary: This improves readability of LIT output: previously error messages gets emitted that say that there was no error: error: command reached timeout: False Patch by Alexey Sachkov. Reviewers: ddunbar, mgorny, modocache Reviewed By: mgorny Subscribers: delcypher, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64240 llvm-svn: 365895
* NFC: lit: python3 compatibility for functionsAlex Lorenz2019-07-121-2/+2
| | | | | | | | usePlatformSdkOnDarwin/findPlatformSdkVersionOnMacOS These functions should decode subprocess output llvm-svn: 365852
* [UpdateTestChecks] Emit warning when invalid test pathsDavid Bolvansky2019-07-111-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Recently I ran into the following issue: ./update_test_checks.py /path/not-existing-file.ll The script was silent and I was suprised why the real test file hadn't been updated. Solution: Emit warning if we detect this problem. Reviewers: lebedev.ri, spatel, jdoerfert, nikic Reviewed By: lebedev.ri, spatel, jdoerfert, nikic Subscribers: jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64572 llvm-svn: 365818
* gn build: Merge r365792Nico Weber2019-07-112-0/+2
| | | | llvm-svn: 365795
* gn build: Merge r365773Nico Weber2019-07-111-0/+1
| | | | llvm-svn: 365787
* gn build: Merge r365687Nico Weber2019-07-102-0/+2
| | | | llvm-svn: 365689
* gn build: Merge r365585Nico Weber2019-07-101-0/+1
| | | | llvm-svn: 365633
* gn build: Merge r365536.Peter Collingbourne2019-07-091-0/+1
| | | | llvm-svn: 365572
* gn build: Merge r365532.Peter Collingbourne2019-07-091-1/+1
| | | | llvm-svn: 365571
* gn build: Merge r365541.Peter Collingbourne2019-07-092-0/+6
| | | | llvm-svn: 365570
* gn build: Merge r365531.Peter Collingbourne2019-07-091-0/+1
| | | | llvm-svn: 365569
* gn build: Merge r365503.Peter Collingbourne2019-07-091-0/+2
| | | | llvm-svn: 365530
* gn build: Merge r365453Nico Weber2019-07-091-0/+1
| | | | llvm-svn: 365481
* Update gn filesVitaly Buka2019-07-082-0/+4
| | | | llvm-svn: 365361
* Update gn filesVitaly Buka2019-07-083-0/+3
| | | | llvm-svn: 365354
* [lit] Parse command-line options from LIT_OPTSJoel E. Denny2019-07-084-1/+44
| | | | | | | | | | | | | | | | | Similar to `FILECHECK_OPTS` for FileCheck, `LIT_OPTS` makes it easy to adjust lit behavior when running the test suite via ninja. For example: ``` $ LIT_OPTS='--time-tests -vv --filter=threadprivate' \ ninja check-clang-openmp ``` Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D64135 llvm-svn: 365313
* [UpdateTestChecks] Skip over .Lfunc_begin for RISC-VAlex Bradbury2019-07-081-1/+1
| | | | | | | | This mirrors the change made for X86 in rL336987. Without this patch, update_llc_test_checks will completely skip functions with personality functions. llvm-svn: 365297
* gn build: Merge r355546Nico Weber2019-07-071-0/+2
| | | | | | Found by inspection; the sync script doesn't sync .ipp files. llvm-svn: 365280
* gn build: Merge r365273Nico Weber2019-07-071-0/+1
| | | | llvm-svn: 365279
* gn build: Sort sync script outputNico Weber2019-07-071-2/+2
| | | | llvm-svn: 365278
* gn build: Sort cxx_sources in libcxx build fileNico Weber2019-07-071-33/+33
| | | | | | | | | | | Since these are in a custom list, `gn format` doesn't automatically sort them. Now their order matches the CMake build. No additions or deletions, this just sorts the files that are there. llvm-svn: 365277
* gn build: Merge r365258 and follow-ups r365263, r365264Nico Weber2019-07-071-0/+4
| | | | llvm-svn: 365276
* [CodeGen] Add larger vector types for i32 and f32David Majnemer2019-07-071-0/+12
| | | | | | | | | | Some out of tree backend require larger vector type. Since maintaining the changes out of tree is difficult due to the many manual changes needed when adding a new type we are adding it even if no backend currently use it. Differential Revision: https://reviews.llvm.org/D64141 Patch by Thomas Raoux! llvm-svn: 365274
* gn build: Merge r365203Nico Weber2019-07-051-0/+1
| | | | llvm-svn: 365213
* gn build: Merge r365179Nico Weber2019-07-051-0/+1
| | | | llvm-svn: 365185
* gn build: Merge r365130.Peter Collingbourne2019-07-051-0/+1
| | | | llvm-svn: 365167
* gn build: Merge r365103.Peter Collingbourne2019-07-051-0/+1
| | | | llvm-svn: 365166
OpenPOWER on IntegriCloud