Split up the size_overflow plugin
Optimize with dce pass
Remove unnecessary duplication

Unnecessary duplication means there is no overflow check condition in the data flow.
Introduce and use my own types
Handle size_overflow types after the optimization

When duplicated stmts remain without overflow checking then we likely face some intentional overflow situation and
will force the operations to work on the original types.
Use the original type in NEGATE_EXPR (-b)

https://forums.grsecurity.net/viewtopic.php?f=3&t=3942
Fixed some gcc compatibility problems
release