the codegen is now dependant of SemanticPass
fixup
Changed backend take and initialize the semantic pass