User`s guide

Cray XMT Programming Environment Users Guide
Alternatively, you can use the following syntax for dynamically
allocated arrays.
#pragma mta assert par_newdelete
foo = new aclass[100];
This directive is placed before the deletion of a dynamically allocated
array to indicate that when the elements of the array are destructed,
the destructors should be invoked in parallel. To do this, use the
following syntax:
#pragma mta assert par_newdelete
delete [] foo;
foo = 0;
C.4 Implementation Hints
The following directives provide implementation hints to the compiler about the
expected behavior of the program. The intent is to provide guidance for effective
optimization.
#pragma mta expect count integer-expression
This directive can appear before a loop construct. The
integer-expression is a constant expression and serves as an estimate
of the number of times the loop will iterate. The compiler optimizes
the implementation of the loop based on this value. A constant
integer-expression is one that can be evaluated completely by the
front end of the compiler. It may not use the following:
An expression that syntactically looks like a function call (such as
sizeof or C++ style-type conversions)
Floating-point literals
GNU extensions
It may refer to members of enumerations.
#pragma mta expect [true|false]
This directive can appear before a logical if and specifies the
expected value of the associated predicate. You can use this directive
for branch prediction and choosing the best parallel implementation
of a containing loop depending on sparse versus dense branching.
#pragma mta expect case n
This directive is similar to the expect [true|false] directive
except that n is an integer. This directive must only appear before a
switch statement. It tells the compiler that case arm n is expected.
130 S247920