- Feb 07, 2009
-
-
Dale Johannesen authored
llvm-svn: 63995
-
Evan Cheng authored
Don't sink the instruction if TargetRegisterInfo::isSafeToMoveRegClassDefs doesn't think it's safe. This works around PR1911. llvm-svn: 63994
-
Dale Johannesen authored
Many targets build placeholder nodes for special operands, e.g. GlobalBaseReg on X86 and PPC for the PIC base. There's no sensible way to associate debug info with these. I've left them built with getNode calls with explicit DebugLoc::getUnknownLoc operands. I'm not too happy about this but don't see a good improvement; I considered adding a getPseudoOperand or something, but it seems to me that'll just make it harder to read. llvm-svn: 63992
-
Dale Johannesen authored
getCALLSEQ_{END,START} to permit passing no DebugLoc there. UNDEF doesn't logically have DebugLoc; add getUNDEF to encapsulate this. llvm-svn: 63978
-
- Feb 06, 2009
-
-
Dale Johannesen authored
llvm-svn: 63971
-
Dale Johannesen authored
llvm-svn: 63969
-
Bill Wendling authored
llvm-svn: 63967
-
Dale Johannesen authored
llvm-svn: 63951
-
Dan Gohman authored
SelectionDAGISel::CreateScheduler, and make it just create the scheduler. Leave running the scheduler to the higher-level code. This makes the higher-level code a little more explicit and easier to follow, and will help enable some future refactoring. llvm-svn: 63944
-
Dan Gohman authored
llvm-svn: 63941
-
Evan Cheng authored
llvm-svn: 63938
-
Dan Gohman authored
that previously included this header should include SchedulerRegistry.h instead. llvm-svn: 63937
-
Evan Cheng authored
Add TargetInstrInfo::isSafeToMoveRegisterClassDefs. It returns true if it's safe to move an instruction which defines a value in the register class. Replace pre-splitting specific IgnoreRegisterClassBarriers with this new hook. llvm-svn: 63936
-
Dan Gohman authored
that used this header to select a scheduling policy should use SchedulerRegistry.h instead (llvm-gcc and clang were updated a while ago). llvm-svn: 63934
-
Dale Johannesen authored
llvm-svn: 63909
-
Dale Johannesen authored
its corresponding getTargetNode. Lots of caller changes. llvm-svn: 63904
-
- Feb 05, 2009
-
-
Evan Cheng authored
isAsCheapAsMove instructions can have register src operands. Check if they are really re-materializable. This fixes sse.expandfft and sse.stepfft. llvm-svn: 63890
-
Dale Johannesen authored
llvm-svn: 63889
-
Dale Johannesen authored
llvm-svn: 63886
-
Evan Cheng authored
Machine LICM increases register pressure and it almost always increase code size. For now, disable it for optimizing for size. llvm-svn: 63856
-
Evan Cheng authored
llvm-svn: 63855
-
Evan Cheng authored
llvm-svn: 63854
-
Evan Cheng authored
ReMaterializeTrivialDef need to trim the live interval to the last kill if the copy kills the source register. This fixes uint64tof64.ll after ARM::MOVi is marked as isAsCheapAsAMove. llvm-svn: 63853
-
Chris Lattner authored
sure to print the value properly sext'd to the right pointer size. This fixes PR3481. llvm-svn: 63843
-
Owen Anderson authored
between call frame setup/restore points. Unfortunately, this regresses code size a bit, but at least it's correct now! llvm-svn: 63837
-
Mon P Wang authored
between a unsigned integer and signed integer. llvm-svn: 63831
-
Dale Johannesen authored
llvm-svn: 63812
-
Dale Johannesen authored
llvm-svn: 63808
-
Dale Johannesen authored
llvm-svn: 63800
-
Dale Johannesen authored
Adjust callers. llvm-svn: 63789
-
- Feb 04, 2009
-
-
Dale Johannesen authored
and llvm-gcc. llvm-svn: 63786
-
Stuart Hastings authored
llvm-svn: 63768
-
Dale Johannesen authored
Adjust the many callers of those versions. llvm-svn: 63767
-
Nate Begeman authored
target directories themselves. This also means that VMCore no longer needs to know about every target's list of intrinsics. Future work will include converting the PowerPC target to this interface as an example implementation. llvm-svn: 63765
-
Mon P Wang authored
but when legalizing the operation, we split the vector type and generate a library call whose type needs to be promoted. For example, X86 with SSE on but MMX off, a divide v2i64 will be scalarized to 2 calls to a library using i64. llvm-svn: 63760
-
Evan Cheng authored
llvm-svn: 63748
-
Stuart Hastings authored
support GraphViz, I've been using the foo->dump() facility. This patch is a minor rewrite to the SelectionDAG dump() stuff to make it a little more helpful. The existing foo->dump() functionality does not change; this patch adds foo->dumpr(). All of this is only useful when running LLVM under a debugger. llvm-svn: 63736
-
Evan Cheng authored
llvm-svn: 63729
-
Evan Cheng authored
Don't bother hoisting out a "cheap" instruction if all of its uses are PHIs. LICM "cheap" instructions are not particularly beneficial to start with. This will just end up making the copies harder to coalesce. llvm-svn: 63728
-
Evan Cheng authored
For now, only hoist re-materilizable instructions. LICM will increase register pressure. We want to avoid spilling more instructions if it's possible. llvm-svn: 63725
-