OSDN Git Service

Normally an 'optnone' function goes through fast-isel, which does not
authorPaul Robinson <paul_robinson@playstation.sony.com>
Mon, 3 Nov 2014 18:19:26 +0000 (18:19 +0000)
committerPaul Robinson <paul_robinson@playstation.sony.com>
Mon, 3 Nov 2014 18:19:26 +0000 (18:19 +0000)
commitc3e82bf9f5bdf4900d62e2da5136b8f9a99ac45d
tree39586cb090b9ae5e00e10b24b28145a6a933db64
parent5e84760dde9288c1a6cb2a01dbbc1c46081c9101
Normally an 'optnone' function goes through fast-isel, which does not
call DAGCombiner. But we ran into a case (on Windows) where the
calling convention causes argument lowering to bail out of fast-isel,
and we end up in CodeGenAndEmitDAG() which does run DAGCombiner.
So, we need to make DAGCombiner check for 'optnone' after all.

Commit includes the test that found this, plus another one that got
missed in the original optnone work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221168 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/fastmath-optnone.ll [new file with mode: 0644]
test/Transforms/FunctionAttrs/optnone-simple.ll [new file with mode: 0644]