- Jan 02, 2012
-
-
Craig Topper authored
Miscellaneous shuffle lowering cleanup. No functional changes. Primarily converting the indexing loops to unsigned to be consistent across functions. llvm-svn: 147430
-
Craig Topper authored
Make CanXFormVExtractWithShuffleIntoLoad reject loads with multiple uses. Also make it return false if there's not even a load at all. This makes the code better match the code in DAGCombiner that it tries to match. These two changes prevent some cases where vector_shuffles were making it to instruction selection and causing the older shuffle selection code to be triggered. Also needed to fix a bad pattern that this change exposed. This is the first step towards getting rid of the old shuffle selection support. No test cases yet because there's no way to tell whether a shuffle was handled in the legalize stage or at instruction selection. llvm-svn: 147428
-
Chandler Carruth authored
build. This didn't show up in the CMake build because the CMake build for the unittests is rather poorly factored. This probably isn't the correct fix. This should be a bitcode reader unittest not a VMCore unittest. I'll move it and clean various parts of the unittest up in a follow-up patch, but I wanted to unbreak the bots. llvm-svn: 147427
-
Nadav Rotem authored
Optimize the sequence blend(sign_extend(x)) to blend(shl(x)) since SSE blend instructions only look at the highest bit. llvm-svn: 147426
-
Rafael Espindola authored
PR11677. llvm-svn: 147425
-
Rafael Espindola authored
llvm-svn: 147424
-
Rafael Espindola authored
calls setVisibility/setLinkage. No functionality change. llvm-svn: 147423
-
Douglas Gregor authored
used anywhere. llvm-svn: 147422
-
Douglas Gregor authored
llvm-svn: 147421
-
Douglas Gregor authored
ObjCProtocolDecl proper source-range information. llvm-svn: 147420
-
- Jan 01, 2012
-
-
Douglas Gregor authored
Eliminate the ForwardDecl/InitiallyForwardDecl bits from ObjCProtocolDecl. They are no longer needed llvm-svn: 147419
-
Abramo Bagnara authored
llvm-svn: 147418
-
Douglas Gregor authored
multiple, disjoint modules. There is far too much duplicating with the ObjCInterfaceDecl case here, which I'll eliminate shortly. llvm-svn: 147417
-
Douglas Gregor authored
llvm-svn: 147416
-
Douglas Gregor authored
ObjCProtocolDecl modules forward declarations properly. llvm-svn: 147415
-
Douglas Gregor authored
Don't bother rewriting an Objective-C class or protocol declaration to the module file when we've merely added a definition llvm-svn: 147414
-
Douglas Gregor authored
longer needed now that we aren't back-patching ObjCProtocolDecls. llvm-svn: 147413
-
Douglas Gregor authored
forward declarations and definitions of an Objective-C protocol are represented within a single chain of ObjCProtocolDecls. llvm-svn: 147412
-
Craig Topper authored
llvm-svn: 147411
-
Douglas Gregor authored
for Objective-C protocols, including: - Using the first declaration as the canonical declaration - Using the definition as the primary DeclContext - Making sure that all declarations have a pointer to the definition data, and that we know which declaration is the definition - Serialization support for redeclaration chains and for adding definitions to already-serialized declarations. However, note that we're not taking advantage of much of this code yet, because we're still re-using ObjCProtocolDecls. llvm-svn: 147410
-
Craig Topper authored
Fix sfence, lfence, mfence, and clflush to be able to be selected when AVX is enabled. Fix monitor and mwait to require SSE3 or AVX, previously they worked even if SSE3 was disabled. Make prefetch instructions not set the execution domain since they don't use XMM registers. llvm-svn: 147409
-
Douglas Gregor authored
separately-allocated DefinitionData structure. Introduce various functions that will help with the separation of declarations from definitions (isThisDeclarationADefinition(), hasDefinition(), getDefinition()). llvm-svn: 147408
-
Rafael Espindola authored
llvm-svn: 147407
-
Douglas Gregor authored
getCanonicalDecl() when putting ObjCProtocolDecls into a set. This is groundwork for making ObjCProtocolDecl redeclarable. llvm-svn: 147406
-
Rafael Espindola authored
take precedence over command line options. Fixes PR10113. llvm-svn: 147405
-
Benjamin Kramer authored
llvm-svn: 147404
-
Benjamin Kramer authored
PatternMatch: Introduce a matcher for instructions with the "exact" bit. Use it to simplify a few matchers. llvm-svn: 147403
-
Benjamin Kramer authored
llvm-svn: 147402
-
Rafael Espindola authored
llvm-svn: 147401
-
Rafael Espindola authored
llvm-svn: 147400
-
Elena Demikhovsky authored
The failure seen on win32, when i64 type is illegal. It happens on stage of conversion VECTOR_SHUFFLE to BUILD_VECTOR. The failure message is: llc: SelectionDAG.cpp:784: void VerifyNodeCommon(llvm::SDNode*): Assertion `(I->getValueType() == EltVT || (EltVT.isInteger() && I->getValueType().isInteger() && EltVT.bitsLE(I->getValueType()))) && "Wrong operand type!"' failed. I added a special test that checks vector shuffle on win32. llvm-svn: 147399
-
NAKAMURA Takumi authored
llvm-svn: 147395
-
Craig Topper authored
llvm-svn: 147394
-
Craig Topper authored
llvm-svn: 147393
-
Craig Topper authored
Fix typo in a SHUFPD and VSHUFPD pattern that prevented SHUFPD/VSHUFPD with a load from being selected. llvm-svn: 147392
-
- Dec 31, 2011
-
-
Nick Lewycky authored
'and' that would zero out the trailing bits, and to produce an exact shift ourselves. llvm-svn: 147391
-
Dylan Noblesmith authored
See PR11652. Trying to add this assert to setSubclassData() itself actually prevented the miscompile entirely, so it has to be here. This makes the source of the bug more obvious than the other asserts triggering later on did. llvm-svn: 147390
-
NAKAMURA Takumi authored
llvm-svn: 147388
-
Douglas Gregor authored
features needed for a particular module to be available. This allows mixed-language modules, where certain headers only work under some language variants (e.g., in C++, std.tuple might only be available in C++11 mode). llvm-svn: 147387
-
NAKAMURA Takumi authored
Mingw32 target has not supported integrated-as yet. llvm-svn: 147386
-