- Apr 01, 2008
-
-
Evan Cheng authored
llvm-svn: 49002
-
Nate Begeman authored
crash miscompilations. llvm-svn: 49000
-
Dan Gohman authored
not the end. llvm-svn: 48999
-
- Mar 31, 2008
-
-
Evan Cheng authored
llvm-svn: 48995
-
Dan Gohman authored
llvm-svn: 48994
-
Erick Tryzelaar authored
llvm-svn: 48982
-
Evan Cheng authored
llvm-svn: 48977
-
Evan Cheng authored
The support for remat of instructions with a register operand is hackish, to say the least. Since the register operand guaranteed to be PIC base and that it is already live at all uses, we are making sure it will not be spilled after its uses are rematerialized for both performance and correctness reasons. llvm-svn: 48976
-
Owen Anderson authored
llvm-svn: 48973
-
Nate Begeman authored
llvm-svn: 48971
-
- Mar 30, 2008
-
-
Duncan Sands authored
llvm-svn: 48967
-
Nick Lewycky authored
llvm-svn: 48965
-
Chris Lattner authored
patch by David Chisnall. llvm-svn: 48963
-
Chris Lattner authored
llvm-svn: 48961
-
- Mar 29, 2008
-
-
Evan Cheng authored
llvm-svn: 48947
-
Chris Lattner authored
when something changes, instead of moving forward. This allows us to simplify memset lowering, inserting the memset at the end of the range of stuff we're touching instead of at the start. This, in turn, allows us to make use of the addressing instructions already used in the function instead of inserting our own. For example, we now codegen: %tmp41 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 0 ; <i8*> [#uses=2] call void @llvm.memset.i64( i8* %tmp41, i8 -1, i64 8, i32 1 ) instead of: %tmp20 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 7 ; <i8*> [#uses=1] %ptroffset = getelementptr i8* %tmp20, i64 -7 ; <i8*> [#uses=1] call void @llvm.memset.i64( i8* %ptroffset, i8 -1, i64 8, i32 1 ) llvm-svn: 48940
-
Chris Lattner authored
into a memset!) faster by avoiding an allocation of an std::list node. llvm-svn: 48939
-
Chris Lattner authored
llvm-svn: 48937
-
Owen Anderson authored
Remove some unneeded code for LiveInterval joining, and fix a bug in the Phi elimination algorithm where we were accidentally reasoning about the source rather than the destination. llvm-svn: 48936
-
Dan Gohman authored
load value. This fixes PR2177. llvm-svn: 48932
-
- Mar 28, 2008
-
-
Evan Cheng authored
llvm-svn: 48922
-
Chris Lattner authored
llvm-svn: 48916
-
Duncan Sands authored
llvm-svn: 48914
-
Evan Cheng authored
llvm-svn: 48912
-
Evan Cheng authored
llvm-svn: 48911
-
Nick Lewycky authored
llvm-svn: 48910
-
Chris Lattner authored
memsets that initialize "structs of arrays" and other store sequences that are not sequential. This is still only enabled if you pass -form-memset-from-stores. The flag is not heavily tested and I haven't analyzed the perf regressions when -form-memset-from-stores is passed either, but this causes no make check regressions. llvm-svn: 48909
-
Evan Cheng authored
llvm-svn: 48908
-
- Mar 27, 2008
-
-
Duncan Sands authored
In order to handle indexed nodes I had to introduce a new constructor, and since I was there I factorized the code in the various load constructors. llvm-svn: 48894
-
Dan Gohman authored
nodes. This doesn't currently have much impact the generated code, but it does produce simpler-looking SelectionDAGs, and consequently simpler-looking ScheduleDAGs, because there are fewer spurious dependencies. In particular, CopyValueToVirtualRegister now uses the entry node as the input chain dependency for new CopyToReg nodes instead of calling getRoot and depending on the most recent memory reference. Also, rename UnorderedChains to PendingExports and pull it up from being a local variable in SelectionDAGISel::BuildSelectionDAG to being a member variable of SelectionDAGISel, so that it doesn't have to be passed around to all the places that need it. llvm-svn: 48893
-
Devang Patel authored
Increment iterator in advance. llvm-svn: 48890
-
Roman Levenstein authored
llvm-svn: 48873
-
Roman Levenstein authored
called LimitedSumOfUnscheduledPredsOfSuccs. It terminates the computation after a given treshold is reached. This new function is always faster, but brings real wins only on bigger test-cases. The old function SumOfUnscheduledPredsOfSuccs is left in-place for now and therefore a warning about an unused static function is produced. llvm-svn: 48872
-
Evan Cheng authored
llvm-svn: 48856
-
Evan Cheng authored
llvm-svn: 48855
-
Evan Cheng authored
llvm-svn: 48854
-
Evan Cheng authored
llvm-svn: 48853
-
Erick Tryzelaar authored
llvm-svn: 48851
-
Dale Johannesen authored
be relocatable. Describe why .set is needed better. llvm-svn: 48848
-
- Mar 26, 2008
-
-
Evan Cheng authored
llvm-svn: 48837
-