| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Change this to work with renamed intrinsics. | Chris Lattner | 2006-03-03 | 1 | -1/+7 |
| | | | | | llvm-svn: 26484 | ||||
| * | Make this work with renamed intrinsics. | Chris Lattner | 2006-03-03 | 1 | -26/+25 |
| | | | | | llvm-svn: 26482 | ||||
| * | updates for recent changes | Chris Lattner | 2006-03-03 | 1 | -2/+4 |
| | | | | | llvm-svn: 26481 | ||||
| * | remove the read/write port/io intrinsics. | Chris Lattner | 2006-03-03 | 8 | -174/+12 |
| | | | | | llvm-svn: 26479 | ||||
| * | Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving | Chris Lattner | 2006-03-03 | 3 | -12/+30 |
| | | | | | | | PR709, and paving the way for future progress. llvm-svn: 26476 | ||||
| * | Simplify the autoupgrade interface | Chris Lattner | 2006-03-02 | 1 | -6/+3 |
| | | | | | llvm-svn: 26475 | ||||
| * | Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving | Chris Lattner | 2006-03-02 | 3 | -139/+128 |
| | | | | | | | | | | | | PR709, and paving the way for future progress. Significantly refactor autoupgrading code, to handle the more complex case (where we upgrade one argument in a function), and fix some bugs in it. Testcase here: llvm/test/Regression/Bytecode/memcpy.ll llvm-svn: 26474 | ||||
| * | add a note | Chris Lattner | 2006-03-02 | 1 | -0/+7 |
| | | | | | llvm-svn: 26472 | ||||
| * | - Fixed some priority calculation bugs that were causing bug 478. Among them: | Evan Cheng | 2006-03-02 | 1 | -64/+98 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a predecessor appearing more than once in the operand list was counted as multiple predecessor; priority1 should be updated during scheduling; CycleBound was updated after the node is inserted into priority queue; one of the tie breaking condition was flipped. - Take into consideration of two address opcodes. If a predecessor is a def&use operand, it should have a higher priority. - Scheduler should also favor floaters, i.e. nodes that do not have real predecessors such as MOV32ri. - The scheduling fixes / tweaks fixed bug 478: .text .align 4 .globl _f _f: movl 4(%esp), %eax movl 8(%esp), %ecx movl %eax, %edx imull %ecx, %edx imull %eax, %eax imull %ecx, %ecx addl %eax, %ecx leal (%ecx,%edx,2), %eax ret It is also a slight performance win (1% - 3%) for most tests. llvm-svn: 26470 | ||||
| * | Generalize the REM folding code to handle another case Nick Lewycky | Chris Lattner | 2006-03-02 | 1 | -13/+43 |
| | | | | | | | pointed out: realize the AND can provide factors and look through Casts. llvm-svn: 26469 | ||||
| * | Support for enumerations. | Jim Laskey | 2006-03-01 | 2 | -2/+57 |
| | | | | | llvm-svn: 26466 | ||||
| * | Don't print llvm constant in assmebly file. Assembler won't like comments that | Evan Cheng | 2006-03-01 | 1 | -1/+3 |
| | | | | | | | span multiple lines. llvm-svn: 26463 | ||||
| * | Back out my last check-in. Wrong place to fix it. | Evan Cheng | 2006-03-01 | 1 | -0/+3 |
| | | | | | llvm-svn: 26462 | ||||
| * | AsmWriter should not print LLVM constant in comment. Assembler won't like | Evan Cheng | 2006-03-01 | 1 | -4/+0 |
| | | | | | | | multi-line comments. llvm-svn: 26461 | ||||
| * | Fix CodeGen/Generic/2006-03-01-dagcombineinfloop.ll, an infinite loop | Chris Lattner | 2006-03-01 | 1 | -4/+9 |
| | | | | | | | in the dag combiner on 176.gcc on x86. llvm-svn: 26459 | ||||
| * | Switch back to using actual dwarf tags. Simplifies code without loss to other | Jim Laskey | 2006-03-01 | 2 | -55/+103 |
| | | | | | | | debug forms. llvm-svn: 26455 | ||||
| * | Fix a typo evan noticed | Chris Lattner | 2006-03-01 | 1 | -1/+1 |
| | | | | | llvm-svn: 26454 | ||||
| * | Use context and not compile unit. | Jim Laskey | 2006-03-01 | 1 | -11/+13 |
| | | | | | llvm-svn: 26453 | ||||
| * | I guess I can handle large type sizes. | Jim Laskey | 2006-03-01 | 1 | -2/+1 |
| | | | | | llvm-svn: 26452 | ||||
| * | Basic array support. | Jim Laskey | 2006-03-01 | 2 | -10/+197 |
| | | | | | llvm-svn: 26451 | ||||
| * | Implement CodeGen/PowerPC/or-addressing-mode.ll, which is also PR668. | Chris Lattner | 2006-03-01 | 1 | -18/+59 |
| | | | | | llvm-svn: 26450 | ||||
| * | add a note | Chris Lattner | 2006-03-01 | 1 | -0/+18 |
| | | | | | llvm-svn: 26448 | ||||
| * | Compile this: | Chris Lattner | 2006-03-01 | 5 | -13/+42 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | void foo(float a, int *b) { *b = a; } to this: _foo: fctiwz f0, f1 stfiwx f0, 0, r4 blr instead of this: _foo: fctiwz f0, f1 stfd f0, -8(r1) lwz r2, -4(r1) stw r2, 0(r4) blr This implements CodeGen/PowerPC/stfiwx.ll, and also incidentally does the right thing for GCC bugzilla 26505. llvm-svn: 26447 | ||||
| * | Use a target-specific dag-combine to implement CodeGen/PowerPC/fp-int-fp.ll. | Chris Lattner | 2006-03-01 | 3 | -25/+42 |
| | | | | | llvm-svn: 26445 | ||||
| * | Add support for target-specific dag combines | Chris Lattner | 2006-03-01 | 1 | -13/+58 |
| | | | | | llvm-svn: 26443 | ||||
| * | Add interfaces for targets to provide target-specific dag combiner ↵ | Chris Lattner | 2006-03-01 | 1 | -0/+8 |
| | | | | | | | optimizations. llvm-svn: 26442 | ||||
| * | Add a new AddToWorkList method, start using it | Chris Lattner | 2006-03-01 | 1 | -57/+63 |
| | | | | | llvm-svn: 26441 | ||||
| * | Pull shifts by a constant through multiplies (a form of reassociation), | Chris Lattner | 2006-03-01 | 1 | -0/+27 |
| | | | | | | | implementing Regression/CodeGen/X86/mul-shift-reassoc.ll llvm-svn: 26440 | ||||
| * | Vector op lowering. | Evan Cheng | 2006-03-01 | 2 | -6/+35 |
| | | | | | llvm-svn: 26438 | ||||
| * | Vector ops lowering. | Evan Cheng | 2006-03-01 | 3 | -50/+76 |
| | | | | | llvm-svn: 26436 | ||||
| * | New type v2f32. | Evan Cheng | 2006-03-01 | 1 | -2/+3 |
| | | | | | llvm-svn: 26435 | ||||
| * | - Added VConstant as an abstract version of ConstantVec. | Evan Cheng | 2006-03-01 | 1 | -12/+19 |
| | | | | | | | | - All abstrct vector nodes must have # of elements and element type as their first two operands. llvm-svn: 26432 | ||||
| * | Another entry. | Evan Cheng | 2006-02-28 | 1 | -0/+16 |
| | | | | | llvm-svn: 26430 | ||||
| * | Don't match x << 1 to LEAL. It's better to emit x + x. | Evan Cheng | 2006-02-28 | 1 | -1/+4 |
| | | | | | llvm-svn: 26429 | ||||
| * | Add const, volatile, restrict support. | Jim Laskey | 2006-02-28 | 2 | -5/+67 |
| | | | | | | | Add array of debug descriptor support. llvm-svn: 26428 | ||||
| * | Fix a regression in a patch from a couple of days ago. This fixes | Chris Lattner | 2006-02-28 | 1 | -1/+3 |
| | | | | | | | Transforms/InstCombine/2006-02-28-Crash.ll llvm-svn: 26427 | ||||
| * | Add a subtarget feature for the stfiwx instruction. I know the G5 has it, | Chris Lattner | 2006-02-28 | 2 | -2/+6 |
| | | | | | | | | but I don't know what other PPC impls do. If someone could update the proc table, I would appreciate it :) llvm-svn: 26421 | ||||
| * | Compile: | Chris Lattner | 2006-02-28 | 1 | -10/+17 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | unsigned foo4(unsigned short *P) { return *P & 255; } unsigned foo5(short *P) { return *P & 255; } to: _foo4: lbz r3,1(r3) blr _foo5: lbz r3,1(r3) blr not: _foo4: lhz r2, 0(r3) rlwinm r3, r2, 0, 24, 31 blr _foo5: lhz r2, 0(r3) rlwinm r3, r2, 0, 24, 31 blr llvm-svn: 26419 | ||||
| * | remove implemented item | Chris Lattner | 2006-02-28 | 1 | -17/+0 |
| | | | | | llvm-svn: 26418 | ||||
| * | Fold "and (LOAD P), 255" -> zextload. This allows us to compile: | Chris Lattner | 2006-02-28 | 1 | -0/+33 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unsigned foo3(unsigned *P) { return *P & 255; } as: _foo3: lbz r3, 3(r3) blr instead of: _foo3: lwz r2, 0(r3) rlwinm r3, r2, 0, 24, 31 blr and: unsigned short foo2(float a) { return a; } as: _foo2: fctiwz f0, f1 stfd f0, -8(r1) lhz r3, -2(r1) blr instead of: _foo2: fctiwz f0, f1 stfd f0, -8(r1) lwz r2, -4(r1) rlwinm r3, r2, 0, 16, 31 blr llvm-svn: 26417 | ||||
| * | fold (sra (sra x, c1), c2) -> (sra x, c1+c2) | Chris Lattner | 2006-02-28 | 1 | -3/+11 |
| | | | | | llvm-svn: 26416 | ||||
| * | Implement rem.ll:test[7-9] and PR712 | Chris Lattner | 2006-02-28 | 1 | -6/+22 |
| | | | | | llvm-svn: 26415 | ||||
| * | Simplify some code now that the RHS of a rem can't be 0 | Chris Lattner | 2006-02-28 | 1 | -8/+6 |
| | | | | | llvm-svn: 26413 | ||||
| * | Rearrange some code, fold "rem X, 0", implementing rem.ll:test6 | Chris Lattner | 2006-02-28 | 1 | -38/+39 |
| | | | | | llvm-svn: 26411 | ||||
| * | Add support for output memory constraints. | Chris Lattner | 2006-02-27 | 1 | -7/+38 |
| | | | | | llvm-svn: 26410 | ||||
| * | Qualify dwarf namespace inside llvm namespace. | Jim Laskey | 2006-02-27 | 2 | -2/+5 |
| | | | | | llvm-svn: 26409 | ||||
| * | readme updates | Nate Begeman | 2006-02-27 | 1 | -21/+26 |
| | | | | | llvm-svn: 26405 | ||||
| * | Partial enabling of functions. | Jim Laskey | 2006-02-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 26404 | ||||
| * | Don't print constant initializers, they may span lines now. | Chris Lattner | 2006-02-27 | 1 | -2/+0 |
| | | | | | llvm-svn: 26403 | ||||
| * | Supporting multiple compile units. | Jim Laskey | 2006-02-27 | 1 | -136/+185 |
| | | | | | llvm-svn: 26402 | ||||

