aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ConstantFolding.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-08-11 18:48:48 +0000
committerChris Lattner <sabre@nondot.org>2007-08-11 18:48:48 +0000
commit8d2e88806be0fbacb1fcba3f04ec57f16b417a11 (patch)
treeaba6e5b75cc93bee5536046cbba571be5dceae75 /lib/Analysis/ConstantFolding.cpp
parentace2e8ad0c5a8bef03ab3da9d9c6041ce2a1f987 (diff)
Transform a load from an undef/zero global into an undef/global even if we
have complex pointer manipulation going on. This allows us to compile stuff like this: __m128i foo(__m128i x){ static const unsigned int c_0[4] = { 0, 0, 0, 0 }; __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0); x = _mm_unpacklo_epi8(x, v_Zero); return x; } into: _foo: xorps %xmm1, %xmm1 punpcklbw %xmm1, %xmm0 ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41022 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ConstantFolding.cpp')
0 files changed, 0 insertions, 0 deletions