Make DataLayout a plain object, not a pass.

Instead, have a DataLayoutPass that holds one. This will allow parts of LLVM
don't don't handle passes to also use DataLayout.
Update for llvm api change.
Update for llvm api change.
[XCore] Add intrinsic for EDU (event disable unconditional) instruction.
[XCore] Add intrinsic for CLRPT (clear port time) instruction.