summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Switch the operandlist/valuelist from being vectors to being just an ↵Chris Lattner2005-11-081-23/+33
| | | | | | | | | array.This saves 12 bytes from SDNode, but doesn't speed things up substantially (our graphs apparently already fit within the cache on my g5). In any case this reduces memory usage. llvm-svn: 24249
* Explicitly initialize some instance varsChris Lattner2005-11-081-4/+5
| | | | llvm-svn: 24247
* Clean up RemoveDeadNodes significantly, by eliminating the need for a temporaryChris Lattner2005-11-081-32/+34
| | | | | | | | set and eliminating the need to iterate whenever something is removed (which can be really slow in some cases). Thx to Jim for pointing out something silly I was getting stuck on. :) llvm-svn: 24241
* Add a new option to indicate we want the code generator to emit code quickly,Chris Lattner2005-11-082-4/+5
| | | | | | | not spending tons of time microoptimizing it. This is useful for an -O0 style of build. llvm-svn: 24235
* Add a new option to indicate we want the code generator to emit code ↵Chris Lattner2005-11-0814-32/+20
| | | | | | quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build. llvm-svn: 24233
* Let's try ignoring resource utilization on the backward pass.Jim Laskey2005-11-071-0/+2
| | | | llvm-svn: 24231
* add support for storing and returning boolsDuraid Madina2005-11-071-5/+26
| | | | llvm-svn: 24228
* Always compute max align.Chris Lattner2005-11-061-6/+5
| | | | llvm-svn: 24227
* just some random hacking - calls (particularly indirect) need a lot ofDuraid Madina2005-11-061-14/+25
| | | | | | love (especially with -sched=simple) llvm-svn: 24225
* Add the necessary support to the ISel to allow targets to codegen the newNate Begeman2005-11-063-8/+42
| | | | | | | | alignment information appropriately. Includes code for PowerPC to support fixed-size allocas with alignment larger than the stack. Support for arbitrarily aligned dynamic allocas coming soon. llvm-svn: 24224
* minor clarity changes, no functionality difference.Chris Lattner2005-11-061-2/+2
| | | | llvm-svn: 24223
* don't misencode CC#'sChris Lattner2005-11-062-4/+5
| | | | llvm-svn: 24219
* encode/decode function alignment in bc filesChris Lattner2005-11-062-24/+30
| | | | llvm-svn: 24218
* Read/write global variable alignments if presentChris Lattner2005-11-062-6/+37
| | | | llvm-svn: 24216
* print alignment info for globals and functionsChris Lattner2005-11-061-0/+7
| | | | llvm-svn: 24212
* regenerateChris Lattner2005-11-061-785/+793
| | | | llvm-svn: 24211
* Allow globals to have an alignment specified. Switch to using isPowerOf2_32Chris Lattner2005-11-061-13/+25
| | | | | | at Jim's request for the checking code. llvm-svn: 24210
* regenerateChris Lattner2005-11-061-820/+775
| | | | llvm-svn: 24208
* factor optional alignmentChris Lattner2005-11-061-34/+23
| | | | llvm-svn: 24207
* ask for 16-byte aligned jmpbufs. This should unbreak C++ on IA64 (andDuraid Madina2005-11-061-1/+2
| | | | | | | a bunch of other things) but is currently ignored by the code generator. llvm-svn: 24206
* Write/read allocation instruction alignment info to .bc files.Chris Lattner2005-11-052-8/+21
| | | | llvm-svn: 24203
* verify that alignments are always a power of 2Chris Lattner2005-11-051-0/+2
| | | | llvm-svn: 24200
* regenerateChris Lattner2005-11-051-164/+176
| | | | llvm-svn: 24199
* Verify that alignment amounts are a power of 2Chris Lattner2005-11-051-0/+12
| | | | llvm-svn: 24198
* fix printing the alignment directiveChris Lattner2005-11-051-1/+1
| | | | llvm-svn: 24197
* Add support alignment of allocation instructions.Nate Begeman2005-11-0511-3285/+2650
| | | | | | | | | Add support for specifying alignment and size of setjmp jmpbufs. No targets currently do anything with this information, nor is it presrved in the bytecode representation. That's coming up next. llvm-svn: 24196
* add a case Nate sent meChris Lattner2005-11-051-0/+23
| | | | llvm-svn: 24195
* Implement Transforms/TailCallElim/return-undef.ll, a trivial caseChris Lattner2005-11-051-0/+1
| | | | | | that has been sitting in my inbox since May 18. :) llvm-svn: 24194
* Turn sdiv into udiv if both operands have a clear sign bit. This occursChris Lattner2005-11-051-0/+19
| | | | | | | | | | | | | | | | | a few times in crafty: OLD: %tmp.36 = div int %tmp.35, 8 ; <int> [#uses=1] NEW: %tmp.36 = div uint %tmp.35, 8 ; <uint> [#uses=0] OLD: %tmp.19 = div int %tmp.18, 8 ; <int> [#uses=1] NEW: %tmp.19 = div uint %tmp.18, 8 ; <uint> [#uses=0] OLD: %tmp.117 = div int %tmp.116, 8 ; <int> [#uses=1] NEW: %tmp.117 = div uint %tmp.116, 8 ; <uint> [#uses=0] OLD: %tmp.92 = div int %tmp.91, 8 ; <int> [#uses=1] NEW: %tmp.92 = div uint %tmp.91, 8 ; <uint> [#uses=0] Which all turn into shrs. llvm-svn: 24190
* Turn srem -> urem when neither input has their sign bit set. This triggersChris Lattner2005-11-051-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | 8 times in vortex, allowing the srems to be turned into shrs: OLD: %tmp.104 = rem int %tmp.5.i37, 16 ; <int> [#uses=1] NEW: %tmp.104 = rem uint %tmp.5.i37, 16 ; <uint> [#uses=0] OLD: %tmp.98 = rem int %tmp.5.i24, 16 ; <int> [#uses=1] NEW: %tmp.98 = rem uint %tmp.5.i24, 16 ; <uint> [#uses=0] OLD: %tmp.91 = rem int %tmp.5.i19, 8 ; <int> [#uses=1] NEW: %tmp.91 = rem uint %tmp.5.i19, 8 ; <uint> [#uses=0] OLD: %tmp.88 = rem int %tmp.5.i14, 8 ; <int> [#uses=1] NEW: %tmp.88 = rem uint %tmp.5.i14, 8 ; <uint> [#uses=0] OLD: %tmp.85 = rem int %tmp.5.i9, 1024 ; <int> [#uses=2] NEW: %tmp.85 = rem uint %tmp.5.i9, 1024 ; <uint> [#uses=0] OLD: %tmp.82 = rem int %tmp.5.i, 512 ; <int> [#uses=2] NEW: %tmp.82 = rem uint %tmp.5.i1, 512 ; <uint> [#uses=0] OLD: %tmp.48.i = rem int %tmp.5.i.i161, 4 ; <int> [#uses=1] NEW: %tmp.48.i = rem uint %tmp.5.i.i161, 4 ; <uint> [#uses=0] OLD: %tmp.20.i2 = rem int %tmp.5.i.i, 4 ; <int> [#uses=1] NEW: %tmp.20.i2 = rem uint %tmp.5.i.i, 4 ; <uint> [#uses=0] it also occurs 9 times in gcc, but with odd constant divisors (1009 and 61) so the payoff isn't as great. llvm-svn: 24189
* Fix logic bug in finding retry slot in tally.Jim Laskey2005-11-051-15/+33
| | | | llvm-svn: 24188
* Fix a warningJim Laskey2005-11-041-0/+1
| | | | llvm-svn: 24187
* oops, forgot to load GP for indirect calls, though the old code now commentedDuraid Madina2005-11-041-4/+21
| | | | | | | | | out failed (e.g. methcall) - now the code compiles, though it's not quite right just yet (tm) ;) would fix this but it's 3am! :O llvm-svn: 24186
* kill redundant SP/GP/RP save/restores across callsDuraid Madina2005-11-041-2/+3
| | | | llvm-svn: 24183
* add support for loading boolsDuraid Madina2005-11-041-1/+7
| | | | llvm-svn: 24182
* Scheduling now uses itinerary data.Jim Laskey2005-11-041-166/+201
| | | | llvm-svn: 24180
* fun with predicates! (add TRUNC i64->i1, AND i1 i1, fix XOR i1 i1)Duraid Madina2005-11-041-41/+97
| | | | llvm-svn: 24175
* add pattern to load constant 0 into a predicate regDuraid Madina2005-11-031-0/+2
| | | | llvm-svn: 24164
* Fix a bug that prevented this pattern from matchingChris Lattner2005-11-031-1/+1
| | | | llvm-svn: 24161
* Fix a crash that Andrew noticed, and add a pair of braces to unfconfuseNate Begeman2005-11-021-5/+5
| | | | | | XCode's indenting. llvm-svn: 24159
* make this 64 bit clean, fixed test30 of ↵Andrew Lenharth2005-11-021-1/+1
| | | | | | /Regression/Transforms/InstCombine/add.ll llvm-svn: 24158
* Fix a QOI issue noticed by Markus F.X.J. Oberhumer.Chris Lattner2005-11-021-0/+1
| | | | | | This fixes PR641 llvm-svn: 24154
* "fix" support for FP constants (this code asserts in the scheduler,Duraid Madina2005-11-021-2/+4
| | | | | | though) llvm-svn: 24152
* add F0 and F1 to the FP register classDuraid Madina2005-11-021-3/+19
| | | | llvm-svn: 24151
* This works nowChris Lattner2005-11-021-2/+1
| | | | llvm-svn: 24150
* add support for SELECT to TargetSelectionDAG.td, add support forDuraid Madina2005-11-022-31/+43
| | | | | | selecting ints to IA64, and a few other ia64 bits and pieces llvm-svn: 24147
* add support for loading FP constants +0.0 and +1.0 to the dag isel,Duraid Madina2005-11-022-3/+8
| | | | | | stop pretending -0.0 and -1.0 are machine constants llvm-svn: 24146
* Fix a source of undefined behavior when dealing with 64-bit types. ThisChris Lattner2005-11-021-1/+1
| | | | | | may fix PR652. Thanks to Andrew for tracking down the problem. llvm-svn: 24145
* Allow itineraries to be passed through the Target Machine.Jim Laskey2005-11-014-5/+21
| | | | llvm-svn: 24139
* heh, scheduling was easy?Duraid Madina2005-11-011-1/+3
| | | | | | need to send chris, jim and sampo a box of fish each llvm-svn: 24135
OpenPOWER on IntegriCloud