IP Library › Granted Patent US 10,514,913
Granted Patent B2
US 10,514,913 · App. 15/631,080 · Granted Dec 24, 2019

Compiler controls for program regions

Inventors: Michael K. Gschwind (Chappaqua, NY); Valentina Salapura (Chappaqua, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/30014G06F9/30076G06F9/30101G06F9/30185G06F9/30189
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,514,913
App. No.
15/631,080
Granted
Dec 24, 2019
Kind
B2
Abstract

Setting or updating of floating point controls is managed. Floating point controls include controls used for floating point operations, such as rounding mode and/or other controls. Further, floating point controls include status associated with floating point operations, such as floating point exceptions and/or others. The management of the floating point controls includes efficiently updating the controls, while reducing costs associated therewith.

Claims (39)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:

determining that a program region has a floating point control associated therewith, the floating point control indicated by at least one delimiter associated with the program region;

using the floating point control indicated by the at least one delimiter to update an active floating point mode, wherein the using the floating point control to update the active floating point mode comprises:

determining whether the at least one delimiter comprises a begin floating point control delimiter:

saving, based on determining the at least one delimiter comprises the begin floating point control delimiter, a current value of the floating point control;

setting the active floating point mode to a value of the floating point control indicated by the at least one delimiter;

determining whether the at least one delimiter comprises an end floating point control delimiter; and

restoring the active floating mode to the current value of the floating point control that was saved, based on determining the at least one delimiter comprises the end floating point control delimiter; and

generating code for at least one instruction in the program region based on the active floating point mode.

2. The computer program product of claim 1 , wherein the at least one delimiter comprises a starting delimiter.

3. The computer program product of claim 2 , wherein the at least one delimiter further comprises an ending delimiter.

4. The computer program product of claim 1 , wherein the at least one delimiter comprises a set delimiter.

5. The computer program product of claim 1 , wherein the program region comprises a set of instructions.

6. The computer program product of claim 1 , wherein the program region comprises a region selected from a group consisting of: a function, a method, a loop, an instruction, and a block of instructions.

7. The computer program product of claim 1 , wherein the determining that the program region has a floating point control associated therewith comprises detecting the at least one delimiter in the program region.

8. The computer program product of claim 1 , wherein the using the floating point control to update the active floating point mode comprises:

determining whether the at least one delimiter comprises a set delimiter; and

setting the active floating point mode to a value of the floating point control indicated by the at least one delimiter, based on determining the at least one delimiter comprises the set delimiter.

9. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:

determining that a program region has a floating point control associated therewith, the floating point control indicated by at least one delimiter associated with the program region;

using the floating point control indicated by the at least one delimiter to update an active floating point mode, wherein the using the floating point control to update the active floating point mode comprises:

determining whether the at least one delimiter comprises a begin floating point control delimiter:

saving, based on determining the at least one delimiter comprises the begin floating point control delimiter, a current value of the floating point control;

setting the active floating point mode to a value of the floating point control indicated by the at least one delimiter;

determining whether the at least one delimiter comprises an end floating point control delimiter; and

restoring the active floating mode to the current value of the floating point control that was saved, based on determining the at least one delimiter comprises the end floating point control delimiter; and

generating code for at least one instruction in the program region based on the active floating point mode.

10. The computer system of claim 9 , wherein the program region comprises a region selected from a group consisting of: a function, a method, a loop, an instruction, and a block of instructions.

11. The computer system of claim 9 , wherein the using the floating point control to update the active floating point mode comprises:

determining whether the at least one delimiter comprises a set delimiter; and

setting the active floating point mode to a value of the floating point control indicated by the at least one delimiter, based on determining the at least one delimiter comprises the set delimiter.

12. The computer system of claim 9 , wherein the at least one delimiter comprises a starting delimiter.

13. The computer system of claim 9 , wherein the at least one delimiter further comprises an ending delimiter.

14. The computer system of claim 9 , wherein the at least one delimiter comprises a set delimiter.

15. The computer system of claim 9 , wherein the program region comprises a set of instructions.

16. The computer system of claim 9 , wherein the determining that the program region has a floating point control associated therewith comprises detecting the at least one delimiter in the program region.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: GSCHWIND, MICHAEL K.; SALAPURA, VALENTINA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042797/0064 →
Continuity (1)
Related Publication 20180373534A1 · Dec 27, 2018