summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* mark adjcallstack up/down as clobbering and using the SPChris Lattner2006-10-121-2/+2
| | | | llvm-svn: 30908
* Move the Imp tblgen class from the X86 backend to common code.Chris Lattner2006-10-122-5/+7
| | | | llvm-svn: 30907
* restore my previous patch, now that the X86 backend bug has been fixed:Chris Lattner2006-10-121-17/+32
| | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20061009/038518.html llvm-svn: 30906
* Mark ADJCALLSTACKUP/DOWN as clobbering ESP so that virtregmap will noticeChris Lattner2006-10-121-2/+6
| | | | | | that it can't assume ESP is unmodified across the instrs. llvm-svn: 30905
* D'oh - need to use the rigth kind of store.Jim Laskey2006-10-121-3/+6
| | | | llvm-svn: 30903
* Backing out Chris' last commit. It's breaking llvm-gcc bootstrapping.Evan Cheng2006-10-121-32/+17
| | | | | | | | | | | | | It's turning: movl -24(%ebp), %esp subl $16, %esp movl -24(%ebp), %ecx into movl -24(%ebp), %esp subl $16, %esp movl %esp, (%esp) llvm-svn: 30902
* fix compilation failure of smg2000Chris Lattner2006-10-121-1/+1
| | | | llvm-svn: 30900
* If we see a load from a stack slot into a physreg, consider it as providingChris Lattner2006-10-121-17/+32
| | | | | | the stack slot. This fixes PR943. llvm-svn: 30898
* Replace custom dispatch code with two uses of InstVisitor. ImprovesNick Lewycky2006-10-121-93/+113
| | | | | | compile-time performance. llvm-svn: 30896
* Fold "zero extending vector loads" now that evan added the chain manip stuff.Chris Lattner2006-10-111-5/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This compiles both tests in X86/vec_ss_load_fold.ll into: _test1: movss 4(%esp), %xmm0 subss LCPI1_0, %xmm0 mulss LCPI1_1, %xmm0 minss LCPI1_2, %xmm0 xorps %xmm1, %xmm1 maxss %xmm1, %xmm0 cvttss2si %xmm0, %eax andl $65535, %eax ret instead of: _test1: movss LCPI1_0, %xmm0 movss 4(%esp), %xmm1 subss %xmm0, %xmm1 movss LCPI1_1, %xmm0 mulss %xmm0, %xmm1 movss LCPI1_2, %xmm0 minss %xmm0, %xmm1 xorps %xmm0, %xmm0 maxss %xmm0, %xmm1 cvttss2si %xmm1, %eax andl $65535, %eax ret llvm-svn: 30894
* ComplexPatterns sse_load_f32 and sse_load_f64 returns in / out chain operands.Evan Cheng2006-10-112-9/+14
| | | | llvm-svn: 30892
* Add properties to ComplexPattern.Evan Cheng2006-10-116-13/+16
| | | | llvm-svn: 30891
* Alias analysis of TRUNCSTORE.Jim Laskey2006-10-111-1/+28
| | | | llvm-svn: 30889
* TypoJim Laskey2006-10-111-1/+1
| | | | llvm-svn: 30884
* Handle aliasing of loadext.Jim Laskey2006-10-111-15/+19
| | | | llvm-svn: 30883
* Reduce the amount of state in the lowering code and drop old pattern ISel ↵Andrew Lenharth2006-10-113-28/+27
| | | | | | functions llvm-svn: 30881
* Fix regression in combiner alias analysis.Jim Laskey2006-10-111-22/+33
| | | | llvm-svn: 30880
* Naming consistency.Evan Cheng2006-10-117-34/+34
| | | | llvm-svn: 30878
* Use cute tblgen tricks to make zap handling more powerful. Specifically,Chris Lattner2006-10-112-21/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | when the dag combiner simplifies an and mask, notice this and allow those bits to be missing from the zap mask. This compiles Alpha/zapnot4.ll into: sll $16,3,$0 zapnot $0,3,$0 ret $31,($26),1 instead of: ldah $0,1($31) lda $0,-8($0) sll $16,3,$1 and $1,$0,$0 ret $31,($26),1 It would be *really* nice to replace the hunk of code in the AlphaISelDAGToDAG.cpp file that matches (and (srl (x, C), c2) into (SRL (ZAPNOTi)) with a similar pattern, but I've spent enough time poking at alpha. Make andrew will do this. llvm-svn: 30875
* Jimptables working again on alpha.Andrew Lenharth2006-10-119-30/+26
| | | | | | As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff. llvm-svn: 30873
* Remove dead/redundant instructions. These are handled by ZAPNOTiChris Lattner2006-10-111-6/+1
| | | | llvm-svn: 30872
* add two helper methods.Chris Lattner2006-10-111-1/+90
| | | | llvm-svn: 30869
* This entry is done. switched to the gcc way of doing things.Andrew Lenharth2006-10-111-150/+0
| | | | llvm-svn: 30867
* FindModifiedNodeSlot needs to add LoadSDNode ivars to create proper ↵Evan Cheng2006-10-111-0/+9
| | | | | | SelectionDAGCSEMap ID. llvm-svn: 30866
* This has apparently been fixedChris Lattner2006-10-111-30/+0
| | | | llvm-svn: 30864
* uint <-> double conversionRafael Espindola2006-10-102-0/+26
| | | | llvm-svn: 30862
* Also update getNodeLabel for LoadSDNode.Evan Cheng2006-10-101-0/+21
| | | | llvm-svn: 30861
* SDNode::dump should also print out extension type and VT.Evan Cheng2006-10-101-0/+21
| | | | llvm-svn: 30860
* add fp subRafael Espindola2006-10-101-0/+8
| | | | llvm-svn: 30859
* add double <-> int conversionRafael Espindola2006-10-102-0/+26
| | | | llvm-svn: 30858
* Fix another bug in extload promotion.Chris Lattner2006-10-101-1/+2
| | | | llvm-svn: 30857
* compare doublesRafael Espindola2006-10-102-2/+6
| | | | llvm-svn: 30856
* initial support for fp compares. Unordered compares not implemented yetRafael Espindola2006-10-102-11/+49
| | | | llvm-svn: 30854
* Fix a bug introduced by my LOAD/LOADX changes.Evan Cheng2006-10-101-2/+4
| | | | llvm-svn: 30853
* More isel time load folding checking for nodes that produce flag values.Evan Cheng2006-10-101-6/+57
| | | | | | See comment in CanBeFoldedBy() for detailed explanation. llvm-svn: 30851
* Don't go too crazy with these AddComplexity. Try matching shufps with loadEvan Cheng2006-10-091-8/+19
| | | | | | folding first. llvm-svn: 30848
* Don't convert to MOVLP if using shufps etc. may allow load folding.Evan Cheng2006-10-091-2/+6
| | | | llvm-svn: 30847
* Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.Evan Cheng2006-10-0922-588/+665
| | | | llvm-svn: 30844
* add float -> double and double -> float conversionRafael Espindola2006-10-091-0/+5
| | | | llvm-svn: 30835
* Fix PR886:Reid Spencer2006-10-094-2878/+3894
| | | | | | | | | | The result of yyparse() was not being checked. When YYERROR or YYABORT is called it causes yyparse() to return 1 to indicate the error. The code was silently ignoring this situation because it previously expected either an exception or a null ParserResult to indicate an error. The patch corrects this situation. llvm-svn: 30834
* Fix a bug pointed out by Zhongxing XuChris Lattner2006-10-091-1/+1
| | | | llvm-svn: 30831
* add ADDS and ADCSRafael Espindola2006-10-091-0/+8
| | | | llvm-svn: 30830
* expand ISD::SELECTRafael Espindola2006-10-091-0/+2
| | | | llvm-svn: 30829
* add a noteRafael Espindola2006-10-091-0/+14
| | | | llvm-svn: 30828
* expand ISD::EXTLOADRafael Espindola2006-10-091-0/+2
| | | | llvm-svn: 30827
* most ARM targets are little endianRafael Espindola2006-10-091-1/+1
| | | | llvm-svn: 30826
* Implement SROA of unions with mixed pointers/integers in them. This implementsChris Lattner2006-10-081-10/+16
| | | | | | PR892 and Transforms/ScalarRepl/union-pointer.ll:test2 llvm-svn: 30825
* Implement Transforms/ScalarRepl/union-pointer.ll:testChris Lattner2006-10-081-9/+13
| | | | llvm-svn: 30823
* Eliminate more token factors by taking advantage of transitivity:Chris Lattner2006-10-081-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if TF depends on A and B, and A depends on B, TF just needs to depend on A. With Jim's alias-analysis stuff enabled, this compiles the testcase in PR892 into: __Z4test3Val: subl $44, %esp call L__Z3foov$stub movl %edx, 28(%esp) movl %eax, 32(%esp) movl %eax, 24(%esp) movl %edx, 36(%esp) movl 52(%esp), %ecx movl %ecx, 4(%esp) movl %eax, 8(%esp) movl %edx, 12(%esp) movl 48(%esp), %eax movl %eax, (%esp) call L__Z3bar3ValS_$stub addl $44, %esp ret instead of: __Z4test3Val: subl $44, %esp call L__Z3foov$stub movl %eax, 24(%esp) movl %edx, 28(%esp) movl 24(%esp), %eax movl %eax, 32(%esp) movl 28(%esp), %eax movl %eax, 36(%esp) movl 32(%esp), %eax movl 36(%esp), %ecx movl 52(%esp), %edx movl %edx, 4(%esp) movl %eax, 8(%esp) movl %ecx, 12(%esp) movl 48(%esp), %eax movl %eax, (%esp) call L__Z3bar3ValS_$stub addl $44, %esp ret llvm-svn: 30821
* Combiner alias analysis passes Multisource (release-asserts.)Jim Laskey2006-10-071-88/+71
| | | | llvm-svn: 30818
OpenPOWER on IntegriCloud