It's possible to ask completion to not suggest files with particular file extensions, by:
(setq completion-ignored-extensions (append completion-ignored-extensions (quote (".o" ".aux"))))
However, I'm not able to determine how to pattern-match on regular expressions before the "." and not just after it. For example, I don't want files that end with "_flymake.hs" to be suggested by completion modes. How could I accomplish this?