Information processing apparatus and compilation method

US9430203B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9430203-B2
Application numberUS-201414522815-A
CountryUS
Kind codeB2
Filing dateOct 24, 2014
Priority dateNov 8, 2013
Publication dateAug 30, 2016
Grant dateAug 30, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A storage unit stores source code including loop processing that is written with an array referenced by an index, a loop variable, and a parameter. A computing unit generates a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter. The computing unit generates determination information on the parameter, by eliminating the loop variable from the conditional expression through formula manipulation. Then, the computing unit generates object code corresponding to the source code in accordance with the determination information.

First claim

Opening claim text (preview).

What is claimed is: 1. An information processing apparatus comprising: a memory configured to store source code including loop processing, the loop processing being written with an array referenced by an index including a loop variable and a parameter whose value is dynamically determined before the loop processing and remains constant during the loop processing; and a processor configured to execute a process including: generating a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter, generating a determination expression that gives an allowable range of the parameter, by eliminating the loop variable from the conditional expression through formula manipulation, generating object code corresponding to the source code, and inserting check code before the loop processing in the object code, so as to test whether the value of the parameter at run time falls within the allowable range given by the determination expression. 2. The information processing apparatus according to claim 1 , wherein the process further includes generating another determination expression corresponding to another conditional expression for the loop processing, combining the determination expression and said another determination expression to obtain a combined determination expression, and generating check code based on the combined determination expression. 3. The information processing apparatus according to claim 1 , wherein the process further includes generating warning information when the determination expression indicates that the conditional expression holds or does not hold regardless of a value of the parameter. 4. The information processing apparatus according to claim 1 , wherein the generating the conditional expression includes generating the conditional expression which includes a plurality of first linear expressions indicating bounds of a value of the loop variable, and a second linear expression indicating that the index of the array satisfies the predetermined condition. 5. The information processing apparatus according to claim 1 , wherein the predetermined condition includes at least one of a condition on whether a value of the index is within a domain and a condition on whether a reference to the array is parallelizable. 6. A compilation method comprising: acquiring, by a processor, source code including loop processing, the loop processing being written with an array referenced by an index including a loop variable and a parameter whose value is dynamically determined before the loop processing and remains constant during the loop processing; generating, by the processor, a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter; generating, by the processor, a determination expression that gives an allowable range of the parameter, by eliminating the loop variable from the conditional expression through formula manipulation; generating, by the processor, object code corresponding to the source code; and inserting, by the processor, check code before the loop processing in the object code, so as to test whether the value of the parameter at run time falls within the allowable range given by the determination expression. 7. A computer-readable storage medium storing a computer program that causes a computer to execute a process comprising: acquiring source code including loop processing, the loop processing being written with an array referenced by an index including a loop variable and a parameter whose value is dynamically determined before the loop processing and remains constant during the loop processing; generating a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter; generating a determination expression that gives an allowable range of the parameter, by eliminating the loop variable from the conditional expression through formula manipulation; generating object code corresponding to the source code; and inserting check code before the loop processing in the object code, so as to test whether the value of the parameter at run time falls within the allowable range given by the determination expression.

Assignees

Inventors

Classifications

  • G06F8/452Primary

    Loops · CPC title

  • G06F8/4441Primary

    Reducing the execution time required by the program code · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9430203B2 cover?
A storage unit stores source code including loop processing that is written with an array referenced by an index, a loop variable, and a parameter. A computing unit generates a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter. The computing unit generates determination information on the parameter, by el…
Who is the assignee on this patent?
Fujitsu Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/452. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 30 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).