summaryrefslogtreecommitdiff
path: root/utils/vim
AgeCommit message (Collapse)Author
2017-08-14Add strictfp attribute to prevent unwanted optimizations of libm callsAndrew Kaylor
Differential Revision: https://reviews.llvm.org/D34163 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310885 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-17[AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as wellMartin Storsjo
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308208 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-07vim: add 'builtin', 'nobuiltin', 'nonnull', and 'speculatable' to the ↵Craig Topper
keyword list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307419 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-10vim: add `returned` keywordSaleem Abdulrasool
The `returned` keyword was added in SVN r179925. Update the vim syntax rules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294808 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-31[Utils] Update comment in vimrcDan Gohman
Fixed wrong paths in comments for *.vim files. Patch By: Bruno Rosa (brunoalr) Differential Revision: https://reviews.llvm.org/D29174 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293693 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-03vim: special case the CHECK prefixSaleem Abdulrasool
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285927 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14vim: add `norecurse` attributeSaleem Abdulrasool
Add missing attribute to the keyword set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284270 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-14vim: add `comdat` keywordSaleem Abdulrasool
The attribute may be applied to a function. Highlight it as a keyword. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284269 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-11[vim] Add more attributes to llvm.vimDavid Majnemer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@278415 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-09[vim] Update the llvm.vim syntax fileDavid Majnemer
We never updated this file to contain the WinEH instructions. Also, add the dereferenceable attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@278146 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-13vim: separate the keywords into one per lineSaleem Abdulrasool
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275248 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-13vim: add local_unnamed_addr keywordSaleem Abdulrasool
The `local_unnamed_addr` was introduced in SVN r272709. Update the syntax highlighting rules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275245 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-19vim: add swiftcc keywordSaleem Abdulrasool
Update the syntax highlighting for SVN r265480. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266705 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-06vim: add missing keywordSaleem Abdulrasool
`source_filename` was introduced as a keyword in SVN r264884, but the syntax file was not updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265572 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-28[vim] Add token type to Vim syntax file.Manuel Jacob
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256512 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-29HHVM calling conventions.Maksim Panchenko
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248832 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-03llvm.vim: 'musttail' is a keyword tooJonathan Roelofs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246798 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-05Rename all references to old mailing lists to new lists.llvm.org address.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243999 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-15[vim] Update the syntax to mark REQUIRES lines and not talk aboutChandler Carruth
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.... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242267 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-15[vim] Add the IR's comment prefix to the comments list. This allows vimChandler Carruth
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242266 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04Vim: Fix some bugs in llvm indent plugin.Matthias Braun
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236464 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-04Vim: Set filetype=python for lit configuration files.Matthias Braun
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236463 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-21Enhanced vim support.Matthias Braun
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235369 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-21AsmParser/Writer: Handle symbolic constants in DI 'flags:'Duncan P. N. Exon Smith
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230111 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-13AsmWriter/Bitcode: MDExpressionDuncan P. N. Exon Smith
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229023 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-13AsmWriter: MDSubprogram: Recognize DW_VIRTUALITY in 'virtuality'Duncan P. N. Exon Smith
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229015 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-13AsmWriter: MDCompositeType: Recognize DW_LANG in 'runtimeLang'Duncan P. N. Exon Smith
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229010 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-13AsmWriter: MDBasicType: Recognize DW_ATE in 'encoding'Duncan P. N. Exon Smith
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229006 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-03AsmParser: Recognize DW_TAG_* constantsDuncan P. N. Exon Smith
Recognize `DW_TAG_` constants in assembly, and output it by default for `GenericDebugNode`. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228042 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-13AsmParser/Bitcode: Add support for MDLocationDuncan P. N. Exon Smith
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.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225830 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-08IR: Add 'distinct' MDNodes to bitcode and assemblyDuncan P. N. Exon Smith
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225474 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-12utils: update vim syntax highlighting for LLVM IRSaleem Abdulrasool
Add missing externally_initialized keyword from SVN r174340. Also reflow the text. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224155 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19IR: Implement uselistorder assembly directivesDuncan P. N. Exon Smith
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216025 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-13Remove the linker_private and linker_private_weak linkages.Rafael Espindola
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203866 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-15Add addrspacecast instruction.Matt Arsenault
Patch by Michele Scandale! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194760 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-01Remove linkonce_odr_auto_hide.Rafael Espindola
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193865 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-23Add function attribute 'optnone'.Andrea Di Biagio
This function attribute indicates that the function is not optimized by any optimization or code generator passes with the exception of interprocedural optimization passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189101 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-12Target/X86: Add explicit Win64 and System V/x86-64 calling conventions.Charles Davis
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: git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186144 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-28Enable syntax highlighting for reStructuredText files.Bill Wendling
Patch by Journeyer J. Joh! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176235 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-26Unify clang/llvm attributes for asan/tsan/msan (LLVM part)Kostya Serebryany
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-11[tsan/msan] adding thread_safety and uninitialized_checks attributesKostya Serebryany
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-23Add the IR attribute 'sspstrong'.Bill Wendling
SSPStrong applies a heuristic to insert stack protectors in these situations: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) This patch implements the SSPString attribute to be equivalent to SSPRequired. This will change in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173230 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-02Bring vim keyword lists up to date.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169110 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-30Vim mode updated to recognize fast-math flagsMichael Ilseman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169055 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-19lit: Remove support for XTARGET.Daniel Dunbar
- The XTARGET feature (inherited from old DG tests) was just confusing (and barely ever used). The same effect can now be achieved with a combination of the more useful REQUIRES and XFAIL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166305 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Add the half type to the LLVM IR vim syntax highlighting.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156080 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22Add Foreach LoopDavid Greene
Add some data structures to represent for loops. These will be referenced during object processing to do any needed iteration and instantiation. Add foreach keyword support to the lexer. Add a mode to indicate that we're parsing a foreach loop. This allows the value parser to early-out when processing the foreach value list. Add a routine to parse foreach iteration declarations. This is separate from ParseDeclaration because the type of the named value (the iterator) doesn't match the type of the initializer value (the value list). It also needs to add two values to the foreach record: the iterator and the value list. Add parsing support for foreach. Add the code to process foreach loops and create defs based on iterator values. Allow foreach loops to be matched at the top level. When parsing an IDValue check if it is a foreach loop iterator for one of the active loops. If so, return a VarInit for it. Add Emacs keyword support for foreach. Add VIM keyword support for foreach. Add tests to check foreach operation. Add TableGen documentation for foreach. Support foreach with multiple objects. Support non-braced foreach body with one object. Do not require types for the foreach declaration. Assume the iterator type from the iteration list element type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151164 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-07Remove MultidefsDavid Greene
Multidefs are a bit unwieldy and incomplete. Remove them in favor of another mechanism, probably for loops. Revert "Make Test More Thorough" Revert "Fix a typo." Revert "Vim Support for Multidefs" Revert "Emacs Support for Multidefs" Revert "Document Multidefs" Revert "Add a Multidef Test" Revert "Update Test for Multidefs" Revert "Process Multidefs" Revert "Parser Multidef Support" Revert "Lexer Support for Multidefs" Revert "Add Multidef Data Structures" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141378 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05Vim Support for MultidefsDavid Greene
Add vim highlighting support for multidefs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141238 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17Update uwtable vim color!Bruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137806 91177308-0d34-0410-b5e6-96231b3b80d8