CodeGen: don't form illegail EXTLOAD operations.
authorTim Northover <tnorthover@apple.com>
Wed, 16 Jul 2014 15:37:24 +0000 (15:37 +0000)
committerTim Northover <tnorthover@apple.com>
Wed, 16 Jul 2014 15:37:24 +0000 (15:37 +0000)
commit7f3e11e7c09e928baed4dced1f38a395b9f539dc
treebd651cb0a515ae4c361da6b3a8034b4038f0d5ee
parentdb8011a494be320e6e0844bd90b7fd38b34a18e0
CodeGen: don't form illegail EXTLOAD operations.

It turns out that in most cases (the main exception being i1-related
types) once these operations are formed we cannot separate them and
the targets end up having to deal with them whether they want to or
not.

This is not a good situation, and a more reasonable default can be
formed by ackowledging this and having targets leave them as Legal.
Only x86 seems to be affected (other targets don't even try marking
the operation Expand).

Mostly there's no visible change here yet, but it will be useful to
have truly expanded EXTLOADS for MVT::f16 softening support.

llvm-svn: 213162
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp