| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Change RET node to include signness information of the return values. i.e. | Evan Cheng | 2006-05-26 | 1 | -3/+3 | |
| | | | | | | | RET chain, value1, sign1, value2, sign2, ... llvm-svn: 28510 | |||||
| * | Vector argument must be passed in memory location aligned on 16-byte boundary. | Evan Cheng | 2006-05-26 | 1 | -2/+18 | |
| | | | | | llvm-svn: 28505 | |||||
| * | Mac OS X ABI document lied. The first four XMM registers are used to pass | Evan Cheng | 2006-05-26 | 1 | -10/+12 | |
| | | | | | | | vector arguments, not three. llvm-svn: 28504 | |||||
| * | Minor update to make the code more clear | Evan Cheng | 2006-05-26 | 1 | -2/+2 | |
| | | | | | llvm-svn: 28499 | |||||
| * | Update more comments. | Evan Cheng | 2006-05-26 | 1 | -2/+2 | |
| | | | | | llvm-svn: 28498 | |||||
| * | Fix some comments. | Evan Cheng | 2006-05-26 | 1 | -2/+2 | |
| | | | | | llvm-svn: 28497 | |||||
| * | No need to handle illegal types. | Evan Cheng | 2006-05-26 | 1 | -4/+0 | |
| | | | | | llvm-svn: 28496 | |||||
| * | Remove a couple of bogus casts. | Evan Cheng | 2006-05-26 | 2 | -2/+2 | |
| | | | | | llvm-svn: 28493 | |||||
| * | Minor bug caught by Ashwin Chandra | Evan Cheng | 2006-05-26 | 1 | -1/+1 | |
| | | | | | llvm-svn: 28491 | |||||
| * | Consistency | Evan Cheng | 2006-05-25 | 1 | -0/+3 | |
| | | | | | llvm-svn: 28488 | |||||
| * | Some clean up. | Evan Cheng | 2006-05-25 | 1 | -4/+3 | |
| | | | | | llvm-svn: 28483 | |||||
| * | Remove some dead code. | Evan Cheng | 2006-05-25 | 1 | -21/+0 | |
| | | | | | llvm-svn: 28481 | |||||
| * | X86 / Cygwin asm / alignment fixes. | Evan Cheng | 2006-05-25 | 4 | -30/+42 | |
| | | | | | | | Patch contributed by Anton Korobeynikov! llvm-svn: 28480 | |||||
| * | Build breakage. | Evan Cheng | 2006-05-25 | 1 | -15/+11 | |
| | | | | | llvm-svn: 28475 | |||||
| * | Switch X86 over to a call-selection model where the lowering code creates | Evan Cheng | 2006-05-25 | 2 | -422/+392 | |
| | | | | | | | | the copyto/fromregs instead of making the X86ISD::CALL selection code create them. llvm-svn: 28463 | |||||
| * | Assert if InflightSet is not cleared after instruction selecting a BB. | Evan Cheng | 2006-05-25 | 1 | -0/+1 | |
| | | | | | llvm-svn: 28459 | |||||
| * | Clear HandleMap and ReplaceMap after instruction selection. Or it may cause | Evan Cheng | 2006-05-24 | 1 | -0/+2 | |
| | | | | | | | non-deterministic behavior. llvm-svn: 28454 | |||||
| * | Patches to make the LLVM sources more -pedantic clean. Patch provided | Chris Lattner | 2006-05-24 | 6 | -6/+6 | |
| | | | | | | | by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447 | |||||
| * | Fix file header comment | Chris Lattner | 2006-05-23 | 1 | -1/+1 | |
| | | | | | llvm-svn: 28441 | |||||
| * | Better way to check for vararg. | Evan Cheng | 2006-05-23 | 1 | -1/+2 | |
| | | | | | llvm-svn: 28440 | |||||
| * | Remove PreprocessCCCArguments and PreprocessFastCCArguments now that | Evan Cheng | 2006-05-23 | 2 | -253/+124 | |
| | | | | | | | FORMAL_ARGUMENTS nodes include a token operand. llvm-svn: 28439 | |||||
| * | Implement an annoying part of the Darwin/X86 abi: the callee of a struct | Chris Lattner | 2006-05-23 | 2 | -3/+19 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | return argument pops the hidden struct pointer if present, not the caller. For example, in this testcase: struct X { int D, E, F, G; }; struct X bar() { struct X a; a.D = 0; a.E = 1; a.F = 2; a.G = 3; return a; } void foo(struct X *P) { *P = bar(); } We used to emit: _foo: subl $28, %esp movl 32(%esp), %eax movl %eax, (%esp) call _bar addl $28, %esp ret _bar: movl 4(%esp), %eax movl $0, (%eax) movl $1, 4(%eax) movl $2, 8(%eax) movl $3, 12(%eax) ret This is correct on Linux/X86 but not Darwin/X86. With this patch, we now emit: _foo: subl $28, %esp movl 32(%esp), %eax movl %eax, (%esp) call _bar *** addl $24, %esp ret _bar: movl 4(%esp), %eax movl $0, (%eax) movl $1, 4(%eax) movl $2, 8(%eax) movl $3, 12(%eax) *** ret $4 For the record, GCC emits (which is functionally equivalent to our new code): _bar: movl 4(%esp), %eax movl $3, 12(%eax) movl $2, 8(%eax) movl $1, 4(%eax) movl $0, (%eax) ret $4 _foo: pushl %esi subl $40, %esp movl 48(%esp), %esi leal 16(%esp), %eax movl %eax, (%esp) call _bar subl $4, %esp movl 16(%esp), %eax movl %eax, (%esi) movl 20(%esp), %eax movl %eax, 4(%esi) movl 24(%esp), %eax movl %eax, 8(%esi) movl 28(%esp), %eax movl %eax, 12(%esi) addl $40, %esp popl %esi ret This fixes SingleSource/Benchmarks/CoyoteBench/fftbench with LLC and the JIT, and fixes the X86-backend portion of PR729. The CBE still needs to be updated. llvm-svn: 28438 | |||||
| * | A isel deficiency. | Evan Cheng | 2006-05-22 | 1 | -0/+19 | |
| | | | | | llvm-svn: 28427 | |||||
| * | Back out indirect branch load folding hack. It broke some tests. | Evan Cheng | 2006-05-21 | 1 | -63/+0 | |
| | | | | | llvm-svn: 28425 | |||||
| * | Make TargetData strings less redundant. | Owen Anderson | 2006-05-20 | 1 | -1/+1 | |
| | | | | | llvm-svn: 28423 | |||||
| * | - Use of load's chain result should be redirected to load's chain operand. | Evan Cheng | 2006-05-20 | 1 | -3/+13 | |
| | | | | | | | | | | If it reads the chain result of the call, then the use, callseq_start, and call would form a cycle! - Don't forget handle node replacement! - There could also be a TokenFactor between the load and the callseq_start. llvm-svn: 28420 | |||||
| * | A new entry | Evan Cheng | 2006-05-20 | 1 | -0/+10 | |
| | | | | | llvm-svn: 28419 | |||||
| * | Missing break statements. | Evan Cheng | 2006-05-20 | 1 | -0/+3 | |
| | | | | | llvm-svn: 28418 | |||||
| * | Remove unused patterns. | Evan Cheng | 2006-05-20 | 2 | -7/+4 | |
| | | | | | llvm-svn: 28417 | |||||
| * | Handle indirect call which folds a load manually. This never matches by | Evan Cheng | 2006-05-20 | 1 | -0/+58 | |
| | | | | | | | | the TableGen generated code since the load's chain result is read by the callseq_start node. llvm-svn: 28416 | |||||
| * | Make all of the TargetMachine subclasses use the new string TargetData methods. | Owen Anderson | 2006-05-20 | 1 | -1/+1 | |
| | | | | | | | This is part of the on-going work on PR 761. llvm-svn: 28414 | |||||
| * | CSRet allows varargs | Chris Lattner | 2006-05-19 | 1 | -2/+3 | |
| | | | | | llvm-svn: 28409 | |||||
| * | Add a note | Chris Lattner | 2006-05-19 | 1 | -0/+38 | |
| | | | | | llvm-svn: 28401 | |||||
| * | Split the SSE readme items out into their own README. | Chris Lattner | 2006-05-19 | 2 | -582/+662 | |
| | | | | | llvm-svn: 28400 | |||||
| * | Split FP-stack notes out of the main readme. Next up: splitting out SSE. | Chris Lattner | 2006-05-19 | 2 | -100/+99 | |
| | | | | | llvm-svn: 28399 | |||||
| * | Particularly ugly code. | Chris Lattner | 2006-05-19 | 1 | -0/+14 | |
| | | | | | llvm-svn: 28397 | |||||
| * | These can be transformed into lea as well. Not that we use this feature | Evan Cheng | 2006-05-19 | 1 | -0/+2 | |
| | | | | | | | currently... llvm-svn: 28393 | |||||
| * | - Use exact-width integer types, e.g. int32_t, to avoid confusion. | Evan Cheng | 2006-05-19 | 1 | -8/+9 | |
| | | | | | | | | - Fix a couple of minor bugs in i16immSExt8 and i16immZExt8. - Added loadiPTR fragment used for indirect jumps and calls. llvm-svn: 28392 | |||||
| * | Explicitly specify MOV32mi can only be used store 32-bit GV, etc. | Evan Cheng | 2006-05-19 | 1 | -2/+2 | |
| | | | | | llvm-svn: 28390 | |||||
| * | add a note | Chris Lattner | 2006-05-18 | 1 | -0/+15 | |
| | | | | | llvm-svn: 28383 | |||||
| * | ImmMask should be 3 for a two-bit field; Compact X86II | Evan Cheng | 2006-05-18 | 2 | -4/+3 | |
| | | | | | llvm-svn: 28381 | |||||
| * | getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd. | Evan Cheng | 2006-05-18 | 3 | -7/+28 | |
| | | | | | llvm-svn: 28378 | |||||
| * | Use generic iPTR instead i32 to represent pointer type. | Evan Cheng | 2006-05-17 | 1 | -3/+3 | |
| | | | | | llvm-svn: 28371 | |||||
| * | Another entry | Evan Cheng | 2006-05-17 | 1 | -0/+9 | |
| | | | | | llvm-svn: 28370 | |||||
| * | Remove PointerType from class Target | Evan Cheng | 2006-05-17 | 1 | -3/+0 | |
| | | | | | llvm-svn: 28368 | |||||
| * | Should pass by reference. | Evan Cheng | 2006-05-17 | 2 | -4/+4 | |
| | | | | | llvm-svn: 28357 | |||||
| * | Another entry | Evan Cheng | 2006-05-17 | 1 | -0/+12 | |
| | | | | | llvm-svn: 28356 | |||||
| * | Implement the custom lowering hook right, returning values for all of the | Chris Lattner | 2006-05-16 | 1 | -1/+5 | |
| | | | | | | | arguments at once. llvm-svn: 28327 | |||||
| * | Fix a bug I introduced yesterday, which broke functions with *no* arguments. | Chris Lattner | 2006-05-16 | 1 | -0/+7 | |
| | | | | | llvm-svn: 28326 | |||||
| * | X86 integer register classes naming changes. Make them consistent with FP, ↵ | Evan Cheng | 2006-05-16 | 10 | -854/+854 | |
| | | | | | | | vector classes. llvm-svn: 28324 | |||||

