Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Clarify semantics for overflowing constrained lrint etc.#148979

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation

efriedma-quic
Copy link
Collaborator

@efriedma-quicefriedma-quic commentedJul 15, 2025
edited
Loading

This fixes llvm.experimental.constrained.lrint and friends to use the same semantics as llvm.lrint and friends, as defined inba5c26d.

This fixes llvm.experimental.constrained.lrint and friends to use thesame semantics as llvm.lrint and friends, as defined ininba5c26d.
@llvmbot
Copy link
Member

@llvm/pr-subscribers-llvm-ir

Author: Eli Friedman (efriedma-quic)

Changes

This fixes llvm.experimental.constrained.lrint and friends to use the same semantics as llvm.lrint and friends, as defined in inba5c26d.


Full diff:https://github.com/llvm/llvm-project/pull/148979.diff

1 Files Affected:

  • (modified) llvm/docs/LangRef.rst (+12-10)
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rstindex d2a1821efd698..168045010df7e 100644--- a/llvm/docs/LangRef.rst+++ b/llvm/docs/LangRef.rst@@ -28302,9 +28302,9 @@ Overview:  The '``llvm.experimental.constrained.lrint``' intrinsic returns the first argument rounded to the nearest integer. An inexact floating-point exception-will be raised if the argument is not an integer. An invalid exception is-raised if the result is too large to fit into a supported integer type,-and in this case the result is undefined.+will be raised if the argument is not an integer. If the rounded value is too+large to fit into the result type, an invalid exception is raised, and the+return value is a non-deterministic value (equivalent to `freeze poison`).  Arguments: """"""""""@@ -28350,9 +28350,9 @@ Overview:  The '``llvm.experimental.constrained.llrint``' intrinsic returns the first argument rounded to the nearest integer. An inexact floating-point exception-will be raised if the argument is not an integer. An invalid exception is-raised if the result is too large to fit into a supported integer type,-and in this case the result is undefined.+will be raised if the argument is not an integer. If the rounded value is too+large to fit into the result type, an invalid exception is raised, and the+return value is a non-deterministic value (equivalent to `freeze poison`).  Arguments: """"""""""@@ -28701,8 +28701,9 @@ Overview: The '``llvm.experimental.constrained.lround``' intrinsic returns the first argument rounded to the nearest integer with ties away from zero.  It will raise an inexact floating-point exception if the argument is not an integer.-An invalid exception is raised if the result is too large to fit into a-supported integer type, and in this case the result is undefined.+If the rounded value is too large to fit into the result type, an invalid+exception is raised, and the return value is a non-deterministic value+(equivalent to `freeze poison`).  Arguments: """"""""""@@ -28739,8 +28740,9 @@ Overview: The '``llvm.experimental.constrained.llround``' intrinsic returns the first argument rounded to the nearest integer with ties away from zero. It will raise an inexact floating-point exception if the argument is not an integer.-An invalid exception is raised if the result is too large to fit into a-supported integer type, and in this case the result is undefined.+If the rounded value is too large to fit into the result type, an invalid+exception is raised, and the return value is a non-deterministic value+(equivalent to `freeze poison`).  Arguments: """"""""""

@arsenmarsenm added the floating-pointFloating-point math labelJul 16, 2025
@efriedma-quicefriedma-quic changed the titleClarify semantics for overflowing constrainted lrint etc.Clarify semantics for overflowing constrained lrint etc.Jul 16, 2025
@efriedma-quicefriedma-quic merged commit8ec03f4 intollvm:mainJul 16, 2025
13 checks passed
@llvm-ci
Copy link
Collaborator

LLVM Buildbot has detected a new failure on builderlldb-arm-ubuntu running onlinaro-lldb-arm-ubuntu while buildingllvm at step 6 "test".

Full details are available at:https://lab.llvm.org/buildbot/#/builders/18/builds/19064

Here is the relevant piece of the build log for the reference
Step 6 (test) failure: build (failure)...PASS: lldb-unit :: ValueObject/./LLDBValueObjectTests/4/12 (3327 of 3336)PASS: lldb-unit :: ValueObject/./LLDBValueObjectTests/5/12 (3328 of 3336)PASS: lldb-unit :: ValueObject/./LLDBValueObjectTests/6/12 (3329 of 3336)PASS: lldb-unit :: ValueObject/./LLDBValueObjectTests/7/12 (3330 of 3336)PASS: lldb-unit :: ValueObject/./LLDBValueObjectTests/8/12 (3331 of 3336)PASS: lldb-unit :: ValueObject/./LLDBValueObjectTests/9/12 (3332 of 3336)PASS: lldb-unit :: tools/lldb-server/tests/./LLDBServerTests/0/2 (3333 of 3336)PASS: lldb-unit :: tools/lldb-server/tests/./LLDBServerTests/1/2 (3334 of 3336)PASS: lldb-unit :: Process/gdb-remote/./ProcessGdbRemoteTests/8/35 (3335 of 3336)TIMEOUT: lldb-api :: tools/lldb-dap/module/TestDAP_module.py (3336 of 3336)******************** TEST 'lldb-api :: tools/lldb-dap/module/TestDAP_module.py' FAILED ********************Script:--/usr/bin/python3.10 /home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./lib --env LLVM_INCLUDE_DIR=/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/include --env LLVM_TOOLS_DIR=/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin --arch armv8l --build-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex --lldb-module-cache-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin/lldb --compiler /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin/clang --dsymutil /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin/dsymutil --make /usr/bin/gmake --llvm-tools-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./bin --lldb-obj-root /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/tools/lldb --lldb-libs-dir /home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/./lib --cmake-build-type Release /home/tcwg-buildbot/worker/lldb-arm-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/module -p TestDAP_module.py--Exit Code: -9Timeout: Reached timeout of 600 secondsCommand Output (stdout):--lldb version 22.0.0git (https://github.com/llvm/llvm-project.git revision 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7)  clang revision 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7  llvm revision 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7--Command Output (stderr):--========= DEBUG ADAPTER PROTOCOL LOGS =========1752637636.256080151 (stdio) --> {"command":"initialize","type":"request","arguments":{"adapterID":"lldb-native","clientID":"vscode","columnsStartAt1":true,"linesStartAt1":true,"locale":"en-us","pathFormat":"path","supportsRunInTerminalRequest":true,"supportsVariablePaging":true,"supportsVariableType":true,"supportsStartDebuggingRequest":true,"supportsProgressReporting":true,"$__lldb_sourceInitFile":false},"seq":1}1752637636.259438515 (stdio) <-- {"body":{"$__lldb_version":"lldb version 22.0.0git (https://github.com/llvm/llvm-project.git revision 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7)\n  clang revision 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7\n  llvm revision 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7","completionTriggerCharacters":["."," ","\t"],"exceptionBreakpointFilters":[{"description":"C++ Catch","filter":"cpp_catch","label":"C++ Catch","supportsCondition":true},{"description":"C++ Throw","filter":"cpp_throw","label":"C++ Throw","supportsCondition":true},{"description":"Objective-C Catch","filter":"objc_catch","label":"Objective-C Catch","supportsCondition":true},{"description":"Objective-C Throw","filter":"objc_throw","label":"Objective-C Throw","supportsCondition":true}],"supportTerminateDebuggee":true,"supportsBreakpointLocationsRequest":true,"supportsCancelRequest":true,"supportsCompletionsRequest":true,"supportsConditionalBreakpoints":true,"supportsConfigurationDoneRequest":true,"supportsDataBreakpoints":true,"supportsDelayedStackTraceLoading":true,"supportsDisassembleRequest":true,"supportsEvaluateForHovers":true,"supportsExceptionFilterOptions":true,"supportsExceptionInfoRequest":true,"supportsFunctionBreakpoints":true,"supportsHitConditionalBreakpoints":true,"supportsInstructionBreakpoints":true,"supportsLogPoints":true,"supportsModulesRequest":true,"supportsReadMemoryRequest":true,"supportsSetVariable":true,"supportsSteppingGranularity":true,"supportsValueFormattingOptions":true,"supportsWriteMemoryRequest":true},"command":"initialize","request_seq":1,"seq":0,"success":true,"type":"response"}1752637636.260031700 (stdio) --> {"command":"launch","type":"request","arguments":{"program":"/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/tools/lldb-dap/module/TestDAP_module.test_compile_units/a.out","initCommands":["settings clear --all","settings set symbols.enable-external-lookup false","settings set target.inherit-tcc true","settings set target.disable-aslr false","settings set target.detach-on-error false","settings set target.auto-apply-fixits false","settings set plugin.process.gdb-remote.packet-timeout 60","settings set symbols.clang-modules-cache-path \"/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/module-cache-lldb/lldb-api\"","settings set use-color false","settings set show-statusline false"],"disableASLR":false,"enableAutoVariableSummaries":false,"enableSyntheticChildDebugging":false,"displayExtendedBacktrace":false},"seq":2}1752637636.260465384 (stdio) <-- {"body":{"category":"console","output":"Running initCommands:\n"},"event":"output","seq":0,"type":"event"}1752637636.260529757 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings clear --all\n"},"event":"output","seq":0,"type":"event"}1752637636.260544538 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set symbols.enable-external-lookup false\n"},"event":"output","seq":0,"type":"event"}1752637636.260559082 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set target.inherit-tcc true\n"},"event":"output","seq":0,"type":"event"}1752637636.260571241 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set target.disable-aslr false\n"},"event":"output","seq":0,"type":"event"}1752637636.260582685 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set target.detach-on-error false\n"},"event":"output","seq":0,"type":"event"}1752637636.260593891 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set target.auto-apply-fixits false\n"},"event":"output","seq":0,"type":"event"}1752637636.260605812 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set plugin.process.gdb-remote.packet-timeout 60\n"},"event":"output","seq":0,"type":"event"}1752637636.260668993 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set symbols.clang-modules-cache-path \"/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/module-cache-lldb/lldb-api\"\n"},"event":"output","seq":0,"type":"event"}1752637636.260681629 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set use-color false\n"},"event":"output","seq":0,"type":"event"}1752637636.260693312 (stdio) <-- {"body":{"category":"console","output":"(lldb) settings set show-statusline false\n"},"event":"output","seq":0,"type":"event"}1752637636.446391821 (stdio) <-- {"command":"launch","request_seq":2,"seq":0,"success":true,"type":"response"}1752637636.446486473 (stdio) <-- {"event":"initialized","seq":0,"type":"event"}1752637636.446512938 (stdio) <-- {"body":{"module":{"addressRange":"0xf7e80000","debugInfoSize":"983.3KB","id":"0D794E6C-AF7E-D8CB-B9BA-E385B4F8753F-5A793D65","name":"ld-linux-armhf.so.3","path":"/usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3","symbolFilePath":"/usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3","symbolStatus":"Symbols loaded."},"reason":"new"},"event":"module","seq":0,"type":"event"}1752637636.448648691 (stdio) --> {"command":"setBreakpoints","type":"request","arguments":{"source":{"name":"main.cpp","path":"main.cpp"},"sourceModified":false,"lines":[5],"breakpoints":[{"line":5}]},"seq":3}1752637636.448898554 (stdio) <-- {"body":{"module":{"addressRange":"0x810000","debugInfoSize":"1.1KB","id":"7943550B","name":"a.out","path":"/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/tools/lldb-dap/module/TestDAP_module.test_compile_units/a.out","symbolFilePath":"/home/tcwg-buildbot/worker/lldb-arm-ubuntu/build/lldb-test-build.noindex/tools/lldb-dap/module/TestDAP_module.test_compile_units/a.out","symbolStatus":"Symbols loaded."},"reason":"new"},"event":"module","seq":0,"type":"event"}1752637636.466789722 (stdio) <-- {"body":{"breakpoints":[{"column":3,"id":1,"instructionReference":"0x82073C","line":5,"source":{"name":"main.cpp","path":"main.cpp"},"verified":true}]},"command":"setBreakpoints","request_seq":3,"seq":0,"success":true,"type":"response"}1752637636.467204332 (stdio) --> {"command":"configurationDone","type":"request","arguments":{},"seq":4}

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@arsenmarsenmarsenm approved these changes

@nunoplopesnunoplopesAwaiting requested review from nunoplopes

Assignees
No one assigned
Labels
floating-pointFloating-point mathllvm:ir
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

4 participants
@efriedma-quic@llvmbot@llvm-ci@arsenm

[8]ページ先頭

©2009-2025 Movatter.jp