summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Codegen support for i128 UINT_TO_FP. This just fixes aDan Gohman2008-03-052-6/+2
| | | | | | | | bug in r47928 (Int64Ty is the correct type for the constant pool entry here) and removes the asserts, now that the code is capable of handling i128. llvm-svn: 47932
* Add a target lowering hook to control whether it's worthwhile to compress fp ↵Evan Cheng2008-03-054-1/+24
| | | | | | | | constant. For x86, if sse2 is available, it's not a good idea since cvtss2sd is slower than a movsd load and it prevents load folding. On x87, it's important to shrink fp constant since fldt is very expensive. llvm-svn: 47931
* 64bit CAS on 32bit x86.Andrew Lenharth2008-03-054-8/+75
| | | | llvm-svn: 47929
* Codegen support for i128 SINT_TO_FP.Dan Gohman2008-03-054-21/+60
| | | | llvm-svn: 47928
* Refactor code. Remove duplicated functions that basically do the same thing asEvan Cheng2008-03-0516-187/+170
| | | | | | findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. llvm-svn: 47927
* Skip functions that return multiple values.Devang Patel2008-03-051-0/+5
| | | | llvm-svn: 47924
* Check struct return type first. Devang Patel2008-03-051-6/+7
| | | | llvm-svn: 47922
* Removed spurious EnablePPCRS check.Bill Wendling2008-03-041-4/+3
| | | | llvm-svn: 47918
* Move PPC lowering functions into PPCTargetLoweringDale Johannesen2008-03-042-28/+120
| | | | | | | class (cosmetic). First piece of byval implementation; this doesn't work yet. No functional change. llvm-svn: 47917
* Use -enable-ppc-regscavenger flag for these checksBill Wendling2008-03-041-2/+2
| | | | llvm-svn: 47916
* Use a command-line option to turn register scavenging on/off for PPC.Bill Wendling2008-03-042-39/+51
| | | | llvm-svn: 47915
* Print types for all ret operands.Devang Patel2008-03-041-1/+2
| | | | llvm-svn: 47911
* Use while loop.Devang Patel2008-03-041-3/+2
| | | | llvm-svn: 47909
* Revert SmallVector ctor variants.Devang Patel2008-03-042-60/+0
| | | | llvm-svn: 47908
* Use cast instead of dyn_cast.Devang Patel2008-03-042-11/+12
| | | | | | Update test to use multiple return value directly, instead of relying on -sretpromotion. llvm-svn: 47907
* Filter nested structsDevang Patel2008-03-041-0/+16
| | | | llvm-svn: 47906
* Handle multiple return values.Devang Patel2008-03-042-3/+41
| | | | llvm-svn: 47904
* x86-64 atomicsAndrew Lenharth2008-03-042-2/+35
| | | | llvm-svn: 47903
* Properly populate lists of defined/undefined symbols in presence of aliasesAnton Korobeynikov2008-03-041-1/+11
| | | | llvm-svn: 47900
* Add alias with non-external aliasee to the list of exported symbols of the ↵Anton Korobeynikov2008-03-041-1/+10
| | | | | | library. llvm-svn: 47899
* Use appropriate index to get the result value.Devang Patel2008-03-041-1/+3
| | | | llvm-svn: 47897
* Skip sret attribute while preparing attribute list forDevang Patel2008-03-041-11/+21
| | | | | | new function and new call sites. llvm-svn: 47896
* Add FunctionType ctor variant that takes SmallVector params.Devang Patel2008-03-042-0/+60
| | | | llvm-svn: 47895
* Increment counter that keeps track of total number of sret promoted.Devang Patel2008-03-041-0/+1
| | | | llvm-svn: 47892
* Skip declarations.Devang Patel2008-03-041-1/+1
| | | | llvm-svn: 47890
* Process externally visible functions also. Later on code generator will do ↵Devang Patel2008-03-041-2/+1
| | | | | | the right thing. llvm-svn: 47889
* Collect statistics.Devang Patel2008-03-041-5/+11
| | | | llvm-svn: 47888
* Fix a typo noticed by Erick Tryzelaar,Gordon Henriksen2008-03-041-1/+1
| | | | llvm-svn: 47886
* Some improvements related to the computation of heights, depths of SUnits.Roman Levenstein2008-03-041-21/+93
| | | | | | | The basic idea is that all these algorithms are computing the longest paths from the root node or to the exit node. Therefore the existing implementation that uses and iterative and potentially exponential algorithm was changed to a well-known graph algorithm based on dynamic programming. It has a linear run-time. llvm-svn: 47884
* Refactor ExpandConstantFP so it can optimize load from constpool of types ↵Evan Cheng2008-03-041-16/+19
| | | | | | larger than f64 into extload from smaller types. llvm-svn: 47883
* Really fix the test.Evan Cheng2008-03-041-1/+1
| | | | llvm-svn: 47882
* Fix broken test.Evan Cheng2008-03-041-1/+1
| | | | llvm-svn: 47881
* 80 column violations.Evan Cheng2008-03-041-3/+6
| | | | llvm-svn: 47878
* Fix 80 column violations.Evan Cheng2008-03-041-8/+13
| | | | llvm-svn: 47877
* Did I say 'e = getNumOperands()'? I meant --e, of course.Bill Wendling2008-03-041-1/+1
| | | | llvm-svn: 47875
* Add PR1501 test case.Evan Cheng2008-03-041-0/+30
| | | | llvm-svn: 47874
* Rename isOperand() to isOperandOf() (and other similar methods). It always ↵Evan Cheng2008-03-045-27/+27
| | | | | | confuses me. llvm-svn: 47872
* Remove -always-fold-and-in-test.Evan Cheng2008-03-042-10/+3
| | | | llvm-svn: 47871
* Miscellaneous clean-ups based on Evan's feedback:Bill Wendling2008-03-032-65/+79
| | | | | | | | | - Cleaned up how the prologue-epilogue inserter loops over the instructions. - Instead of restarting the processing of an instruction if we remove an implicit kill, just update the end iterator and make sure that the iterator isn't incremented. llvm-svn: 47870
* Misc. APInt-ification in the DAGCombiner.Dan Gohman2008-03-031-17/+20
| | | | llvm-svn: 47869
* More APInt-ification.Dan Gohman2008-03-031-10/+6
| | | | llvm-svn: 47868
* Yet more APInt-ification.Dan Gohman2008-03-031-9/+6
| | | | llvm-svn: 47867
* More APInt-ification.Dan Gohman2008-03-031-16/+19
| | | | llvm-svn: 47866
* Add support for lowering i64 SRA_PARTS and friends on x86-64.Dan Gohman2008-03-031-16/+22
| | | | llvm-svn: 47865
* More APInt-ification.Dan Gohman2008-03-031-3/+4
| | | | llvm-svn: 47864
* This is the initial check-in for adding register scavenging to PPC. (Currently,Bill Wendling2008-03-037-108/+369
| | | | | | | | | PPC-64 doesn't work.) This also lowers the spilling of the CR registers so that it uses a register other than the default R0 register (the scavenger scrounges for one). A significant part of this patch fixes how kill information is handled. llvm-svn: 47863
* Go through the machine instruction's operands to make sure that we're notBill Wendling2008-03-031-12/+52
| | | | | | | marking both a super- and sub-register as "killed". This removes implicit uses that are marked as "killed". llvm-svn: 47862
* Make the register scavenger update the bookkeeping values for sub/superBill Wendling2008-03-031-3/+39
| | | | | | registers. llvm-svn: 47861
* Multiple instructions can be inserted when eliminating frame indexes. We needBill Wendling2008-03-031-7/+24
| | | | | | | the register scavenger to process all of those new instructions instead of just the last one inserted. llvm-svn: 47860
* new testcaseChris Lattner2008-03-031-0/+6
| | | | llvm-svn: 47858
OpenPOWER on IntegriCloud