1-9. (canceled)
10. A computer-implemented method executed by at least one processor for processing a plurality of instructions in a computer program, the method comprising:
providing a computer program including a plurality of instructions that includes at least one vector operation; and
processing the plurality of instructions to eliminate at least one vector element reverse operation from the computer program to enhance run-time performance of the computer program.
11. The method of claim 10 further comprising:
identifying a first vector element reverse operation and a second vector element reverse operation in the computer program, such that the result of the first vector element reverse operation is the source of the second vector element reverse operation; and
eliminating at least one of the first and second vector element reverse operations.
12. The method of claim 10 further comprising:
identifying a computation in the computer program where all operations performed on input vectors are single instruction multiple data (SIMD) instructions; and
eliminating the at least one vector element reverse instruction that corresponds to the computation
13. The method of claim 10 further comprising:
identifying a unary operation accompanied by at least one vector element reverse operation; and
changing order of instructions for the unary operation and the at least one vector element reverse operation.
14. The method of claim 10 further comprising:
identifying a binary operation accompanied by at least one vector element reverse operation; and
eliminating the at least one vector element reverse operation that accompanies the binary operation.
15. The method of claim 10 further comprising:
identifying a first instruction that specifies an endian load followed by a second instruction that performs a vector element reverse operation; and
eliminating the second instruction by converting the first instruction into a third instruction that specifies an endian load that does not require the second instruction.
16. The method of claim 10 further comprising:
identifying a first instruction that is a vector element reverse operation that precedes a second instruction that is an endian store; and
eliminating the first instruction by converting the second instruction into a third instruction that specifies an endian store that does not require the first instruction.
17. The method of claim 10 further comprising:
identifying a first instruction that specifies a vector load of a literal value followed by a second instruction that is a vector element reverse operation; and
eliminating the second instruction by reversing order of the elements in the literal value in the first instruction.
18. The method of claim 10 further comprising:
recording characteristics of vector instructions and forming subgraphs of related instructions by analyzing def-use and use-def chains for the computer program in a first pass;
determining whether any of the subgraphs cannot be optimized in a second pass;
marking at least one vector element reverse operation for removal in a third pass; and
deleting in a fourth pass the at least one vector element reverse operation marked for removal in the third pass.
19. A computer-implemented method executed by at least one processor for processing a plurality of instructions in a computer program, the method comprising:
providing a computer program including a plurality of instructions that includes at least one vector instruction;
identifying a first vector element reverse operation and a second vector element reverse operation in the computer program, such that the result of the first vector element reverse operation is the source of the second vector element reverse operation;
eliminating at least one of the first and second vector element reverse operations;
identifying a computation in the computer program where all operations performed on input vectors are single instruction multiple data (SIMD) instructions;
eliminating at least one vector element reverse operation that corresponds to the computation;
identifying a unary operation accompanied by at least one vector element reverse operation;
changing order of instructions for the unary operation and the at least one vector element reverse operation that accompanies the unary operation;
identifying a binary operation accompanied by at least one vector element reverse operation;
eliminating at least one vector element reverse operation that accompanies the binary operation;
identifying a first instruction that specifies an endian load followed by a second instruction following the first instruction that performs a vector element reverse operation;
eliminating the second instruction by converting the first instruction into a third instruction that specifies an endian load that does not require the second instruction;
identifying a fourth instruction that is a vector element reverse operation that precedes a fifth instruction that is an endian store;
eliminating the fourth instruction by converting the fifth instruction into a sixth instruction that specifies an endian store that does not require the fourth instruction;
identifying a seventh instruction that specifies a vector load of a literal value followed by an eighth instruction that is a vector element reverse operation; and
eliminating the eighth instruction by reversing order of the elements in the literal value in the seventh instruction.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method of detecting and repairing paint defects on a vehicle body, comprising:
developing paint defect data using electronic imaging of the vehicle body;
referencing said electronic imaging with vehicle CAD data to develop three dimensional paint defect coordinates for each paint defect;
storing said paint defect data and said paint defect coordinates as referenced to the vehicle body;
developing a repair strategy based upon said paint defect data and said paint defect coordinates; and
performing an automated repair on the paint defects based upon said repair strategy.
2. A method of detecting and repairing paint defects on a vehicle body as described in claim 1, wherein said electronic imaging includes the use of an optics scanner.
3. A method of detecting and repairing paint defects on a vehicle body as described in claim 1, wherein said storing includes the use of a paint defect database.
4. A method of detecting and repairing paint defects on a vehicle body as described in claim 1 , wherein said paint defect data includes the size and location of said paint defects.
5. A method of detecting and repairing paint defects on a vehicle body as described in claim 1, wherein said paint defect data includes the size and type of said paint defects.
6. A method of detecting and repairing paint defects on a vehicle body as described in claim 1, wherein said referencing is accomplished through the use of a vision cell controller.
7. A method of detecting and repairing paint defects on a vehicle body as described in claim 1, further comprising: determining a vehicle surface normal at each paint defect.
8. A method of detecting and repairing paint defects on a vehicle body as described in claim 1, further comprising:
generating robot paths for a plurality of automated robots using said repair strategy.
9. A method of detecting and repairing paint defects on a vehicle body as described in claim 8, wherein said performing an automated repair includes programming said plurality of automated robots to approach the vehicle body along a normal vector.
10. A method of detecting and repairing paint defects on a vehicle body as described in claim 1, further comprising:
utilizing force feedback to control said automated repair.
11. A method of detecting and repairing paint defects on a vehicle body, comprising:
developing paint defect data using electronic imaging of the vehicle body;
referencing said electronic imaging with vehicle CAD data to develop three dimensional paint defect coordinates for each paint defect;
using said vehicle CAD data to determine a vehicle surface normal at each paint defect;
storing said paint defect data and said paint defect coordinates referenced to the vehicle body;
developing a repair strategy based upon said paint defect data and said paint defect coordinates; and
performing an automated repair on the paint defects relative to their said vehicle surface normals.
12. A method of detecting and repairing paint defects on a vehicle body as described in claim 11, wherein said electronic imaging includes the use of an optics scanner
13. A method of detecting and repairing paint defects on a vehicle body as described in claim 11, wherein said storing includes the use of a paint defect database.
14. A method of detecting and repairing paint defects on a vehicle body as described in claim 11, wherein said paint defect data includes the size and location of said paint defects.
15. A method of detecting and repairing paint defects on a vehicle body as described in claim 11, wherein said referencing is accomplished through the use of a vision cell controller.
16. A method of detecting and repairing paint defects on a vehicle body as described in claim 11, further comprising:
generating robot paths for a plurality of automated robots using said repair strategy.
17. A method of detecting and repairing paint defects on a vehicle body as described in claim 16, wherein said performing an automated repair includes programming said plurality of automated robots to approach the vehicle body along a normal vector.
18. A method of detecting and repairing paint defects on a vehicle body as described in claim 11, further comprising:
utilizing force feedback to adjust said automated repair.
19. An assembly for automated paint defect detection and repair on a vehicle body, comprising:
an optical system developing paint defect data by electronically imaging the vehicle body;
a vision cell controller in communication with said optical system, said vision cell controller processing said paint defect data, developing three dimensional paint defect coordinates for each paint defect relative to vehicle CAD data, and storing said paint defect data and said three dimensional paint defect coordinates in a defect database;
a robot cell controller in communication with said defect database, said robot cell controller capable of developing a repair strategy;
an automated robotic repair system in communication with said robot cell controller, said automated robotic repair system capable of performing repairs of the paint defects.
20. An assembly for automated paint defect detection and repair on a vehicle body as described in claim 19, wherein said optical system includes a telecentric optics scanner.
21. An assembly for automated paint defect detection and repair on a vehicle body as described in claim 19, wherein said paint defect data includes the size and location of said paint defects
22. An assembly for automated paint defect detection and repair on a vehicle body as described in claim 19, wherein said vision cell controller provides setup and calibration functions for the optical system.
23. An assembly for automated paint defect detection and repair on a vehicle body as described in claim 19, wherein said repair strategy includes robot and tool choice.
24. An assembly for automated paint defect detection and repair on a vehicle body as described in claim 19, wherein said automated robotic repair system includes a plurality of automated robots.
25. An assembly for automated paint defect detection and repair on a vehicle body as described in claim 19, wherein said automated robotic repair system includes force feedback control.
26. An assembly for automated paint defect detection and repair on a vehicle body as described in claim 19 wherein said plurality of automated robots approach the vehicle body along a normal vector.