refactor parse_datalayout a bit