Jump to content

LabVIEW Compiler optimizations: Difference between revisions

From LabVIEW Wiki
No edit summary
No edit summary
Line 1: Line 1:
=Compiler Optimization=
=Compiler Optimization=
==Constant folding==
==Constant folding==
See [http://www.ni.com/news/inst_news_q2_08.htm this] NI news letter


==Removing unused code==
==Removing unused code==
Line 12: Line 11:
The upper part tries to get a caption for a control that doesn't have a caption. Normally this would through an error, but the compiler doesn't execute the property because the caption reference isn't wired.
The upper part tries to get a caption for a control that doesn't have a caption. Normally this would through an error, but the compiler doesn't execute the property because the caption reference isn't wired.
The lower part uses the caption reference and troughs an error.
The lower part uses the caption reference and troughs an error.
==External links==
*[http://zone.ni.com/devzone/cda/pub/p/id/347 Fuzzy Wires and Constant Folding in LabVIEW]

Revision as of 15:26, 2 June 2008

Compiler Optimization

Constant folding

Removing unused code

The LabVIEW compiler removes any unused code, code that is inside a case that will never execute is excluded form the compiled code. This gives the infamous warning on 8+ systems that opens a 7- VI where a case structure that is fed by a constant, the constant is replaced by a hidden control to maintain compatibility.

The same goes for property read nodes where the output is unwired. See the following example:

The upper part tries to get a caption for a control that doesn't have a caption. Normally this would through an error, but the compiler doesn't execute the property because the caption reference isn't wired. The lower part uses the caption reference and troughs an error.

External links