aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils')
-rw-r--r--llvm/utils/TableGen/AsmMatcherEmitter.cpp2
-rw-r--r--llvm/utils/TableGen/X86RecognizableInstr.cpp1
-rw-r--r--llvm/utils/UpdateTestChecks/common.py25
-rwxr-xr-xllvm/utils/git/code-format-helper.py2
-rw-r--r--llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn6
-rw-r--r--llvm/utils/lit/lit/TestRunner.py28
-rw-r--r--llvm/utils/lit/lit/builtin_commands/_launch_with_limit.py4
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-readfile/env.txt6
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg1
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt1
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_unlimited.txt6
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py2
-rw-r--r--llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt1
-rw-r--r--llvm/utils/lit/tests/Inputs/test-data-micro/dummy_format.py8
-rw-r--r--llvm/utils/lit/tests/Inputs/test-data/dummy_format.py8
-rw-r--r--llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py8
-rw-r--r--llvm/utils/lit/tests/shtest-readfile-external.py2
-rw-r--r--llvm/utils/lit/tests/shtest-readfile.py6
-rw-r--r--llvm/utils/lit/tests/shtest-ulimit-nondarwin.py12
-rw-r--r--llvm/utils/lit/tests/shtest-ulimit.py2
-rw-r--r--llvm/utils/profcheck-xfail.txt2
-rwxr-xr-xllvm/utils/update_test_checks.py8
22 files changed, 95 insertions, 46 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
index e1f2f06..9f18a11 100644
--- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp
+++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp
@@ -4164,7 +4164,7 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
OS << " MII.getDeprecatedInfo(Inst, getSTI(), Info)) {\n";
OS << " SMLoc Loc = ((" << Target.getName()
<< "Operand &)*Operands[0]).getStartLoc();\n";
- OS << " getParser().Warning(Loc, Info, std::nullopt);\n";
+ OS << " getParser().Warning(Loc, Info, {});\n";
OS << " }\n";
}
diff --git a/llvm/utils/TableGen/X86RecognizableInstr.cpp b/llvm/utils/TableGen/X86RecognizableInstr.cpp
index a006888..44b76ae 100644
--- a/llvm/utils/TableGen/X86RecognizableInstr.cpp
+++ b/llvm/utils/TableGen/X86RecognizableInstr.cpp
@@ -1141,7 +1141,6 @@ OperandType RecognizableInstr::typeFromString(StringRef Str, bool hasREX_W,
.Case("vz64mem", TYPE_MVSIBZ)
.Case("BNDR", TYPE_BNDR)
.Case("TILE", TYPE_TMM)
- .Case("TILEPair", TYPE_TMM_PAIR)
.Default(TYPE_NONE);
// clang-format on
diff --git a/llvm/utils/UpdateTestChecks/common.py b/llvm/utils/UpdateTestChecks/common.py
index b6b80ea..119303c 100644
--- a/llvm/utils/UpdateTestChecks/common.py
+++ b/llvm/utils/UpdateTestChecks/common.py
@@ -607,7 +607,7 @@ MARCH_ARG_RE = re.compile(r"-march[= ]([^ ]+)")
DEBUG_ONLY_ARG_RE = re.compile(r"-debug-only[= ]([^ ]+)")
IS_DEBUG_RECORD_RE = re.compile(r"^(\s+)#dbg_")
-IS_SWITCH_CASE_RE = re.compile(r"^\s+i\d+ \d+, label %\w+")
+IS_SWITCH_CASE_RE = re.compile(r"^\s+i\d+ \d+, label %\S+")
SCRUB_LEADING_WHITESPACE_RE = re.compile(r"^(\s+)")
SCRUB_WHITESPACE_RE = re.compile(r"(?!^(| \w))[ \t]+", flags=re.M)
@@ -1123,6 +1123,8 @@ class FunctionTestBuilder:
##### Generator of LLVM IR CHECK lines
SCRUB_IR_COMMENT_RE = re.compile(r"\s*;.*")
+# Comments to indicate the predecessors of a block in the IR.
+SCRUB_PRED_COMMENT_RE = re.compile(r"\s*; preds = .*")
SCRUB_IR_FUNC_META_RE = re.compile(r"((?:\!(?!dbg\b)[a-zA-Z_]\w*(?:\s+![0-9]+)?)\s*)+")
# TODO: We should also derive check lines for global, debug, loop declarations, etc..
@@ -1361,7 +1363,7 @@ def make_ir_generalizer(version, no_meta_details):
]
prefix = r"(\s*)"
- suffix = r"([,\s\(\)\}]|\Z)"
+ suffix = r"([,\s\(\)\}\]]|\Z)"
# values = [
# nameless_value
@@ -1877,6 +1879,7 @@ def generalize_check_lines(
*,
unstable_globals_only=False,
no_meta_details=False,
+ ignore_all_comments=True, # If False, only ignore comments of predecessors
):
if unstable_globals_only:
regexp = ginfo.get_unstable_globals_regexp()
@@ -1904,8 +1907,12 @@ def generalize_check_lines(
line,
)
break
- # Ignore any comments, since the check lines will too.
- scrubbed_line = SCRUB_IR_COMMENT_RE.sub(r"", line)
+ if ignore_all_comments:
+ # Ignore any comments, since the check lines will too.
+ scrubbed_line = SCRUB_IR_COMMENT_RE.sub(r"", line)
+ else:
+ # Ignore comments of predecessors only.
+ scrubbed_line = SCRUB_PRED_COMMENT_RE.sub(r"", line)
# Ignore the metadata details if check global is none
if no_meta_details:
scrubbed_line = SCRUB_IR_FUNC_META_RE.sub(r"{{.*}}", scrubbed_line)
@@ -2083,6 +2090,7 @@ def add_checks(
global_tbaa_records_for_prefixes={},
preserve_names=False,
original_check_lines: Mapping[str, List[str]] = {},
+ check_inst_comments=True,
):
# prefix_exclusions are prefixes we cannot use to print the function because it doesn't exist in run lines that use these prefixes as well.
prefix_exclusions = set()
@@ -2280,6 +2288,8 @@ def add_checks(
global_tbaa_records,
preserve_names,
original_check_lines=original_check_lines.get(checkprefix),
+ # IR output might require comments checks, e.g., print-predicate-info, print<memssa>
+ ignore_all_comments=not check_inst_comments,
)
# This could be selectively enabled with an optional invocation argument.
@@ -2299,8 +2309,9 @@ def add_checks(
if func_line.strip() == "":
is_blank_line = True
continue
- # Do not waste time checking IR comments.
- func_line = SCRUB_IR_COMMENT_RE.sub(r"", func_line)
+ if not check_inst_comments:
+ # Do not waste time checking IR comments unless necessary.
+ func_line = SCRUB_IR_COMMENT_RE.sub(r"", func_line)
# Skip blank lines instead of checking them.
if is_blank_line:
@@ -2342,6 +2353,7 @@ def add_ir_checks(
global_vars_seen_dict,
global_tbaa_records_for_prefixes,
is_filtered,
+ check_inst_comments=False,
original_check_lines={},
):
assert ginfo.is_ir()
@@ -2368,6 +2380,7 @@ def add_ir_checks(
global_tbaa_records_for_prefixes,
preserve_names,
original_check_lines=original_check_lines,
+ check_inst_comments=check_inst_comments,
)
diff --git a/llvm/utils/git/code-format-helper.py b/llvm/utils/git/code-format-helper.py
index dff7f78..f6b28f4 100755
--- a/llvm/utils/git/code-format-helper.py
+++ b/llvm/utils/git/code-format-helper.py
@@ -486,8 +486,6 @@ def hook_main():
if fmt.has_tool():
if not fmt.run(args.changed_files, args):
failed_fmts.append(fmt.name)
- if fmt.comment:
- comments.append(fmt.comment)
else:
print(f"Couldn't find {fmt.name}, can't check " + fmt.friendly_name.lower())
diff --git a/llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn b/llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
index 3c523ae..03e5294 100644
--- a/llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
@@ -132,18 +132,12 @@ copy("Headers") {
"amdgpuintrin.h",
"ammintrin.h",
"amxavx512intrin.h",
- "amxbf16transposeintrin.h",
"amxcomplexintrin.h",
- "amxcomplextransposeintrin.h",
"amxfp16intrin.h",
- "amxfp16transposeintrin.h",
"amxfp8intrin.h",
"amxintrin.h",
"amxmovrsintrin.h",
- "amxmovrstransposeintrin.h",
"amxtf32intrin.h",
- "amxtf32transposeintrin.h",
- "amxtransposeintrin.h",
"andes_vector.h",
"arm64intr.h",
"arm_acle.h",
diff --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py
index 9fba96a..3176b1a 100644
--- a/llvm/utils/lit/lit/TestRunner.py
+++ b/llvm/utils/lit/lit/TestRunner.py
@@ -600,18 +600,33 @@ def executeBuiltinUmask(cmd, shenv):
def executeBuiltinUlimit(cmd, shenv):
"""executeBuiltinUlimit - Change the current limits."""
- if os.name != "posix":
+ try:
+ # Try importing the resource module (available on POSIX systems) and
+ # emit an error where it does not exist (e.g., Windows).
+ import resource
+ except ImportError:
raise InternalShellError(cmd, "'ulimit' not supported on this system")
if len(cmd.args) != 3:
raise InternalShellError(cmd, "'ulimit' requires two arguments")
try:
- new_limit = int(cmd.args[2])
+ if cmd.args[2] == "unlimited":
+ new_limit = resource.RLIM_INFINITY
+ else:
+ new_limit = int(cmd.args[2])
except ValueError as err:
raise InternalShellError(cmd, "Error: 'ulimit': %s" % str(err))
if cmd.args[1] == "-v":
- shenv.ulimit["RLIMIT_AS"] = new_limit * 1024
+ if new_limit != resource.RLIM_INFINITY:
+ new_limit = new_limit * 1024
+ shenv.ulimit["RLIMIT_AS"] = new_limit
elif cmd.args[1] == "-n":
shenv.ulimit["RLIMIT_NOFILE"] = new_limit
+ elif cmd.args[1] == "-s":
+ if new_limit != resource.RLIM_INFINITY:
+ new_limit = new_limit * 1024
+ shenv.ulimit["RLIMIT_STACK"] = new_limit
+ elif cmd.args[1] == "-f":
+ shenv.ulimit["RLIMIT_FSIZE"] = new_limit
else:
raise InternalShellError(
cmd, "'ulimit' does not support option: %s" % cmd.args[1]
@@ -811,6 +826,10 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
not_args = []
not_count = 0
not_crash = False
+
+ # Expand all late substitutions.
+ args = _expandLateSubstitutions(j, args, cmd_shenv.cwd)
+
while True:
if args[0] == "env":
# Create a copy of the global environment and modify it for
@@ -860,9 +879,6 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
# Ensure args[0] is hashable.
args[0] = expand_glob(args[0], cmd_shenv.cwd)[0]
- # Expand all late substitutions.
- args = _expandLateSubstitutions(j, args, cmd_shenv.cwd)
-
inproc_builtin = inproc_builtins.get(args[0], None)
if inproc_builtin and (args[0] != "echo" or len(cmd.commands) == 1):
# env calling an in-process builtin is useless, so we take the safe
diff --git a/llvm/utils/lit/lit/builtin_commands/_launch_with_limit.py b/llvm/utils/lit/lit/builtin_commands/_launch_with_limit.py
index 33d2d59..a9dc259 100644
--- a/llvm/utils/lit/lit/builtin_commands/_launch_with_limit.py
+++ b/llvm/utils/lit/lit/builtin_commands/_launch_with_limit.py
@@ -17,6 +17,10 @@ def main(argv):
resource.setrlimit(resource.RLIMIT_AS, limit)
elif limit_str == "RLIMIT_NOFILE":
resource.setrlimit(resource.RLIMIT_NOFILE, limit)
+ elif limit_str == "RLIMIT_STACK":
+ resource.setrlimit(resource.RLIMIT_STACK, limit)
+ elif limit_str == "RLIMIT_FSIZE":
+ resource.setrlimit(resource.RLIMIT_FSIZE, limit)
process_output = subprocess.run(command_args)
sys.exit(process_output.returncode)
diff --git a/llvm/utils/lit/tests/Inputs/shtest-readfile/env.txt b/llvm/utils/lit/tests/Inputs/shtest-readfile/env.txt
new file mode 100644
index 0000000..3e19373
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-readfile/env.txt
@@ -0,0 +1,6 @@
+## Tests that readfile works with the env builtin.
+# RUN: echo -n "hello" > %t.1
+# RUN: env TEST=%{readfile:%t.1} %{python} -c "import os; print(os.environ['TEST'])"
+
+## Fail the test so we can assert on the output.
+# RUN: not echo return \ No newline at end of file
diff --git a/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg b/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
index ee49667..80af27f 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
+++ b/llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
@@ -10,6 +10,7 @@ use_lit_shell = lit.util.pythonize_bool(lit_shell_env)
config.test_format = lit.formats.ShTest(execute_external=not use_lit_shell)
config.test_source_root = None
config.test_exec_root = None
+config.substitutions.append(("%{python}", '"%s"' % (sys.executable)))
# If we are testing with the external shell, remove the fake-externals from
# PATH so that we use mkdir in the tests.
diff --git a/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt
index dbdd003..a5fac7b 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt
+++ b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_okay.txt
@@ -1,4 +1,5 @@
# RUN: ulimit -v 1048576
+# RUN: ulimit -s 256
# RUN: %{python} %S/../shtest-ulimit/print_limits.py
# Fail the test so that we can assert on the output.
# RUN: not echo return
diff --git a/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_unlimited.txt b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_unlimited.txt
new file mode 100644
index 0000000..4c687e3
--- /dev/null
+++ b/llvm/utils/lit/tests/Inputs/shtest-ulimit-nondarwin/ulimit_unlimited.txt
@@ -0,0 +1,6 @@
+# RUN: ulimit -f 5
+# RUN: %{python} %S/../shtest-ulimit/print_limits.py
+# RUN: ulimit -f unlimited
+# RUN: %{python} %S/../shtest-ulimit/print_limits.py
+# Fail the test so that we can assert on the output.
+# RUN: not echo return
diff --git a/llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py b/llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
index 632f954..c732c04 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
+++ b/llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
@@ -2,3 +2,5 @@ import resource
print("RLIMIT_AS=" + str(resource.getrlimit(resource.RLIMIT_AS)[0]))
print("RLIMIT_NOFILE=" + str(resource.getrlimit(resource.RLIMIT_NOFILE)[0]))
+print("RLIMIT_STACK=" + str(resource.getrlimit(resource.RLIMIT_STACK)[0]))
+print("RLIMIT_FSIZE=" + str(resource.getrlimit(resource.RLIMIT_FSIZE)[0]))
diff --git a/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt b/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
index 4edf1c3..b1f2396b 100644
--- a/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
+++ b/llvm/utils/lit/tests/Inputs/shtest-ulimit/ulimit_okay.txt
@@ -1,4 +1,5 @@
# RUN: ulimit -n 50
+# RUN: ulimit -f 5
# RUN: %{python} %S/print_limits.py
# Fail the test so that we can assert on the output.
# RUN: not echo return
diff --git a/llvm/utils/lit/tests/Inputs/test-data-micro/dummy_format.py b/llvm/utils/lit/tests/Inputs/test-data-micro/dummy_format.py
index b400083..27b738e 100644
--- a/llvm/utils/lit/tests/Inputs/test-data-micro/dummy_format.py
+++ b/llvm/utils/lit/tests/Inputs/test-data-micro/dummy_format.py
@@ -1,9 +1,5 @@
import os
-
-try:
- import ConfigParser
-except ImportError:
- import configparser as ConfigParser
+import configparser
import lit.formats
import lit.Test
@@ -16,7 +12,7 @@ class DummyFormat(lit.formats.FileBasedTest):
source_path = test.getSourcePath()
- cfg = ConfigParser.ConfigParser()
+ cfg = configparser.ConfigParser()
cfg.read(source_path)
# Create the basic test result.
diff --git a/llvm/utils/lit/tests/Inputs/test-data/dummy_format.py b/llvm/utils/lit/tests/Inputs/test-data/dummy_format.py
index 30bd181..b4c1b92 100644
--- a/llvm/utils/lit/tests/Inputs/test-data/dummy_format.py
+++ b/llvm/utils/lit/tests/Inputs/test-data/dummy_format.py
@@ -1,9 +1,5 @@
import os
-
-try:
- import ConfigParser
-except ImportError:
- import configparser as ConfigParser
+import configparser
import lit.formats
import lit.Test
@@ -16,7 +12,7 @@ class DummyFormat(lit.formats.FileBasedTest):
source_path = test.getSourcePath()
- cfg = ConfigParser.ConfigParser()
+ cfg = configparser.ConfigParser()
cfg.read(source_path)
# Create the basic test result.
diff --git a/llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py b/llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py
index efac0b5..43da097 100644
--- a/llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py
+++ b/llvm/utils/lit/tests/Inputs/xunit-output/dummy_format.py
@@ -1,9 +1,5 @@
import os
-
-try:
- import ConfigParser
-except ImportError:
- import configparser as ConfigParser
+import configparser
import lit.formats
import lit.Test
@@ -16,7 +12,7 @@ class DummyFormat(lit.formats.FileBasedTest):
source_path = test.getSourcePath()
- cfg = ConfigParser.ConfigParser()
+ cfg = configparser.ConfigParser()
cfg.read(source_path)
# Create the basic test result.
diff --git a/llvm/utils/lit/tests/shtest-readfile-external.py b/llvm/utils/lit/tests/shtest-readfile-external.py
index c00bff4..6fe1088 100644
--- a/llvm/utils/lit/tests/shtest-readfile-external.py
+++ b/llvm/utils/lit/tests/shtest-readfile-external.py
@@ -6,7 +6,7 @@
# UNSUPPORTED: system-windows
# RUN: env LIT_USE_INTERNAL_SHELL=0 not %{lit} -a -v %{inputs}/shtest-readfile | FileCheck -match-full-lines -DTEMP_PATH=%S/Inputs/shtest-readfile/Output %s
-# CHECK: -- Testing: 4 tests{{.*}}
+# CHECK: -- Testing: 5 tests{{.*}}
# CHECK-LABEL: FAIL: shtest-readfile :: absolute-paths.txt ({{[^)]*}})
# CHECK: echo $(cat [[TEMP_PATH]]/absolute-paths.txt.tmp) && test -e [[TEMP_PATH]]/absolute-paths.txt.tmp {{.*}}
diff --git a/llvm/utils/lit/tests/shtest-readfile.py b/llvm/utils/lit/tests/shtest-readfile.py
index 66e3a04..218da22 100644
--- a/llvm/utils/lit/tests/shtest-readfile.py
+++ b/llvm/utils/lit/tests/shtest-readfile.py
@@ -5,12 +5,16 @@
# RUN: env LIT_USE_INTERNAL_SHELL=1 not %{lit} -a -v %{inputs}/shtest-readfile | FileCheck -match-full-lines -DTEMP_PATH=%S%{fs-sep}Inputs%{fs-sep}shtest-readfile%{fs-sep}Output %s
-# CHECK: -- Testing: 4 tests{{.*}}
+# CHECK: -- Testing: 5 tests{{.*}}
# CHECK-LABEL: FAIL: shtest-readfile :: absolute-paths.txt ({{[^)]*}})
# CHECK: echo hello
# CHECK: # executed command: echo '%{readfile:[[TEMP_PATH]]{{[\\\/]}}absolute-paths.txt.tmp}'
+# CHECK-LABEL: FAIL: shtest-readfile :: env.txt ({{[^)]*}})
+# CHECK: env TEST=hello {{.*}} -c "import os; print(os.environ['TEST'])"
+# CHECK: # | hello
+
# CHECK-LABEL: FAIL: shtest-readfile :: file-does-not-exist.txt ({{[^)]*}})
# CHECK: # executed command: @echo 'echo %{readfile:/file/does/not/exist}'
# CHECK: # | File specified in readfile substitution does not exist: {{.*}}/file/does/not/exist
diff --git a/llvm/utils/lit/tests/shtest-ulimit-nondarwin.py b/llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
index 2d96fea..286fd3d 100644
--- a/llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
+++ b/llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
@@ -2,12 +2,20 @@
# ulimit does not work on non-POSIX platforms.
# These tests are specific to options that Darwin does not support.
-# UNSUPPORTED: system-windows, system-darwin, system-aix
+# UNSUPPORTED: system-windows, system-darwin, system-aix, system-solaris
# RUN: not %{lit} -a -v %{inputs}/shtest-ulimit-nondarwin | FileCheck %s
-# CHECK: -- Testing: 1 tests{{.*}}
+# CHECK: -- Testing: 2 tests{{.*}}
# CHECK-LABEL: FAIL: shtest-ulimit :: ulimit_okay.txt ({{[^)]*}})
# CHECK: ulimit -v 1048576
+# CHECK: ulimit -s 256
# CHECK: RLIMIT_AS=1073741824
+# CHECK: RLIMIT_STACK=262144
+
+# CHECK-LABEL: FAIL: shtest-ulimit :: ulimit_unlimited.txt ({{[^)]*}})
+# CHECK: ulimit -f 5
+# CHECK: RLIMIT_FSIZE=5
+# CHECK: ulimit -f unlimited
+# CHECK: RLIMIT_FSIZE=-1
diff --git a/llvm/utils/lit/tests/shtest-ulimit.py b/llvm/utils/lit/tests/shtest-ulimit.py
index 09cd475..21e5a5e 100644
--- a/llvm/utils/lit/tests/shtest-ulimit.py
+++ b/llvm/utils/lit/tests/shtest-ulimit.py
@@ -19,7 +19,9 @@
# CHECK-LABEL: FAIL: shtest-ulimit :: ulimit_okay.txt ({{[^)]*}})
# CHECK: ulimit -n 50
+# CHECK: ulimit -f 5
# CHECK: RLIMIT_NOFILE=50
+# CHECK: RLIMIT_FSIZE=5
# CHECK-LABEL: FAIL: shtest-ulimit :: ulimit_reset.txt ({{[^)]*}})
# CHECK: RLIMIT_NOFILE=[[BASE_NOFILE_LIMIT]]
diff --git a/llvm/utils/profcheck-xfail.txt b/llvm/utils/profcheck-xfail.txt
index aef7c09..83bffc7 100644
--- a/llvm/utils/profcheck-xfail.txt
+++ b/llvm/utils/profcheck-xfail.txt
@@ -1317,8 +1317,6 @@ Transforms/SimpleLoopUnswitch/pr60736.ll
Transforms/SimpleLoopUnswitch/trivial-unswitch-freeze-individual-conditions.ll
Transforms/SimpleLoopUnswitch/trivial-unswitch.ll
Transforms/SimpleLoopUnswitch/trivial-unswitch-logical-and-or.ll
-Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
-Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
Transforms/StructurizeCFG/hoist-zerocost.ll
diff --git a/llvm/utils/update_test_checks.py b/llvm/utils/update_test_checks.py
index 42227b2..74e87787 100755
--- a/llvm/utils/update_test_checks.py
+++ b/llvm/utils/update_test_checks.py
@@ -197,6 +197,7 @@ def update_test(ti: common.TestInfo):
global_tbaa_records_for_prefixes,
is_filtered=builder.is_filtered(),
original_check_lines=original_check_lines.get(func, {}),
+ check_inst_comments=args.check_inst_comments,
),
)
)
@@ -230,6 +231,7 @@ def update_test(ti: common.TestInfo):
global_tbaa_records_for_prefixes,
is_filtered=builder.is_filtered(),
original_check_lines=original_check_lines.get(func_name, {}),
+ check_inst_comments=args.check_inst_comments,
)
)
is_in_function_start = False
@@ -363,6 +365,12 @@ def main():
help="Check global entries (global variables, metadata, attribute sets, ...) for functions",
)
parser.add_argument(
+ "--check-inst-comments",
+ action="store_true",
+ default=False,
+ help="Check the generated comments describing instructions (e.g., -print-predicate-info/print<memssa>)",
+ )
+ parser.add_argument(
"--reset-variable-names",
action="store_true",
help="Reset all variable names to correspond closely to the variable names in IR. "