summaryrefslogtreecommitdiffstats
path: root/llvm/utils/vim
Commit message (Collapse)AuthorAgeFilesLines
* [TableGen] Update editor modes for new keywords.Simon Tatham2020-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | Summary: D71407 and D71474 added new keywords to the Tablegen language: `defvar`, `if`, `then` and `else`. This commit updates the various editor modes to highlight them appropriately. Some of the modes also didn't include `defset`, so I've added that too while I was there. Reviewers: MaskRay, lebedev.ri, plotfi Reviewed By: lebedev.ri Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72693
* [X86] Add new calling convention that guarantees tail call optimizationReid Kleckner2019-10-071-0/+1
| | | | | | | | | | | | | | | | | When the target option GuaranteedTailCallOpt is specified, calls with the fastcc calling convention will be transformed into tail calls if they are in tail position. This diff adds a new calling convention, tailcc, currently supported only on X86, which behaves the same way as fastcc, except that the GuaranteedTailCallOpt flag does not need to enabled in order to enable tail call optimization. Patch by Dwight Guth <dwight.guth@runtimeverification.com>! Reviewed By: lebedev.ri, paquette, rnk Differential Revision: https://reviews.llvm.org/D67855 llvm-svn: 373976
* vim: add `immarg` keywordSven van Haastregt2019-08-301-0/+1
| | | | | | The `immarg` attribute was added in r355981. llvm-svn: 370443
* Line wrap README fileSam Clegg2019-03-141-1/+2
| | | | llvm-svn: 356204
* vim: `swiftself` is an attributeSaleem Abdulrasool2019-02-271-0/+1
| | | | | | Highlight the `swiftself` attribute on parameters. llvm-svn: 354934
* Implementation of asm-goto support in LLVMCraig Topper2019-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This patch accompanies the RFC posted here: http://lists.llvm.org/pipermail/llvm-dev/2018-October/127239.html This patch adds a new CallBr IR instruction to support asm-goto inline assembly like gcc as used by the linux kernel. This instruction is both a call instruction and a terminator instruction with multiple successors. Only inline assembly usage is supported today. This also adds a new INLINEASM_BR opcode to SelectionDAG and MachineIR to represent an INLINEASM block that is also considered a terminator instruction. There will likely be more bug fixes and optimizations to follow this, but we felt it had reached a point where we would like to switch to an incremental development model. Patch by Craig Topper, Alexander Ivchenko, Mikhail Dvoretckii Differential Revision: https://reviews.llvm.org/D53765 llvm-svn: 353563
* Add fneg instruction to syntax highlighting listsMatt Arsenault2018-11-131-1/+1
| | | | llvm-svn: 346785
* vim: rename `singlethread` to `syncscope`Saleem Abdulrasool2018-03-221-1/+1
| | | | | | | SVN r307722 renamed the keyword from `singlethread` to `syncscope`. Update the syntax file accordingly. llvm-svn: 328211
* vim: add `dso_local` and `dso_preemptable` keywordsSaleem Abdulrasool2018-03-211-0/+2
| | | | | | Support the new keywords introduced in SVN r316668. llvm-svn: 328170
* [vim] Recognize more FileCheck commentsMikhail Maltsev2018-02-201-0/+1
| | | | | | | | | | | | | | | | | Summary: Currently vim syntax highlighting recognizes 'CHECK:' as a special comment, but not CHECK-DAG, CHECK-NOT and other CHECKs. This patch adds rules for these comments. Reviewers: chandlerc, compnerd, rogfer01 Reviewed By: rogfer01 Subscribers: rogfer01, llvm-commits Differential Revision: https://reviews.llvm.org/D43289 llvm-svn: 325599
* Add strictfp attribute to prevent unwanted optimizations of libm callsAndrew Kaylor2017-08-141-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D34163 llvm-svn: 310885
* [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as wellMartin Storsjo2017-07-171-1/+1
| | | | | | | | | | | | Rename the enum value from X86_64_Win64 to plain Win64. The symbol exposed in the textual IR is changed from 'x86_64_win64cc' to 'win64cc', but the numeric value is kept, keeping support for old bitcode. Differential Revision: https://reviews.llvm.org/D34474 llvm-svn: 308208
* vim: add 'builtin', 'nobuiltin', 'nonnull', and 'speculatable' to the ↵Craig Topper2017-07-071-0/+4
| | | | | | keyword list. llvm-svn: 307419
* vim: add `returned` keywordSaleem Abdulrasool2017-02-101-0/+1
| | | | | | | The `returned` keyword was added in SVN r179925. Update the vim syntax rules. llvm-svn: 294808
* [Utils] Update comment in vimrcDan Gohman2017-01-311-2/+2
| | | | | | | | | | Fixed wrong paths in comments for *.vim files. Patch By: Bruno Rosa (brunoalr) Differential Revision: https://reviews.llvm.org/D29174 llvm-svn: 293693
* vim: special case the CHECK prefixSaleem Abdulrasool2016-11-031-0/+1
| | | | | | | | | A large number of tests in the LLVM tree use the default (CHECK) prefix to indicate checked expressions via FileCheck. Highlight it as a special comment. Although this wont get all the instances of the checked patters, it is strictly better than the current state. llvm-svn: 285927
* vim: add `norecurse` attributeSaleem Abdulrasool2016-10-141-0/+1
| | | | | | Add missing attribute to the keyword set. llvm-svn: 284270
* vim: add `comdat` keywordSaleem Abdulrasool2016-10-141-0/+1
| | | | | | The attribute may be applied to a function. Highlight it as a keyword. llvm-svn: 284269
* [vim] Add more attributes to llvm.vimDavid Majnemer2016-08-111-0/+2
| | | | llvm-svn: 278415
* [vim] Update the llvm.vim syntax fileDavid Majnemer2016-08-091-2/+7
| | | | | | | We never updated this file to contain the WinEH instructions. Also, add the dereferenceable attribute. llvm-svn: 278146
* vim: separate the keywords into one per lineSaleem Abdulrasool2016-07-131-22/+116
| | | | | | | | | | | This achieves the same result as previously by using line wrapping. This allows us to have one keyword per line which makes adding a new keyword significantly easier, especially if they are inserted in a lexicographical sort order as you no longer need to reflow the content around it. This only does the keywords as that is the group which changes more often. llvm-svn: 275248
* vim: add local_unnamed_addr keywordSaleem Abdulrasool2016-07-131-6/+6
| | | | | | | The `local_unnamed_addr` was introduced in SVN r272709. Update the syntax highlighting rules. llvm-svn: 275245
* vim: add swiftcc keywordSaleem Abdulrasool2016-04-191-3/+3
| | | | | | Update the syntax highlighting for SVN r265480. llvm-svn: 266705
* vim: add missing keywordSaleem Abdulrasool2016-04-061-2/+2
| | | | | | | `source_filename` was introduced as a keyword in SVN r264884, but the syntax file was not updated. llvm-svn: 265572
* [vim] Add token type to Vim syntax file.Manuel Jacob2015-12-281-1/+1
| | | | llvm-svn: 256512
* HHVM calling conventions.Maksim Panchenko2015-09-291-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | HHVM calling convention, hhvmcc, is used by HHVM JIT for functions in translated cache. We currently support LLVM back end to generate code for X86-64 and may support other architectures in the future. In HHVM calling convention any GP register could be used to pass and return values, with the exception of R12 which is reserved for thread-local area and is callee-saved. Other than R12, we always pass RBX and RBP as args, which are our virtual machine's stack pointer and frame pointer respectively. When we enter translation cache via hhvmcc function, we expect the stack to be aligned at 16 bytes, i.e. skewed by 8 bytes as opposed to standard ABI alignment. This affects stack object alignment and stack adjustments for function calls. One extra calling convention, hhvm_ccc, is used to call C++ helpers from HHVM's translation cache. It is almost identical to standard C calling convention with an exception of first argument which is passed in RBP (before we use RDI, RSI, etc.) Differential Revision: http://reviews.llvm.org/D12681 llvm-svn: 248832
* llvm.vim: 'musttail' is a keyword tooJonathan Roelofs2015-09-031-1/+1
| | | | llvm-svn: 246798
* Rename all references to old mailing lists to new lists.llvm.org address.Tanya Lattner2015-08-051-1/+1
| | | | llvm-svn: 243999
* [vim] Update the syntax to mark REQUIRES lines and not talk aboutChandler Carruth2015-07-151-3/+3
| | | | | | | | | | | dejagnu. I wonder if it would be useful to handle FileCheck prefixes specially? Especially if we could get some error checking. Suggestions welcome. Patches more welcome as I have no idea what I'm doing with vim script.... llvm-svn: 242267
* [vim] Add the IR's comment prefix to the comments list. This allows vimChandler Carruth2015-07-151-0/+1
| | | | | | | | to intelligently wrap prose written in IR comment blocks. This has bothered me for roughly ever, and my fellow IRC denziens convinced me to fix it. llvm-svn: 242266
* Vim: Fix some bugs in llvm indent plugin.Matthias Braun2015-05-041-3/+3
| | | | llvm-svn: 236464
* Vim: Set filetype=python for lit configuration files.Matthias Braun2015-05-041-0/+1
| | | | llvm-svn: 236463
* Enhanced vim support.Matthias Braun2015-04-218-27/+103
| | | | | | | | | This brings the utils/vim folder into a more vim-like format by moving the syntax hightlighting files into a syntax subdirectory. It adds some minimal settings that everyone should agree on to ftdetect/ftplugin and features a new indentation plugin for .ll files. llvm-svn: 235369
* AsmParser/Writer: Handle symbolic constants in DI 'flags:'Duncan P. N. Exon Smith2015-02-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Parse (and write) symbolic constants in debug info `flags:` fields. This prevents a readability (and CHECK-ability) regression with the new debug info hierarchy. Old (well, current) assembly, with pretty-printing: !{!"...\\0016387", ...} ; ... [public] [rvalue reference] Flags field without this change: !MDDerivedType(flags: 16387, ...) Flags field with this change: !MDDerivedType(flags: DIFlagPublic | DIFlagRValueReference, ...) As discussed in the review thread, this isn't a final state. Most of these flags correspond to `DW_AT_` symbolic constants, and we might eventually want to support arbitrary attributes in some form. However, as it stands now, some of the flags correspond to other concepts (like `FlagStaticMember`); until things are refactored this is the simplest way to move forward without regressing assembly. llvm-svn: 230111
* AsmWriter/Bitcode: MDExpressionDuncan P. N. Exon Smith2015-02-131-0/+1
| | | | llvm-svn: 229023
* AsmWriter: MDSubprogram: Recognize DW_VIRTUALITY in 'virtuality'Duncan P. N. Exon Smith2015-02-131-0/+1
| | | | llvm-svn: 229015
* AsmWriter: MDCompositeType: Recognize DW_LANG in 'runtimeLang'Duncan P. N. Exon Smith2015-02-131-0/+1
| | | | llvm-svn: 229010
* AsmWriter: MDBasicType: Recognize DW_ATE in 'encoding'Duncan P. N. Exon Smith2015-02-131-0/+1
| | | | llvm-svn: 229006
* AsmParser: Recognize DW_TAG_* constantsDuncan P. N. Exon Smith2015-02-031-0/+1
| | | | | | | Recognize `DW_TAG_` constants in assembly, and output it by default for `GenericDebugNode`. llvm-svn: 228042
* AsmParser/Bitcode: Add support for MDLocationDuncan P. N. Exon Smith2015-01-131-1/+6
| | | | | | | | | | | | This adds assembly and bitcode support for `MDLocation`. The assembly side is rather big, since this is the first `MDNode` subclass (that isn't `MDTuple`). Part of PR21433. (If you're wondering where the mountains of testcase updates are, we don't need them until I update `DILocation` and `DebugLoc` to actually use this class.) llvm-svn: 225830
* IR: Add 'distinct' MDNodes to bitcode and assemblyDuncan P. N. Exon Smith2015-01-081-1/+1
| | | | | | | | | | | | | | | | | | Propagate whether `MDNode`s are 'distinct' through the other types of IR (assembly and bitcode). This adds the `distinct` keyword to assembly. Currently, no one actually calls `MDNode::getDistinct()`, so these nodes only get created for: - self-references, which are never uniqued, and - nodes whose operands are replaced that hit a uniquing collision. The concept of distinct nodes is still not quite first-class, since distinct-ness doesn't yet survive across `MapMetadata()`. Part of PR22111. llvm-svn: 225474
* utils: update vim syntax highlighting for LLVM IRSaleem Abdulrasool2014-12-121-17/+16
| | | | | | | Add missing externally_initialized keyword from SVN r174340. Also reflow the text. llvm-svn: 224155
* IR: Implement uselistorder assembly directivesDuncan P. N. Exon Smith2014-08-191-0/+1
| | | | | | | | | | Implement `uselistorder` and `uselistorder_bb` assembly directives, which allow the use-list order to be recovered when round-tripping to assembly. This is the bulk of PR20515. llvm-svn: 216025
* Remove the linker_private and linker_private_weak linkages.Rafael Espindola2014-03-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These linkages were introduced some time ago, but it was never very clear what exactly their semantics were or what they should be used for. Some investigation found these uses: * utf-16 strings in clang. * non-unnamed_addr strings produced by the sanitizers. It turns out they were just working around a more fundamental problem. For some sections a MachO linker needs a symbol in order to split the section into atoms, and llvm had no idea that was the case. I fixed that in r201700 and it is now safe to use the private linkage. When the object ends up in a section that requires symbols, llvm will use a 'l' prefix instead of a 'L' prefix and things just work. With that, these linkages were already dead, but there was a potential future user in the objc metadata information. I am still looking at CGObjcMac.cpp, but at this point I am convinced that linker_private and linker_private_weak are not what they need. The objc uses are currently split in * Regular symbols (no '\01' prefix). LLVM already directly provides whatever semantics they need. * Uses of a private name (start with "\01L" or "\01l") and private linkage. We can drop the "\01L" and "\01l" prefixes as soon as llvm agrees with clang on L being ok or not for a given section. I have two patches in code review for this. * Uses of private name and weak linkage. The last case is the one that one could think would fit one of these linkages. That is not the case. The semantics are * the linker will merge these symbol by *name*. * the linker will hide them in the final DSO. Given that the merging is done by name, any of the private (or internal) linkages would be a bad match. They allow llvm to rename the symbols, and that is really not what we want. From the llvm point of view, these objects should really be (linkonce|weak)(_odr)?. For now, just keeping the "\01l" prefix is probably the best for these symbols. If we one day want to have a more direct support in llvm, IMHO what we should add is not a linkage, it is just a hidden_symbol attribute. It would be applicable to multiple linkages. For example, on weak it would produce the current behavior we have for objc metadata. On internal, it would be equivalent to private (and we should then remove private). llvm-svn: 203866
* Add addrspacecast instruction.Matt Arsenault2013-11-151-11/+12
| | | | | | Patch by Michele Scandale! llvm-svn: 194760
* Remove linkonce_odr_auto_hide.Rafael Espindola2013-11-011-2/+2
| | | | | | | | | | | | | | | linkonce_odr_auto_hide was in incomplete attempt to implement a way for the linker to hide symbols that are known to be available in every TU and whose addresses are not relevant for a particular DSO. It was redundant in that it all its uses are equivalent to linkonce_odr+unnamed_addr. Unlike those, it has never been connected to clang or llvm's optimizers, so it was effectively dead. Given that nothing produces it, this patch just nukes it (other than the llvm-c enum value). llvm-svn: 193865
* Add function attribute 'optnone'.Andrea Di Biagio2013-08-231-1/+1
| | | | | | | | This function attribute indicates that the function is not optimized by any optimization or code generator passes with the exception of interprocedural optimization passes. llvm-svn: 189101
* Target/X86: Add explicit Win64 and System V/x86-64 calling conventions.Charles Davis2013-07-121-6/+7
| | | | | | | | | | | | | | | Summary: This patch adds explicit calling convention types for the Win64 and System V/x86-64 ABIs. This allows code to override the default, and use the Win64 convention on a target that wants to use SysV (and vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU attributes. Reviewers: CC: llvm-svn: 186144
* Enable syntax highlighting for reStructuredText files.Bill Wendling2013-02-281-0/+7
| | | | | | Patch by Journeyer J. Joh! llvm-svn: 176235
* Unify clang/llvm attributes for asan/tsan/msan (LLVM part)Kostya Serebryany2013-02-261-2/+2
| | | | | | | | | | | | | | | | | | | These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory)) for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S llvm-svn: 176075
OpenPOWER on IntegriCloud