Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pre-commit: test PR76367 #45

Closed
wants to merge 2 commits into from
Closed

pre-commit: test PR76367 #45

wants to merge 2 commits into from

Conversation

dtcxzyw
Copy link
Owner

@dtcxzyw dtcxzyw commented Dec 25, 2023

Copy link
Contributor

baseline: llvm/llvm-project@8c24422
patch: llvm/llvm-project#76367
sha256: 5e90fe36f1afbb3164a5fbd097fd7ae09a79509d579682a48f1e8fca8d0d2eb4
commit: 7e7256d
7e7256d pre-commit: Update
bench/abseil-cpp/optimized/iostream_state_saver_test.cc.ll
bench/arrow/optimized/double-to-string.cc.ll
bench/assimp/optimized/Assimp.cpp.ll
bench/assimp/optimized/DeboneProcess.cpp.ll
bench/assimp/optimized/GeometryUtils.cpp.ll
bench/assimp/optimized/IFCLoader.cpp.ll
bench/assimp/optimized/PretransformVertices.cpp.ll
bench/assimp/optimized/X3DExporter.cpp.ll
bench/assimp/optimized/X3DGeoHelper.cpp.ll
bench/assimp/optimized/clipper.cpp.ll
bench/assimp/optimized/glTF2Exporter.cpp.ll
bench/assimp/optimized/glTFExporter.cpp.ll
bench/assimp/optimized/sweep.cc.ll
bench/bullet3/optimized/btGeneric6DofConstraint.ll
bench/bullet3/optimized/btGeneric6DofSpring2Constraint.ll
bench/cpython/optimized/longobject.ll
bench/double_conversion/optimized/double-to-string.cc.ll
bench/duckdb/optimized/ub_duckdb_aggr_holistic.cpp.ll
bench/duckdb/optimized/ub_duckdb_common_types.cpp.ll
bench/duckdb/optimized/ub_duckdb_func_math.cpp.ll
bench/duckdb/optimized/ub_duckdb_func_random.cpp.ll
bench/flac/optimized/utils.c.ll
bench/fmt/optimized/chrono-test.cc.ll
bench/hermes/optimized/DateUtil.cpp.ll
bench/hermes/optimized/HermesValue.cpp.ll
bench/icu/optimized/reldatefmt.ll
bench/imgui/optimized/imgui.cpp.ll
bench/imgui/optimized/imgui_widgets.cpp.ll
bench/lodepng/optimized/lodepng_util.cpp.ll
bench/nlohmann_json/optimized/unit-binary_formats.cpp.ll
bench/nlohmann_json/optimized/unit-cbor.cpp.ll
bench/nlohmann_json/optimized/unit-msgpack.cpp.ll
bench/nlohmann_json/optimized/unit-regression1.cpp.ll
bench/nlohmann_json/optimized/unit-regression2.cpp.ll
bench/nlohmann_json/optimized/unit-udt_macro.cpp.ll
bench/ocio/optimized/MathUtils.cpp.ll
bench/oiio/optimized/filter.cpp.ll
bench/openvdb/optimized/Diagnostics.cc.ll
bench/openvdb/optimized/FastSweeping.cc.ll
bench/openvdb/optimized/LevelSetMorph.cc.ll
bench/pbrt-v4/optimized/bxdfs.cpp.ll
bench/pbrt-v4/optimized/lightsamplers.cpp.ll
bench/protobuf/optimized/parser.cc.ll
bench/redis/optimized/geo.ll
bench/redis/optimized/geohash.ll
bench/redis/optimized/geohash_helper.ll
bench/redis/optimized/util.ll
bench/simdjson/optimized/simdjson.cpp.ll
bench/stb/optimized/stb_image_resize2.c.ll
bench/velox/optimized/JsonType.cpp.ll
bench/yoga/optimized/YGNodeStyle.cpp.ll

dtcxzyw added a commit to llvm/llvm-project that referenced this pull request Dec 26, 2023
…llees (#76372)

This patch adds missing `norecurse` attrs to funcs that only call intrinsics with `nocallback` attrs.
Fixes the regression found in dtcxzyw/llvm-opt-benchmark#45 (comment).
The function loses `norecurse` attr because it calls `@llvm.fabs.f64`, which is not marked as `norecurse`.

Since `norecurse` is not a default attribute of intrinsics and it is
ambiguous for intrinsics, I decided to use the existing `callback`
attributes.

> nocallback
This attribute indicates that the function is only allowed to jump back
into caller’s module by a return or an exception, and is not allowed to
jump back by invoking a callback function, a direct, possibly
transitive, external function call, use of longjmp, or other means. It
is a compiler hint that is used at module level to improve dataflow
analysis, dropped during linking, and has no effect on functions defined
in the current module.

See also https://llvm.org/docs/LangRef.html#function-attributes.
@dtcxzyw dtcxzyw closed this Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant