summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Add a new llcbeta option. This speeds up viterbi from 12.34 to 8.76s onChris Lattner2006-11-071-4/+19
| | | | | | X86. If happy, I'll enable this by default. llvm-svn: 31493
* Unbreak X86/ELF Debugging. Somehow this line got lost in Jim's cleanup.Reid Spencer2006-11-071-0/+2
| | | | llvm-svn: 31492
* Fix PR988 and CodeGen/Generic/2006-11-06-MemIntrinsicExpand.ll.Chris Lattner2006-11-071-1/+1
| | | | | | The low part goes in the first operand of expandop, not the second one. llvm-svn: 31487
* Remove dead code; added a missing null ptr check.Evan Cheng2006-11-061-32/+1
| | | | llvm-svn: 31478
* Tab interferes with uniqueness.Jim Laskey2006-11-061-1/+1
| | | | | | | NOTE: There doesn't seem to be consistency for whether a leading tab is present in a section heading. llvm-svn: 31475
* D'oh - reversed logic.Jim Laskey2006-11-061-1/+1
| | | | llvm-svn: 31474
* Add comment.Evan Cheng2006-11-061-4/+10
| | | | llvm-svn: 31473
* Unbreak VC++ build.Jeff Cohen2006-11-053-9/+10
| | | | llvm-svn: 31464
* Added pre-indexed store support.Evan Cheng2006-11-051-10/+24
| | | | llvm-svn: 31459
* Added getIndexedStore.Evan Cheng2006-11-051-0/+30
| | | | llvm-svn: 31458
* Live local variables are being dropped because the begin or end labels markingJim Laskey2006-11-041-3/+4
| | | | | | their scope are being deleted. Workaround is to widen scope to full function. llvm-svn: 31454
* Changes to use operand constraints to process two-address instructions.Evan Cheng2006-11-043-50/+140
| | | | llvm-svn: 31453
* Fixed some spiller bugs exposed by the recent two-address code changes. NowEvan Cheng2006-11-041-21/+53
| | | | | | | | | there may be other def(s) apart from the use&def two-address operand. We need to check if the register reuse for a use&def operand may conflicts with another def. Provide a mean to recover from the conflict if it is detected when the defs are processed later. llvm-svn: 31439
* this will work betterChris Lattner2006-11-031-2/+2
| | | | llvm-svn: 31419
* Fix the build on xcode < 2.4Chris Lattner2006-11-031-0/+7
| | | | llvm-svn: 31417
* Fix comments.Evan Cheng2006-11-031-3/+8
| | | | llvm-svn: 31414
* RenameEvan Cheng2006-11-031-1/+1
| | | | llvm-svn: 31413
* Remove dead variable. Fix 80 column violations.Reid Spencer2006-11-031-3/+3
| | | | llvm-svn: 31412
* Added DAG combiner transformation to generate pre-indexed loads.Evan Cheng2006-11-031-0/+112
| | | | llvm-svn: 31410
* Added isPredecessor.Evan Cheng2006-11-031-0/+23
| | | | llvm-svn: 31409
* Proper check for two-addressness.Evan Cheng2006-11-031-7/+22
| | | | llvm-svn: 31408
* silence warningChris Lattner2006-11-032-50/+0
| | | | llvm-svn: 31397
* Make CodeGen libs -pedantic clean.Reid Spencer2006-11-022-4/+1
| | | | llvm-svn: 31387
* 1. Hash not quite right for DIEValues.Jim Laskey2006-11-021-25/+10
| | | | | | 2. Not going to use Usage (no significant benefit.) llvm-svn: 31384
* Remove unused variable.Reid Spencer2006-11-021-1/+0
| | | | llvm-svn: 31382
* For PR786:Reid Spencer2006-11-0213-30/+6
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* General clean up of teh dwarf writer.Jim Laskey2006-11-021-2260/+2307
| | | | | | | | | | | | | | 1. Most significant is the folding of debug information entries. This reduced self hosted -g SelectionDAGISel.s from 120M to 13M and pretty close to matching .o file sizes with gcc. 2. Debug information entry printing for debugging the dwarf code. 3. Bring all the code closer to llvm standards. 4. Misc. fixes and doc clean ups. llvm-svn: 31379
* For PR950:Reid Spencer2006-11-021-8/+4
| | | | | | Replace the REM instruction with UREM, SREM and FREM. llvm-svn: 31369
* Allow the getRegForInlineAsmConstraint method to return a register class withChris Lattner2006-11-021-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no fixes physreg. Treat this as permission to use any register in the register class. When this happens and it is safe, allow the llvm register allcoator to allocate the register instead of doing it at isel time. This eliminates a ton of copies around common inline asms. For example: int test2(int Y, int X) { asm("foo %0, %1" : "=r"(X): "r"(X)); return X; } now compiles to: _test2: foo r3, r4 blr instead of: _test2: mr r2, r4 foo r2, r2 mr r3, r2 blr GCC produces: _test2: foo r4, r4 mr r3,r4 blr llvm-svn: 31366
* RenameEvan Cheng2006-11-012-2/+2
| | | | llvm-svn: 31364
* Two-address instructions no longer have to be A := A op C. Now any pair of ↵Evan Cheng2006-11-013-113/+139
| | | | | | dest / src operands can be tied together. llvm-svn: 31363
* Clean up.Evan Cheng2006-11-011-5/+11
| | | | llvm-svn: 31359
* CopyFromReg starts a live range so its use should not be considered a floater.Evan Cheng2006-11-011-1/+1
| | | | llvm-svn: 31356
* give branch folding a simple heuristic to decide which block to split so thatChris Lattner2006-11-011-6/+49
| | | | | | | it inserts an uncond branch where it is less likely to cause a problem. This fixes some perf issues on ppc. llvm-svn: 31354
* Add a printSetLabel that takes two id's.Evan Cheng2006-11-011-0/+13
| | | | llvm-svn: 31347
* Print jumptable index.Evan Cheng2006-11-012-0/+4
| | | | llvm-svn: 31340
* make tail merging more aggressive. If two blocks share a common tail, but theChris Lattner2006-11-011-16/+53
| | | | | | | tail is not an entire block for either of them, pick one, split it, then merge the common part. llvm-svn: 31336
* enable branch folding with an optionChris Lattner2006-11-011-1/+2
| | | | llvm-svn: 31335
* Compile CodeGen/PowerPC/fp-branch.ll to:Chris Lattner2006-10-311-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _intcoord_cond_next55: LBB1_3: ;cond_next55 lis r2, ha16(LCPI1_0) lfs f0, lo16(LCPI1_0)(r2) fcmpu cr0, f1, f0 blt cr0, LBB1_2 ;cond_next62.exitStub LBB1_1: ;bb72.exitStub li r3, 1 blr LBB1_2: ;cond_next62.exitStub li r3, 0 blr instead of: _intcoord_cond_next55: LBB1_3: ;cond_next55 lis r2, ha16(LCPI1_0) lfs f0, lo16(LCPI1_0)(r2) fcmpu cr0, f1, f0 bge cr0, LBB1_1 ;bb72.exitStub LBB1_4: ;cond_next55 lis r2, ha16(LCPI1_0) lfs f0, lo16(LCPI1_0)(r2) fcmpu cr0, f1, f0 bnu cr0, LBB1_2 ;cond_next62.exitStub LBB1_1: ;bb72.exitStub li r3, 1 blr LBB1_2: ;cond_next62.exitStub li r3, 0 blr llvm-svn: 31330
* look through isunordered to inline it into branch blocks.Chris Lattner2006-10-311-12/+43
| | | | llvm-svn: 31328
* handle global address constant sdnodesChris Lattner2006-10-311-2/+7
| | | | llvm-svn: 31323
* TargetLowering::isOperandValidForConstraintChris Lattner2006-10-311-2/+7
| | | | llvm-svn: 31319
* Change the prototype for TargetLowering::isOperandValidForConstraintChris Lattner2006-10-311-5/+8
| | | | llvm-svn: 31318
* 1. Clean up code due to changes in SwitchTo*Section(2)Anton Korobeynikov2006-10-312-32/+32
| | | | | | | | | | 2. Added partial debug support for mingw\cygwin targets (the same as Linux\ELF). Please note, that currently mingw\cygwin uses 'stabs' format for storing debug info by default, thus many (runtime) libraries has this information included. These formats shouldn't be mixed in one binary ('stabs' & 'DWARF'), otherwise binutils tools will be confused. llvm-svn: 31311
* Turn an assert into an error message. This is commonly triggered whenChris Lattner2006-10-311-1/+5
| | | | | | | we don't support a specific constraint yet. When this happens, print the unsupported constraint. llvm-svn: 31310
* Fix a typo which can break jumptables.Evan Cheng2006-10-311-1/+1
| | | | llvm-svn: 31305
* Fix a problem introduced by a last-minute change (logic negation).Reid Spencer2006-10-301-2/+2
| | | | llvm-svn: 31302
* Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4Reid Spencer2006-10-301-8/+12
| | | | | | | generated object modules to be debugged with gdb. Hopefully this helps pre-release debugging. llvm-svn: 31299
* Switch abbreviations to use the folding set.a.Jim Laskey2006-10-301-127/+111
| | | | llvm-svn: 31296
* Simplify DwarfWriter header.Jim Laskey2006-10-301-97/+508
| | | | llvm-svn: 31295
OpenPOWER on IntegriCloud