- Jan 11, 2008
-
-
Chris Lattner authored
llvm-svn: 45870
-
Chris Lattner authored
llvm-svn: 45869
-
Arnold Schwaighofer authored
Actually were not riding any arguments. Sadly there is no semantic spell checker that is going to safe you from such a mistake. llvm-svn: 45868
-
Arnold Schwaighofer authored
commit all arguments where moved to the stack slot where they would reside on a normal function call before the lowering to the tail call stack slot. This was done to prevent arguments overwriting each other. Now only arguments sourcing from a FORMAL_ARGUMENTS node or a CopyFromReg node with virtual register (could also be a caller's argument) are lowered indirectly. --This line, and those below, will be ignored-- M X86/X86ISelLowering.cpp M X86/README.txt llvm-svn: 45867
-
Arnold Schwaighofer authored
llvm-svn: 45865
-
Evan Cheng authored
llvm-svn: 45864
-
Evan Cheng authored
llvm-svn: 45861
-
Chris Lattner authored
llvm-svn: 45860
-
Chris Lattner authored
llvm-svn: 45859
-
Chris Lattner authored
llvm-svn: 45854
-
Evan Cheng authored
llvm-svn: 45852
-
Scott Michel authored
- Cleaned up custom load/store logic, common code is now shared [see note below], cleaned up address modes - More test cases: various intrinsics, structure element access (load/store test), updated target data strings, indirect function calls. Note: This patch contains a refactoring of the LoadSDNode and StoreSDNode structures: they now share a common base class, LSBaseSDNode, that provides an interface to their common functionality. There is some hackery to access the proper operand depending on the derived class; otherwise, to do a proper job would require finding and rearranging the SDOperands sent to StoreSDNode's constructor. The current refactor errs on the side of being conservatively and backwardly compatible while providing functionality that reduces redundant code for targets where loads and stores are custom-lowered. llvm-svn: 45851
-
Dale Johannesen authored
llvm-svn: 45849
-
Dale Johannesen authored
Cosmetic changes to spacing to match gcc (some dejagnu tests actually care). llvm-svn: 45848
-
Chris Lattner authored
both work right according to the new flags. This removes the TII::isReallySideEffectFree predicate, and adds TII::isInvariantLoad. It removes NeverHasSideEffects+MayHaveSideEffects and adds UnmodeledSideEffects as machine instr flags. Now the clients can decide everything they need. I think isRematerializable can be implemented in terms of the flags we have now, though I will let others tackle that. llvm-svn: 45843
-
- Jan 10, 2008
-
-
Chris Lattner authored
llvm-svn: 45838
-
Chris Lattner authored
llvm-svn: 45837
-
Duncan Sands authored
Likewise fix up a bunch of other libcalls. While there I remove NEG_F32 and NEG_F64 since they are not used anywhere. This fixes 9 Ada ACATS failures. llvm-svn: 45833
-
Chris Lattner authored
x86 backend where instructions were not marked maystore/mayload, and perf issues where instructions were not marked neverHasSideEffects. It would be really nice if we could write patterns for copy instructions. I have audited all the x86 instructions down to MOVDQAmr. The flags on others and on other targets are probably not right in all cases, but no clients currently use this info that are enabled by default. llvm-svn: 45829
-
Chris Lattner authored
llvm-svn: 45826
-
Chris Lattner authored
llvm-svn: 45825
-
Chris Lattner authored
inferred from the instr patterns. llvm-svn: 45824
-
Chris Lattner authored
llvm-svn: 45821
-
Chris Lattner authored
instructions (with patterns) that load memory marked, for example. llvm-svn: 45818
-
Chris Lattner authored
or being side-effect free. llvm-svn: 45816
-
Evan Cheng authored
llvm-svn: 45813
-
Dale Johannesen authored
because assembler/linker can't cope with weak absolutes. PR 1880. llvm-svn: 45811
-
Evan Cheng authored
Do not use the stack pointer directly, issue a copyfromreg instead. Otherwise we can end up with something like ADD32ri %esp, x which two-address pass won't like. llvm-svn: 45798
-
rdar://5676945Chris Lattner authored
than hardware supported type will be scalarized, so we can infer their alignment from that info. We now codegen pr1845 into: _boolVectorSelect: lbz r2, 0(r3) stb r2, -16(r1) blr llvm-svn: 45796
-
Evan Cheng authored
llvm-svn: 45792
-
- Jan 09, 2008
-
-
Chris Lattner authored
llvm-svn: 45768
-
Chris Lattner authored
llvm-svn: 45766
-
- Jan 08, 2008
-
-
Duncan Sands authored
on 64-bit builds. Analysis and original patch by Török Edwin. Code audit found another place with the same problem, also fixed here. llvm-svn: 45746
-
Chris Lattner authored
the code generated is not wonderful. This turns a miscompilation into a code quality bug (noted in the ppc readme). This fixes PR642, which is over 2 years old (!). Nate, please review this. llvm-svn: 45742
-
Evan Cheng authored
llvm-svn: 45734
-
Evan Cheng authored
llvm-svn: 45733
-
Bill Wendling authored
llvm-svn: 45731
-
Evan Cheng authored
llvm-svn: 45727
-
Chris Lattner authored
llvm-svn: 45726
-
Evan Cheng authored
llvm-svn: 45725
-