summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Add target hook to specify block size limit for if-conversion.Evan Cheng2007-05-161-0/+1
| | | | llvm-svn: 37134
* Don't fold bitconvert(load) for preinc/postdec loads. Likewise stores.Dale Johannesen2007-05-161-1/+3
| | | | llvm-svn: 37130
* isBlockPredicable() always ignore terminal instructions; add comments.Evan Cheng2007-05-161-13/+23
| | | | llvm-svn: 37126
* Rename M_PREDICATED to M_PREDICABLE; Moved isPredicable() to MachineInstr.Evan Cheng2007-05-162-14/+18
| | | | llvm-svn: 37121
* Output exception call-sites in address order, as required by the unwindingDuncan Sands2007-05-161-10/+54
| | | | | | runtime. llvm-svn: 37104
* Use a ptr set instead of a linear search to unique TokenFactor operands.Chris Lattner2007-05-161-10/+13
| | | | | | This fixes PR1423 llvm-svn: 37102
* Devang points out that we need an assertion here.Evan Cheng2007-05-161-0/+2
| | | | llvm-svn: 37097
* Bug fix: should check ABI alignment, not pref. alignment.Evan Cheng2007-05-161-2/+2
| | | | llvm-svn: 37094
* Initial commit of (very basic) if converter.Evan Cheng2007-05-161-0/+304
| | | | llvm-svn: 37092
* Remove extra CFG edges before doing these passes; it makes them happier.Dale Johannesen2007-05-151-1/+16
| | | | llvm-svn: 37089
* Fix an infinite recursion in GetNegatedExpression.Lauro Ramos Venancio2007-05-151-1/+1
| | | | llvm-svn: 37086
* The index into the actions table is a ULEB128 not a SLEB128.Duncan Sands2007-05-151-1/+1
| | | | llvm-svn: 37084
* Un-brain-dead-ify the lowering of part set for the reverse case.Reid Spencer2007-05-151-99/+73
| | | | llvm-svn: 37071
* Fix some subtle issues handling immediate values. This fixesChris Lattner2007-05-151-3/+6
| | | | | | test/CodeGen/ARM/2007-05-14-InlineAsmCstCrash.ll llvm-svn: 37069
* Added getNumExplicitOperands and findFirstPredOperand.Evan Cheng2007-05-151-0/+46
| | | | llvm-svn: 37064
* implement a simple fneg optimization/propagation thing. This compiles:Chris Lattner2007-05-141-7/+144
| | | | | | | | | | | | | | | | | | | CodeGen/PowerPC/fneg.ll into: _t4: fmul f0, f3, f4 fmadd f1, f1, f2, f0 blr instead of: _t4: fneg f0, f3 fmul f0, f0, f4 fmsub f1, f1, f2, f0 blr llvm-svn: 37054
* Only worry about intervening kill if there are more than one live ranges in ↵Evan Cheng2007-05-141-3/+5
| | | | | | the interval. llvm-svn: 37052
* Fix for PR1406:Evan Cheng2007-05-141-2/+35
| | | | | | | | | | | | | v1 = r2 = move v1 = op r2<kill> ... r2 = move v1 = op r2<kill> Clear the first r2 kill if v1 and r2 are joined. llvm-svn: 37050
* When marking a register as being implicitly defined, make sure to clear its ↵Evan Cheng2007-05-141-0/+2
| | | | | | partial use info as well. llvm-svn: 37046
* Give names to the final result values of the part_set computations. ThisReid Spencer2007-05-141-2/+2
| | | | | | just aids in readability and debugability of the output. No functional change. llvm-svn: 37037
* Emit function debug frames in one atom. This will prevent us from generating ↵Anton Korobeynikov2007-05-131-27/+41
| | | | | | | | incorrect assembler in case of both debug information & exception information presented. llvm-svn: 37019
* Emit multiple common EH frames for multiple (including blank) personalityAnton Korobeynikov2007-05-132-34/+51
| | | | | | | | functions. This partly fixes PR1414: now we're restricted only to one personality function per eh frame, not per module. Further work on "multiple personalities" topic needs representative example. llvm-svn: 37018
* More DWARF-related things cleanup:Anton Korobeynikov2007-05-122-51/+75
| | | | | | | | | | 1. Fix PR1380 2. Apply Duncan's patch from PR1410 3. Insert workaround for "one personality function per module" as noted in PR1414 4. Emit correct debug frames for x86/linux. This partly fixes DebugInfo/2006-11-06-StackTrace.cpp: stack trace is shown correctly, but arguments for function on top of stack are displayed incorrectly. llvm-svn: 37015
* Get the size of auto arrays right, regardless of its changing size.Reid Spencer2007-05-121-11/+13
| | | | llvm-svn: 37006
* Fix ↵Devang Patel2007-05-111-1/+1
| | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049516.html llvm-svn: 36998
* Perform correct actions numbers/sizes computationAnton Korobeynikov2007-05-111-5/+3
| | | | llvm-svn: 36988
* Fix action No calculation in multiple-invoke-one-LP modeAnton Korobeynikov2007-05-111-31/+31
| | | | llvm-svn: 36987
* Do not generate branches to entry block. This fixes several test suiteDale Johannesen2007-05-101-4/+19
| | | | | | failures on PPC (can happen only when prologue code is null) llvm-svn: 36979
* Ooops. Some debugging stuff :)Anton Korobeynikov2007-05-101-1/+0
| | | | llvm-svn: 36978
* Allow multiple invokes per landing pad. This (probably) fixes PR1410.Anton Korobeynikov2007-05-102-57/+75
| | | | llvm-svn: 36977
* Later computations assume we are aligned at this point.Duncan Sands2007-05-101-2/+3
| | | | llvm-svn: 36975
* TypeIds are indexed by j, not iAnton Korobeynikov2007-05-101-1/+1
| | | | llvm-svn: 36974
* Make tail merging handle many more cases (all it can, I think).Dale Johannesen2007-05-101-32/+91
| | | | llvm-svn: 36966
* Can't fold the bit_convert is the store is a truncating store.Evan Cheng2007-05-091-2/+2
| | | | llvm-svn: 36962
* Do not assert, when case range split metric is zero and JTs are not allowed: ↵Anton Korobeynikov2007-05-091-5/+12
| | | | | | | | just emit binary tree in this case. This fixes PR1403. llvm-svn: 36959
* Change names from RA to something unique to get rid of naming conflicts withBill Wendling2007-05-082-38/+42
| | | | | | certain linkers... llvm-svn: 36944
* Eliminate MarkVirtRegAliveInBlock recursion.Evan Cheng2007-05-081-4/+17
| | | | llvm-svn: 36943
* Forgot a check.Evan Cheng2007-05-071-1/+1
| | | | llvm-svn: 36910
* Enable a couple of xforms:Evan Cheng2007-05-071-16/+27
| | | | | | | | | - (store (bitconvert v)) -> (store v) if resultant store does not require higher alignment - (bitconvert (load v)) -> (load (bitconvert*)v) if resultant load does not require higher alignment llvm-svn: 36908
* Handle some non-exit blocks in tail merging.Dale Johannesen2007-05-071-11/+81
| | | | llvm-svn: 36907
* Parameter attributes on invoke calls were being lost due to the wrongDuncan Sands2007-05-071-4/+6
| | | | | | | attribute index being used. Fix proposed by Anton Korobeynikov, who asked me to implement and commit it for him. This is PR1398. llvm-svn: 36906
* DetabifyAnton Korobeynikov2007-05-061-1/+1
| | | | llvm-svn: 36891
* Fix typo in comment.Nick Lewycky2007-05-063-3/+3
| | | | llvm-svn: 36873
* Use the personality function that was registered with MMI rather thanDuncan Sands2007-05-051-9/+2
| | | | | | hardwiring in the C++ one. llvm-svn: 36789
* Propagate alignment/volatility in two places.Chris Lattner2007-05-051-4/+16
| | | | | | | | Implement support for expanding a bitcast from an illegal vector type to a legal one (e.g. 4xi32 -> 4xf32 in SSE1). This fixes PR1371 and CodeGen/X86/2007-05-05-VecCastExpand.ll llvm-svn: 36787
* Spelling fix.Duncan Sands2007-05-051-1/+1
| | | | llvm-svn: 36781
* Emit sections/directives in the proper order. This fixes PR1376. Also,Anton Korobeynikov2007-05-051-4/+4
| | | | | | some small cleanup was made. llvm-svn: 36780
* A bitcast of a global variable may have been constant folded to a GEP -Duncan Sands2007-05-041-26/+30
| | | | | | handle this case too. llvm-svn: 36745
* Don't create indexed load / store with zero offset!Evan Cheng2007-05-031-0/+8
| | | | llvm-svn: 36716
* Allow i/s to match (gv+c). This fixes ↵Chris Lattner2007-05-031-10/+31
| | | | | | | | CodeGen/PowerPC/2007-05-03-InlineAsm-S-Constraint.ll and PR1382 llvm-svn: 36672
OpenPOWER on IntegriCloud