enum Module::ModFlagBehavior
Description
This enumeration defines the supported behaviors of module flags.
Declared at: llvm/include/llvm/IR/Module.h:114
Enumerators
Name | Value | Comment |
---|---|---|
Error | 1 | Emits an error if two values disagree, otherwise the resulting value is that of the operands. |
Warning | 2 | Emits a warning if two values disagree. The result value will be the operand for the flag from the first module being linked. |
Require | 3 | Adds a requirement that another module flag be present and have a specified value after linking is performed. The value must be a metadata pair, where the first element of the pair is the ID of the module flag to be restricted, and the second element of the pair is the value the module flag should be restricted to. This behavior can be used to restrict the allowable results (via triggering of an error) of linking IDs with the **Override** behavior. |
Override | 4 | Uses the specified value, regardless of the behavior or value of the other module. If both modules specify **Override**, but the values differ, an error will be emitted. |
Append | 5 | Appends the two values, which are required to be metadata nodes. |
AppendUnique | 6 | Appends the two values, which are required to be metadata nodes. However, duplicate entries in the second list are dropped during the append operation. |
Max | 7 | Takes the max of the two values, which are required to be integers. |
ModFlagBehaviorFirstVal | 1 | Takes the max of the two values, which are required to be integers. |
ModFlagBehaviorLastVal | 7 | Takes the max of the two values, which are required to be integers. |