Mercurial > hg > CbC > CbC_gcc
diff contrib/vim-gcc-dev/syntax/gcc-rtl.vim @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/vim-gcc-dev/syntax/gcc-rtl.vim Thu Oct 25 07:37:49 2018 +0900 @@ -0,0 +1,77 @@ +" Syntax highlighting rules for RTL dump files (for Vim). +" +" Copyright (C) 2018 Free Software Foundation, Inc. +" +" This script is free software; you can redistribute it and/or modify +" it under the terms of the GNU General Public License as published by +" the Free Software Foundation; either version 3, or (at your option) +" any later version + + +" Do not continue, if syntax is already enabled in current buffer. +if exists("b:current_syntax") + finish +endif + +" General-purpose comments. +syn match rtlComment ";;.*$" + +syn keyword rtlInstruction debug_expr insn_list int_list sequence + \ address debug_insn insn expr_list + \ jump_table_data barrier code_label + \ cond_exec parallel asm_input asm_operands + \ unspec unspec_volatile addr_vec + \ addr_diff_vec prefetch set use clobber + \ call return simple_return eh_return + \ trap_if scratch strict_low_part concat concatn + \ mem label_ref symbol_ref cc0 compare plus minus + \ neg mult ss_mult us_mult div ss_div us_div mod + \ udiv umod and ior xor not ashift rotate ashiftrt + \ lshiftrt rotatert smin smax umin umax pre_dec + \ pre_inc post_dec post_inc pre_modify post_modify + \ unordered ordered uneq unge ungt unle unlt ltgt sign_extend + \ zero_extend truncate float_extend float_truncate + \ float fix unsigned_float unsigned_fix fract_convert + \ unsigned_fract_convert sat_fract unsigned_sat_fract + \ abs sqrt bswap ffs clrsb clz ctz popcount parity + \ sign_extract zero_extract high lo_sum vec_merge + \ vec_select vec_concat vec_duplicate vec_series ss_plus + \ us_plus ss_minus ss_neg us_neg ss_abs ss_ashift + \ us_ashift us_minus ss_truncate us_truncate fma + \ entry_value exclusion_set presence_set final_presence_set + \ absence_set final_absence_set automata_option attr set_attr + \ set_attr_alternative eq_attr eq_attr_alt attr_flag cond +syn keyword rtlConditional call_insn jump_insn if_then_else + \ eq ne gt gtu lt ltu ge geu le leu +syn keyword rtlNote note barrier code_label +syn keyword rtlVariableLoation var_location +syn keyword rtlPcRegister pc + +syn keyword rtlModes VOID BLK BI QI HI SI DI TI SF DF CC QQ HQ SQ + \ DQ TQ UQQ UHQ USQ UDQ UTQ HA SA DA TA UHA + \ USA UDA UTA SD DD TD + +" String literals +syn region rtlString start=/\v"/ skip=/\v\\./ end=/\v"/ + +syn match rtlNoteInsn "NOTE_INSN_[A-Z_]*" +syn match rtlIntegerConstant "\vconst_int -?\d+" +syn match rtlFloatConstant "\vconst_double:[A-Z]+ -?\d*\.\d+(e\+\d+)?" +syn match rtlRegister "\vreg(\/[a-z])?:[A-Z0-9]+ \d+ [a-z0-9]+" +syn match rtlLocation /\v"[^"]*":\d+/ + +hi def link rtlInstruction Statement +hi def link rtlConditional Conditional +hi def link rtlNote Debug +hi def link rtlNoteInsn Debug +hi def link rtlIntegerConstant Number +hi def link rtlFloatConstant Number +hi def link rtlRegister Type +hi def link rtlPcRegister Type +hi def link rtlModes Type +hi def link rtlVariableLoation Debug +hi def link rtlComment Comment +hi def link rtlLocation Debug +hi def link rtlString String + +let b:current_syntax = "gcc-rtl"