- Aug 15, 2007
-
-
Evan Cheng authored
If the source of a move is in spill slot, the reload may be folded to essentially a load from stack slot. It's ok to mark the stack slot value as available for reuse. But it should not be clobbered since the destination of the move is live. llvm-svn: 41109
-
Evan Cheng authored
- If the defs of a spilled rematerializable MI are dead after the spill store is deleted, delete the def MI as well. llvm-svn: 41086
-
Evan Cheng authored
Fix for PR1596: AdjustCopiesBackFrom() should conservatively check if any of its sub-registers may overlap with the interval of the copy that's being coalesced. llvm-svn: 41084
-
- Aug 14, 2007
-
-
Evan Cheng authored
If a MI's def is remat as well as spilled, and the store is later deemed dead, mark the def operand as isDead. llvm-svn: 41083
-
Evan Cheng authored
no more uses within the MBB and the spilled value isn't live out of the MBB. Then it's safe to delete the spill store. llvm-svn: 41069
-
Evan Cheng authored
spilled value is available for reuse. llvm-svn: 41067
-
Evan Cheng authored
llvm-svn: 41064
-
Evan Cheng authored
Re-implement trivial rematerialization. This allows def MIs whose live intervals that are coalesced to be rematerialized. llvm-svn: 41060
-
- Aug 13, 2007
-
-
Evan Cheng authored
llvm-svn: 41043
-
- Aug 12, 2007
-
-
Evan Cheng authored
llvm-svn: 41024
-
- Aug 11, 2007
-
-
Evan Cheng authored
llvm-svn: 41016
-
- Aug 10, 2007
-
-
Christopher Lamb authored
Move isSubRegOf into MRegisterInfo. Fix a missed move elimination in LowerSubregs and add more debugging output there. llvm-svn: 41005
-
Dan Gohman authored
use an intptr ValueType instead of i32 for the index operand in getCopyToParts. llvm-svn: 40987
-
Rafael Espindola authored
llvm-svn: 40986
-
Chris Lattner authored
llvm-svn: 40976
-
Evan Cheng authored
llvm-svn: 40975
-
- Aug 09, 2007
-
-
Dale Johannesen authored
llvm-svn: 40965
-
Dale Johannesen authored
(constants are still not handled). Adds ConvertActions to control fp-to-fp conversions (these are currently defaulted for all other targets, so no changes there). llvm-svn: 40958
-
Scott Michel authored
to do so. llvm-svn: 40955
-
- Aug 08, 2007
-
-
Evan Cheng authored
llvm-svn: 40925
-
Evan Cheng authored
llvm-svn: 40921
-
Evan Cheng authored
- Fix some minor bugs related to special markers on val# def. ~0U means undefined, ~1U means dead val#. llvm-svn: 40916
-
Evan Cheng authored
llvm-svn: 40914
-
Evan Cheng authored
kill instruction #, and source register number (iff the value# is defined by a copy). - Now def instruction # is set for every value#, not just for copy defined ones. - Update some outdated code related inactive live ranges. - Kill info not yet set. That's next patch. llvm-svn: 40913
-
- Aug 07, 2007
-
-
David Greene authored
Add a missing forward declaration. llvm-svn: 40896
-
- Aug 06, 2007
-
-
Chris Lattner authored
introduced by chandler's patch. llvm-svn: 40864
-
Christopher Lamb authored
llvm-svn: 40863
-
- Aug 05, 2007
-
-
Reid Spencer authored
llvm-svn: 40854
-
Chris Lattner authored
llvm-svn: 40843
-
- Aug 04, 2007
-
-
Chandler Carruth authored
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported. llvm-svn: 40807
-
- Aug 02, 2007
-
-
Dan Gohman authored
llvm-svn: 40757
-
Chris Lattner authored
llvm-svn: 40748
-
Evan Cheng authored
llvm-svn: 40722
-
Scott Michel authored
llvm-svn: 40712
-
Evan Cheng authored
simply specify them as results and let scheduledag handle them. That is, instead of SDOperand Flag = DAG.getTargetNode(Opc, MVT::i32, MVT::Flag, ...) SDOperand Result = DAG.getCopyFromReg(Chain, X86::EAX, MVT::i32, Flag) Just write: SDOperand Result = DAG.getTargetNode(Opc, MVT::i32, MVT::i32, ...) And let scheduledag emit the move from X86::EAX to a virtual register. llvm-svn: 40710
-
- Aug 01, 2007
-
-
Evan Cheng authored
llvm-svn: 40688
-
Lauro Ramos Venancio authored
llvm-svn: 40682
-
David Greene authored
New CallInst interface to address GLIBCXX_DEBUG errors caused by indexing an empty std::vector. Updates to all clients. llvm-svn: 40660
-
Evan Cheng authored
llvm-svn: 40654
-
- Jul 30, 2007
-
-
Scott Michel authored
- Fixed an existing unexpanded tab. llvm-svn: 40605
-