- Aug 13, 2012
-
-
Craig Topper authored
Tidy up VSETCC lowering code a bit more by adding an llvm_unreachable and putting an a couple if conditions in a better order. llvm-svn: 161746
-
Craig Topper authored
llvm-svn: 161745
-
Craig Topper authored
llvm-svn: 161743
-
Craig Topper authored
Remove the LowerMMXCONCAT_VECTORS function. It could never execute because there are no legal 64-bit vector types that could be used as inputs to a 128-bit concat_vectors. Remove a target specific SDNode and its patterns that become unused as a result. llvm-svn: 161742
-
- Aug 12, 2012
-
-
Nick Lewycky authored
of the range. Fixes PR13581! llvm-svn: 161739
-
Craig Topper authored
llvm-svn: 161738
-
Craig Topper authored
Remove unnecessary call to setOperationAction for SETCC of v2i64 under SSE42. It was already called for the same under SSE2. llvm-svn: 161737
-
Arnold Schwaighofer authored
architecture It broke MultiSource/Applications/JM/ldecod/ldecod on armv7 thumb O0 g and armv7 thumb O3. llvm-svn: 161736
-
Craig Topper authored
llvm-svn: 161735
-
Craig Topper authored
llvm-svn: 161734
-
Craig Topper authored
Use MVT.isXBitVector instead of EVT.isXBitVector when setting up operation actions. Compiles to smaller code. llvm-svn: 161733
-
Michael Liao authored
- FCMOV only supports a subset of X86 conditions. Skip boolean simplification if X86 condition is not valid for FCMOV. - add a minimal test case for PR13577. llvm-svn: 161732
-
Craig Topper authored
Move setOperationAction for CONCAT_VECTORS for 256-bit vectors into loop since all 256-bit types are supported. llvm-svn: 161730
-
- Aug 11, 2012
-
-
Benjamin Kramer authored
llvm-svn: 161729
-
Benjamin Kramer authored
This is common e.g. when doing rip-relative addressing on x86_64. llvm-svn: 161728
-
Craig Topper authored
llvm-svn: 161727
-
Craig Topper authored
llvm-svn: 161726
-
Craig Topper authored
Add a couple default: llvm_unreachable() to some switch statements. Fix a bad message in an existing llvm_unreachable. llvm-svn: 161725
-
Manman Ren authored
FeatureFastUAMem for Nehalem, Westmere and Sandy Bridge. FeatureFastUAMem is already on if we pass in nehalem or westmere as a command argument. rdar: 7252306 llvm-svn: 161717
-
Jakob Stoklund Olesen authored
Detect when there is not enough available ILP, so if-conversion can't speculate instructions for free. Compute the lengthening of the critical path when inserting a select instruction that depends on the condition as well as both sides of the if. Reject conversions that would stretch the critical path by more than half a mispredict penalty. llvm-svn: 161713
-
Jakob Stoklund Olesen authored
llvm-svn: 161712
-
Jakob Stoklund Olesen authored
Trace::getResourceLength() computes the number of cycles required to execute the trace when ignoring data dependencies. The number can be compared to the critical path to estimate the trace ILP. Trace::getPHIDepth() computes the data dependency depth of a PHI in a trace successor that isn't necessarily part of the trace. llvm-svn: 161711
-
- Aug 10, 2012
-
-
Eli Friedman authored
landingpad. Enforce it in the verifier, and fix the regression tests to match. llvm-svn: 161697
-
Manman Ren authored
This change is to be enabled in clang. rdar://9877866 PR://13350 llvm-svn: 161693
-
Jakob Stoklund Olesen authored
They identify the PHI predecessors in both diamonds and triangles. llvm-svn: 161689
-
Jakob Stoklund Olesen authored
When a trace ends with a back-edge, include PHIs in the loop header in the height computations. This makes the critical path through a loop more accurate by including the latencies of the last instructions in the loop. llvm-svn: 161688
-
Michael Liao authored
- if a boolean test (X86ISD::CMP or X86ISD:SUB) checks a boolean value generated from X86ISD::SETCC, try to simplify the boolean value generation and checking by reusing the original EFLAGS with proper condition code - add hooks to X86 specific SETCC/BRCOND/CMOV, the major 3 places consuming EFLAGS part of patches fixing PR12312 llvm-svn: 161687
-
Rafael Espindola authored
llvm-svn: 161668
-
Michael Liao authored
llvm-svn: 161664
-
Rafael Espindola authored
llvm-svn: 161663
-
Joerg Sonnenberger authored
includes both. Deal with feof and ferror potentially being macros. llvm-svn: 161658
-
Joerg Sonnenberger authored
llvm-svn: 161657
-
Pete Cooper authored
Fix crash when when do lto on Bullet. Dynamic GEPs in SROA were incorrectly being applied to all accesses to an alloca, not just the ones which read from the GEP. Thanks to Evan for reducing the test. rdar://11861001 llvm-svn: 161654
-
Jakob Stoklund Olesen authored
When replacing Old with New, it can happen that New is already a successor. Add the old and new edge weights instead of creating a duplicate edge. llvm-svn: 161653
-
Rafael Espindola authored
switched from a bytecode+bzip2 to the current bitcode. llvm-svn: 161651
-
Jakob Stoklund Olesen authored
No changes to these patches, MRI needed to be notified when changing uses into defs and vice versa. llvm-svn: 161644
-
Jakob Stoklund Olesen authored
This was the cause of the buildbot failures. llvm-svn: 161643
-
Chad Rosier authored
This new attribute is intended to be used by the backend to determine how the inline asm string should be parsed/printed. This patch adds the ia_nsdialect attribute and also adds a test case to ensure the IR is correctly parsed, but there is no functional change at this time. The standard dialect is assumed to be AT&T. Therefore, this attribute should only be added to MS-style inline assembly statements, which use the Intel dialect. If we ever support more dialects we'll need to add additional state to the attribute. llvm-svn: 161641
-
Jakob Stoklund Olesen authored
These commits broke a number of buildbots. llvm-svn: 161640
-
Jakob Stoklund Olesen authored
This makes it possible to speed up def_iterator by stopping at the first use. This makes def_empty() and getUniqueVRegDef() much faster when there are many uses. In a +Asserts build, LiveVariables is 100x faster in one case because getVRegDef() has an assertion that would scan to the end of a def_iterator chain. Spill weight calculation is significantly faster (300x in one case) because isTriviallyReMaterializable() calls MRI->isConstantPhysReg(%RIP) which calls def_empty(%RIP). llvm-svn: 161634
-