[llvm] r311795 - [utils] add aarch64 target as an option
Alex Bradbury via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 10 04:46:33 PDT 2017
On 25 August 2017 at 20:33, Sanjay Patel via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: spatel
> Date: Fri Aug 25 12:33:18 2017
> New Revision: 311795
>
> URL: http://llvm.org/viewvc/llvm-project?rev=311795&view=rev
> Log:
> [utils] add aarch64 target as an option
>
> I don't know enough to add a custom scrubber for AArch64, so I just re-used ARM.
>
>
> Modified:
> llvm/trunk/utils/update_llc_test_checks.py
>
> Modified: llvm/trunk/utils/update_llc_test_checks.py
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/update_llc_test_checks.py?rev=311795&r1=311794&r2=311795&view=diff
> ==============================================================================
> --- llvm/trunk/utils/update_llc_test_checks.py (original)
> +++ llvm/trunk/utils/update_llc_test_checks.py Fri Aug 25 12:33:18 2017
> @@ -26,24 +26,11 @@ def llc(args, cmd_args, ir):
>
> # RegEx: this is where the magic happens.
>
> -SCRUB_WHITESPACE_RE = re.compile(r'(?!^(| \w))[ \t]+', flags=re.M)
> -SCRUB_TRAILING_WHITESPACE_RE = re.compile(r'[ \t]+$', flags=re.M)
> -SCRUB_KILL_COMMENT_RE = re.compile(r'^ *#+ +kill:.*\n')
> -SCRUB_LOOP_COMMENT_RE = re.compile(
> - r'# =>This Inner Loop Header:.*|# in Loop:.*', flags=re.M)
> -
> ASM_FUNCTION_X86_RE = re.compile(
> r'^_?(?P<func>[^:]+):[ \t]*#+[ \t]*@(?P=func)\n[^:]*?'
> r'(?P<body>^##?[ \t]+[^:]+:.*?)\s*'
> r'^\s*(?:[^:\n]+?:\s*\n\s*\.size|\.cfi_endproc|\.globl|\.comm|\.(?:sub)?section|# -- End function)',
> flags=(re.M | re.S))
> -SCRUB_X86_SHUFFLES_RE = (
> - re.compile(
> - r'^(\s*\w+) [^#\n]+#+ ((?:[xyz]mm\d+|mem)( \{%k\d+\}( \{z\})?)? = .*)$',
> - flags=re.M))
> -SCRUB_X86_SP_RE = re.compile(r'\d+\(%(esp|rsp)\)')
> -SCRUB_X86_RIP_RE = re.compile(r'[.\w]+\(%rip\)')
> -SCRUB_X86_LCP_RE = re.compile(r'\.LCPI[0-9]+_[0-9]+')
>
> ASM_FUNCTION_ARM_RE = re.compile(
> r'^(?P<func>[0-9a-zA-Z_]+):\n' # f: (name of function)
> @@ -52,12 +39,13 @@ ASM_FUNCTION_ARM_RE = re.compile(
> r'.Lfunc_end[0-9]+:', # .Lfunc_end0: or # -- End function
> flags=(re.M | re.S))
>
> -RUN_LINE_RE = re.compile('^\s*;\s*RUN:\s*(.*)$')
> -TRIPLE_ARG_RE = re.compile(r'-mtriple=([^ ]+)')
> -TRIPLE_IR_RE = re.compile(r'^target\s+triple\s*=\s*"([^"]+)"$')
> -IR_FUNCTION_RE = re.compile('^\s*define\s+(?:internal\s+)?[^@]*@(\w+)\s*\(')
> -CHECK_PREFIX_RE = re.compile('--?check-prefix(?:es)?=(\S+)')
> -CHECK_RE = re.compile(r'^\s*;\s*([^:]+?)(?:-NEXT|-NOT|-DAG|-LABEL)?:')
> +ASM_FUNCTION_AARCH64_RE = re.compile(
> + r'^_?(?P<func>[^:]+):[ \t]*\/\/[ \t]*@(?P=func)\n'
> + r'[ \t]+.cfi_startproc\n'
> + r'(?P<body>.*?)\n'
> + # This list is incomplete
> + r'.Lfunc_end[0-9]+:\n',
> + flags=(re.M | re.S))
Isn't this RE going to fail for a function that has the nounwind
attribute and so has no .cfi_startproc.
Best,
Alex
More information about the llvm-commits
mailing list