summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.Evan Cheng2006-10-0922-588/+665
| | | | llvm-svn: 30844
* Merging ISD::LOAD and ISD::LOADX. Added LoadSDNode to represent load nodes.Evan Cheng2006-10-093-32/+153
| | | | | | | | | | | | | | Chain and address ptr remains as operands. SrcValue, extending mode, extending VT (or rather loaded VT before extension) are now instance variables of LoadSDNode. Introduce load / store addressing modes to represent pre- and post-indexed load and store. Also added an additional operand offset that is only used in post-indexed mode (i.e. base ptr += offset after load/store). Added alignment info (not yet used) and isVolatile fields. llvm-svn: 30843
* Do error checking.Devang Patel2006-10-091-1/+8
| | | | llvm-svn: 30842
* Remove a dead var noticed by YorionChris Lattner2006-10-091-1/+0
| | | | llvm-svn: 30841
* add some tests for floating point arithmeticRafael Espindola2006-10-091-0/+29
| | | | llvm-svn: 30840
* Fix build error in gcc 3.4 and make more this generalAndrew Lenharth2006-10-091-1/+1
| | | | llvm-svn: 30839
* Use GetTemporaryDirectory. Fix http://llvm.org/bugs/show_bug.cgi?id=894Devang Patel2006-10-091-2/+15
| | | | llvm-svn: 30838
* Fix usage example.Nick Lewycky2006-10-091-1/+1
| | | | llvm-svn: 30837
* add float -> double and double -> float conversionRafael Espindola2006-10-092-0/+20
| | | | 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
* xfail this until andrew has a chance to implement the alpha TM method.Chris Lattner2006-10-091-0/+2
| | | | llvm-svn: 30833
* add a test for adds adcsRafael Espindola2006-10-091-1/+9
| | | | llvm-svn: 30832
* 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
* new testcase for PR892Chris Lattner2006-10-081-1/+29
| | | | llvm-svn: 30824
* Implement Transforms/ScalarRepl/union-pointer.ll:testChris Lattner2006-10-081-9/+13
| | | | llvm-svn: 30823
* new testcase for SROA for stuff like "union { int*, float* }".Chris Lattner2006-10-081-0/+18
| | | | llvm-svn: 30822
* 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
* Fix PR897Chris Lattner2006-10-081-0/+5
| | | | llvm-svn: 30820
* Combiner alias analysis passes Multisource (release-asserts.)Jim Laskey2006-10-071-88/+71
| | | | llvm-svn: 30818
* completely disable folding of loads into scalar sse instructions and provideChris Lattner2006-10-072-14/+61
| | | | | | | | | | a framework for doing it right. This fixes CodeGen/X86/2006-10-07-ScalarSSEMiscompile.ll. Once X86DAGToDAGISel::SelectScalarSSELoad is implemented right, this task will be done. llvm-svn: 30817
* new testcase we miscompileChris Lattner2006-10-071-0/+17
| | | | llvm-svn: 30816
* convert packed FP add/sub/mul/div to use a multiclass.Chris Lattner2006-10-071-63/+32
| | | | llvm-svn: 30815
* one multiclass now defines all 8 variants of binary-scalar-sse-fp operations.Chris Lattner2006-10-071-49/+64
| | | | llvm-svn: 30814
* Switch ADD/MUL/DIV/SUB scalarsse fp ops to a multiclassChris Lattner2006-10-071-53/+27
| | | | llvm-svn: 30813
* Random acts of shrinkageChris Lattner2006-10-071-34/+24
| | | | llvm-svn: 30812
* Convert pand/por/pxor to use multiclassChris Lattner2006-10-071-25/+4
| | | | llvm-svn: 30811
* Convert some more instructions over to use a new multiclass.Chris Lattner2006-10-071-27/+19
| | | | | | Fix a bug where the asmstring for PSUBQrm was wrong. llvm-svn: 30810
* Fix a bug where PADDQrm printed paddd instead of paddq.Chris Lattner2006-10-071-1/+1
| | | | llvm-svn: 30809
* Add multiclass for SSE2 instructions that correspond to simple binops.Chris Lattner2006-10-071-56/+35
| | | | llvm-svn: 30808
* rename:Chris Lattner2006-10-071-40/+40
| | | | | | | | | PDI_binop_rm -> PDI_binop_rm_int PDI_binop_rmi -> PDI_binop_rmi_int to make it clear that these are for use with intrinsics. llvm-svn: 30807
* Convert saturating PADD/PSUB's to use a multiclassChris Lattner2006-10-071-72/+10
| | | | llvm-svn: 30806
* Convert PAVG*, PMADDWD, and PMUL* to use multiclasses.Chris Lattner2006-10-071-84/+39
| | | | llvm-svn: 30805
* Fix typo in packsswb instr definition, where the load had the wrong type.Chris Lattner2006-10-071-15/+1
| | | | | | This allows us to use the multiclass for other packs. llvm-svn: 30804
* implement FUITOS and FUITODRafael Espindola2006-10-073-3/+48
| | | | llvm-svn: 30803
* implement FLDDRafael Espindola2006-10-073-6/+19
| | | | llvm-svn: 30802
* implement fadds, faddd, fmuls and fmuldRafael Espindola2006-10-071-0/+18
| | | | llvm-svn: 30801
* handle pmin/pmax with multiclassesChris Lattner2006-10-071-50/+10
| | | | llvm-svn: 30800
* regenerateChris Lattner2006-10-072-106/+108
| | | | llvm-svn: 30799
* Bugfix: this allows multiclasses to have default arguments.Chris Lattner2006-10-071-1/+2
| | | | llvm-svn: 30798
* simplify pack and shift intrinsics with multiclassesChris Lattner2006-10-071-137/+46
| | | | llvm-svn: 30797
* Use a multiclass to simplify 'SSE2 Integer comparison'Chris Lattner2006-10-071-61/+19
| | | | llvm-svn: 30796
* move class defns close to uses to make it easier to readChris Lattner2006-10-071-17/+18
| | | | llvm-svn: 30795
* simplify horizontal op definitionsChris Lattner2006-10-071-26/+21
| | | | llvm-svn: 30794
* remove more unneeded type infoChris Lattner2006-10-071-51/+51
| | | | llvm-svn: 30793
OpenPOWER on IntegriCloud