| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Codegen (Reg|imm)+&GV as an LEA, because we cannot put it into the immediate ↵ | Chris Lattner | 2005-01-09 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | field of an ADDri (due to current restrictions on MachineOperand :( ). This allows us to generate: leal Data+16000, %edx instead of: movl $Data, %edx addl $16000, %edx llvm-svn: 19420 | ||||
| * | Add a simple transformation. This allows us to compile one of the inner | Chris Lattner | 2005-01-09 | 1 | -0/+8 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | loops in stepanov to this: .LBB_Z5test0PdS__2: # no_exit.1 fldl data(,%eax,8) fldl 24(%esp) faddp %st(1) fstl 24(%esp) incl %eax cmpl $2000, %eax fstpl 16(%esp) #FP_REG_KILL jl .LBB_Z5test0PdS__2 instead of this: .LBB_Z5test0PdS__2: # no_exit.1 fldl data(,%eax,8) fldl 24(%esp) faddp %st(1) fstl 24(%esp) incl %eax movl $data, %ecx movl %ecx, %edx addl $16000, %edx subl %ecx, %edx movl %edx, %ecx sarl $2, %ecx shrl $29, %ecx addl %ecx, %edx sarl $3, %edx cmpl %edx, %eax fstpl 16(%esp) #FP_REG_KILL jl .LBB_Z5test0PdS__2 The old instruction selector produced: .LBB_Z5test0PdS__2: # no_exit.1 fldl 24(%esp) faddl data(,%eax,8) fstl 24(%esp) movl %eax, %ecx incl %ecx incl %eax leal data+16000, %edx movl $data, %edi subl %edi, %edx movl %edx, %edi sarl $2, %edi shrl $29, %edi addl %edi, %edx sarl $3, %edx cmpl %edx, %ecx fstpl 16(%esp) #FP_REG_KILL jl .LBB_Z5test0PdS__2 # no_exit.1 Which is even worse! llvm-svn: 19419 | ||||
| * | Fix copy and pasto's for FP -> Int. This fixes fldry | Chris Lattner | 2005-01-09 | 1 | -2/+2 |
| | | | | | llvm-svn: 19418 | ||||
| * | Fix a bug legalizing call instructions (make sure to remember all result | Chris Lattner | 2005-01-09 | 1 | -16/+10 |
| | | | | | | | values), and eliminate some switch statements. llvm-svn: 19417 | ||||
| * | Fix a minor bug legalizing dynamic_stackalloc. This allows us to compile | Chris Lattner | 2005-01-09 | 1 | -0/+2 |
| | | | | | | | | | std::__pad<wchar_t, std::char_traits<wchar_t> >::_S_pad(std::ios_base&, wchar_t, wchar_t*, wchar_t const*, int, int, bool) from libstdc++ llvm-svn: 19416 | ||||
| * | Teach legalize to deal with DYNAMIC_STACKALLOC (aka a dynamic llvm alloca) | Chris Lattner | 2005-01-09 | 1 | -1/+16 |
| | | | | | llvm-svn: 19415 | ||||
| * | Initial implementation of FP->INT and INT->FP casts | Chris Lattner | 2005-01-09 | 1 | -3/+220 |
| | | | | | | | Also, fix zero_extend from bool to i8, which fixes Shootout/objinst. llvm-svn: 19414 | ||||
| * | Get lib/Analysis/DataStructure to compile with VC++ | Jeff Cohen | 2005-01-09 | 1 | -1/+2 |
| | | | | | llvm-svn: 19412 | ||||
| * | Fix a subtle bug involving constant expr casts from int to fp | Chris Lattner | 2005-01-09 | 1 | -2/+2 |
| | | | | | llvm-svn: 19410 | ||||
| * | Handle static alloca arguments to PHI nodes. | Chris Lattner | 2005-01-09 | 1 | -3/+8 |
| | | | | | llvm-svn: 19409 | ||||
| * | Implement varargs and returnaddress/frameaddress intrinsics. With this | Chris Lattner | 2005-01-09 | 1 | -1/+66 |
| | | | | | | | patch, all of SingleSource/UnitTests passes. llvm-svn: 19408 | ||||
| * | Use new interfaces to correctly lower varargs and return/frame address ↵ | Chris Lattner | 2005-01-09 | 1 | -25/+61 |
| | | | | | | | intrinsics. llvm-svn: 19407 | ||||
| * | Add support for llvm.setjmp and longjmp. Only 3 SingleSource/UnitTests fail ↵ | Chris Lattner | 2005-01-08 | 1 | -1/+8 |
| | | | | | | | now. llvm-svn: 19404 | ||||
| * | Add even more missing createXxxPass functions. | Jeff Cohen | 2005-01-08 | 7 | -0/+25 |
| | | | | | llvm-svn: 19402 | ||||
| * | Okay 15th time is the charm. Looking at the vector size is useless as it | Chris Lattner | 2005-01-08 | 1 | -1/+1 |
| | | | | | | | gets clobbered by a previous statement. This fixes all calls finally. llvm-svn: 19399 | ||||
| * | Okay, my off by one was actually off by two. This fixes ↵ | Chris Lattner | 2005-01-08 | 1 | -1/+1 |
| | | | | | | | Generic/2003-07-07-BadLongConst.ll llvm-svn: 19398 | ||||
| * | Tighten up assertions. | Chris Lattner | 2005-01-08 | 1 | -8/+6 |
| | | | | | llvm-svn: 19397 | ||||
| * | Fix off by one error | Chris Lattner | 2005-01-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 19396 | ||||
| * | Allow arrays to have more than 4G elements. | Chris Lattner | 2005-01-08 | 1 | -5/+5 |
| | | | | | llvm-svn: 19395 | ||||
| * | Use size_t instead of long to represent memory usage. long is 32 bits | Jeff Cohen | 2005-01-08 | 3 | -9/+9 |
| | | | | | | | on 64-bit Windows. llvm-svn: 19393 | ||||
| * | Silence warnings | Chris Lattner | 2005-01-08 | 1 | -2/+2 |
| | | | | | llvm-svn: 19392 | ||||
| * | Silence VS warnings. | Chris Lattner | 2005-01-08 | 1 | -37/+37 |
| | | | | | llvm-svn: 19391 | ||||
| * | Silence VS warnings. | Chris Lattner | 2005-01-08 | 3 | -5/+12 |
| | | | | | llvm-svn: 19390 | ||||
| * | Silence VS warnings | Chris Lattner | 2005-01-08 | 1 | -4/+4 |
| | | | | | llvm-svn: 19389 | ||||
| * | Silence VS warnings | Chris Lattner | 2005-01-08 | 1 | -7/+8 |
| | | | | | llvm-svn: 19388 | ||||
| * | Silence warnings from VS | Chris Lattner | 2005-01-08 | 2 | -3/+5 |
| | | | | | llvm-svn: 19386 | ||||
| * | Silence VS warnings | Chris Lattner | 2005-01-08 | 2 | -2/+2 |
| | | | | | llvm-svn: 19385 | ||||
| * | Silence VS warnings. | Chris Lattner | 2005-01-08 | 2 | -5/+4 |
| | | | | | llvm-svn: 19384 | ||||
| * | Fix VS warnings | Chris Lattner | 2005-01-08 | 2 | -13/+13 |
| | | | | | llvm-svn: 19383 | ||||
| * | Fix VS warnings. | Chris Lattner | 2005-01-08 | 2 | -4/+5 |
| | | | | | llvm-svn: 19382 | ||||
| * | Fix uint64_t -> unsigned VS warnings. | Chris Lattner | 2005-01-08 | 2 | -12/+13 |
| | | | | | llvm-svn: 19381 | ||||
| * | Silence VS warnings. | Chris Lattner | 2005-01-08 | 1 | -5/+7 |
| | | | | | llvm-svn: 19380 | ||||
| * | Silence warnings | Chris Lattner | 2005-01-08 | 2 | -3/+4 |
| | | | | | llvm-svn: 19379 | ||||
| * | Do not throw away bits for no reason | Chris Lattner | 2005-01-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 19378 | ||||
| * | Silence a VS warning. | Chris Lattner | 2005-01-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 19377 | ||||
| * | Adjust to changes in LowerCallTo interface | Chris Lattner | 2005-01-08 | 1 | -30/+39 |
| | | | | | | | Minor bugfixes llvm-svn: 19376 | ||||
| * | Implement handling of most long operators through libcalls. | Chris Lattner | 2005-01-08 | 1 | -5/+65 |
| | | | | | | | Fix a bug legalizing "ret (Val,Val)" llvm-svn: 19375 | ||||
| * | Adjust to changes in LowerCAllTo interfaces | Chris Lattner | 2005-01-08 | 1 | -14/+27 |
| | | | | | llvm-svn: 19374 | ||||
| * | Add more missing createXxxPass functions. | Jeff Cohen | 2005-01-08 | 3 | -0/+9 |
| | | | | | llvm-svn: 19370 | ||||
| * | Add support for FP->INT conversions and back. | Chris Lattner | 2005-01-08 | 3 | -17/+42 |
| | | | | | llvm-svn: 19369 | ||||
| * | Wrap long line. | Chris Lattner | 2005-01-08 | 1 | -2/+2 |
| | | | | | llvm-svn: 19367 | ||||
| * | Implement the 'store FPIMM, Ptr' -> 'store INTIMM, Ptr' optimization for | Chris Lattner | 2005-01-08 | 1 | -0/+25 |
| | | | | | | | all targets. llvm-svn: 19366 | ||||
| * | 1ULL << 64 is undefined, don't do it. | Chris Lattner | 2005-01-08 | 1 | -2/+3 |
| | | | | | llvm-svn: 19365 | ||||
| * | The X86 instruction selector already handles codegen of: | Chris Lattner | 2005-01-08 | 1 | -8/+33 |
| | | | | | | | | | | | | store float 123.45, float* %P as an integer store. This adds handling of float immediate stores as integers for arguments passed function calls. This is now tested by CodeGen/X86/store-fp-constant.ll llvm-svn: 19364 | ||||
| * | Fix a pointer invalidation problem. This fixes Generic/badarg6.ll | Chris Lattner | 2005-01-07 | 1 | -13/+7 |
| | | | | | llvm-svn: 19361 | ||||
| * | Fold conditional branches on constants away. | Chris Lattner | 2005-01-07 | 1 | -0/+6 |
| | | | | | llvm-svn: 19360 | ||||
| * | Fix a thinko in the reassociation code, fixing Generic/badlive.ll | Chris Lattner | 2005-01-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 19359 | ||||
| * | Add support for truncating integer casts from long. | Chris Lattner | 2005-01-07 | 1 | -1/+13 |
| | | | | | llvm-svn: 19358 | ||||
| * | Fix a bug in load expansion legalization and ret legalization. This fixes | Chris Lattner | 2005-01-07 | 1 | -9/+17 |
| | | | | | | | CodeGen/Generic/select.ll:castconst. llvm-svn: 19357 | ||||
| * | Legalize unconditional branches too | Chris Lattner | 2005-01-07 | 1 | -0/+6 |
| | | | | | llvm-svn: 19356 | ||||

