- Oct 02, 2010
-
-
Jakob Stoklund Olesen authored
LiveInterval::MergeValueNumberInto instead of trying to extend LiveRanges and getting it wrong. This fixed PR8249 where a valno with a multi-segment live range was defined by an identity copy created by RemoveCopyByCommutingDef. Some of the live segments disappeared. llvm-svn: 115385
-
Jakob Stoklund Olesen authored
llvm-svn: 115384
-
Devang Patel authored
llvm-svn: 115378
-
Jim Grosbach authored
llvm-svn: 115377
-
Owen Anderson authored
Thread the determination of branch prediction hit rates back through the if-conversion heuristic APIs. For now, stick with a constant estimate of 90% (branch predictors are good!), but we might find that we want to provide more nuanced estimates in the future. llvm-svn: 115364
-
- Oct 01, 2010
-
-
Devang Patel authored
Fix code gen crash reported in PR 8235. We still lose debug info for the unused argument here. This is a known limitation recorded debuginfo-tests/trunk/dbg-declare2.ll function 'f6' test case. llvm-svn: 115323
-
Gabor Greif authored
llvm-svn: 115310
-
Chris Lattner authored
llvm-svn: 115300
-
-
Dale Johannesen authored
The x86_mmx type is used for MMX intrinsics, parameters and return values where these use MMX registers, and is also supported in load, store, and bitcast. Only the above operations generate MMX instructions, and optimizations do not operate on or produce MMX intrinsics. MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into smaller pieces. Optimizations may occur on these forms and the result casted back to x86_mmx, provided the result feeds into a previous existing x86_mmx operation. The point of all this is prevent optimizations from introducing MMX operations, which is unsafe due to the EMMS problem. llvm-svn: 115243
-
- Sep 30, 2010
-
-
Jakob Stoklund Olesen authored
edited during emission. If the basic block ends in a switch that gets lowered to a jump table, any phis at the default edge were getting updated wrong. The jump table data structure keeps a pointer to the header blocks that wasn't getting updated after the MBB is split. This bug was exposed on 32-bit Linux when disabling critical edge splitting in codegen prepare. The fix is to uipdate stale MBB pointers whenever a block is split during emission. llvm-svn: 115191
-
Devang Patel authored
llvm-svn: 115102
-
Evan Cheng authored
pipeline forwarding path. llvm-svn: 115098
-
Benjamin Kramer authored
llvm-svn: 115097
-
- Sep 29, 2010
-
-
Devang Patel authored
llvm-svn: 115089
-
Owen Anderson authored
UnreachableBlockElim could incorrectly return false when it had not modified the CFG, but HAD modified some PHI nodes. Fixes PR8174. llvm-svn: 115083
-
Devang Patel authored
llvm-svn: 115067
-
Bill Wendling authored
llvm-svn: 115002
-
Oscar Fuentes authored
llvm-svn: 114999
-
Bill Wendling authored
knows about them. This is not necessary on 10.6 and later. llvm-svn: 114997
-
- Sep 28, 2010
-
-
Owen Anderson authored
estimates. llvm-svn: 114981
-
Owen Anderson authored
Rather than having arbitrary cutoffs, actually try to cost model the conversion. For now, the constants are tuned to more or less match our existing behavior, but these will be changed to reflect realistic values as this work proceeds. llvm-svn: 114973
-
Devang Patel authored
llvm-svn: 114969
-
Devang Patel authored
llvm-svn: 114920
-
- Sep 27, 2010
-
-
Dale Johannesen authored
and asserts. llvm-svn: 114843
-
Chris Lattner authored
support aligned comm. Detect when compiling for 10.4 and don't emit an alignment for comm. THis will hopefully fix PR8198. llvm-svn: 114817
-
- Sep 26, 2010
-
-
Lang Hames authored
Fixed some tests to avoid LiveIntervals::getInstructionFromIndex(..) overhead where possible. Thanks to Jakob for the suggestions. llvm-svn: 114798
-
- Sep 25, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 114794
-
Lang Hames authored
Removed VNInfo::isDefAccurate(). Def "accuracy" can be checked by testing whether LiveIntervals::getInstructionFromIndex(def) returns NULL. llvm-svn: 114791
-
Jakob Stoklund Olesen authored
llvm-svn: 114779
-
Jakob Stoklund Olesen authored
and it will be removed shortly. llvm-svn: 114778
-
Jakob Stoklund Olesen authored
llvm-svn: 114776
-
John Thompson authored
llvm-svn: 114767
-
- Sep 24, 2010
-
-
Michael J. Spencer authored
llvm-svn: 114750
-
Nicolas Geoffray authored
llvm-svn: 114736
-
- Sep 23, 2010
-
-
Evan Cheng authored
Revert 114634 for now since buildbot claim it broke Clang self-hosting. I doubt it but it's possible it's exposing another bug somewhere. llvm-svn: 114681
-
Oscar Fuentes authored
Patch by Nathan Jeffords! llvm-svn: 114661
-
Evan Cheng authored
llvm-svn: 114634
-
Evan Cheng authored
close to their sources to facilitate coalescing. llvm-svn: 114631
-
Evan Cheng authored
when the unconditional branch destination is the fallthrough block. The canonicalization makes it easier to allow optimizations on DAGs to invert conditional branches. The branch folding pass (and AnalyzeBranch) will clean up the unnecessary unconditional branches later. This is one of the patches leading up to disabling codegen prepare critical edge splitting. llvm-svn: 114630
-