summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Let us play simplify the td file (and fix a few missed sub and mul patterns).Andrew Lenharth2006-10-312-83/+63
| | | | llvm-svn: 31322
* handle "st" as "st(0)"Chris Lattner2006-10-311-3/+12
| | | | llvm-svn: 31320
* TargetLowering::isOperandValidForConstraintChris Lattner2006-10-311-2/+7
| | | | llvm-svn: 31319
* Change the prototype for TargetLowering::isOperandValidForConstraintChris Lattner2006-10-313-17/+28
| | | | llvm-svn: 31318
* generalize the fix for PR977 to also fixChris Lattner2006-10-311-28/+26
| | | | | | Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll llvm-svn: 31317
* Fix PR977 and Transforms/LCSSA/2006-10-31-UnreachableBlock.llChris Lattner2006-10-311-1/+8
| | | | llvm-svn: 31315
* Add all that branch mangling niftinessAndrew Lenharth2006-10-319-129/+414
| | | | llvm-svn: 31313
* add support for calling functions when the caller has variable sized objectsRafael Espindola2006-10-311-1/+19
| | | | llvm-svn: 31312
* 1. Clean up code due to changes in SwitchTo*Section(2)Anton Korobeynikov2006-10-319-52/+80
| | | | | | | | | | 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
* Unbreaking static ctors patch.Anton Korobeynikov2006-10-311-1/+1
| | | | | | | Defaulting second arguments of SwitchTo*Section, this should make things somehow clearer. llvm-svn: 31306
* Fix a typo which can break jumptables.Evan Cheng2006-10-311-1/+1
| | | | llvm-svn: 31305
* Make this compile again.Reid Spencer2006-10-311-1/+1
| | | | llvm-svn: 31304
* Apply Aton's LLVM patch for PR973: Linux ctors / dtors support.Evan Cheng2006-10-311-4/+22
| | | | llvm-svn: 31303
* Fix a problem introduced by a last-minute change (logic negation).Reid Spencer2006-10-301-2/+2
| | | | llvm-svn: 31302
* fix miscompilation of llvm.isunordered, where we branched on the oppositeChris Lattner2006-10-301-2/+2
| | | | | | condition. This fixes miscompilation of Olden/bh and many others. llvm-svn: 31301
* Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4Reid Spencer2006-10-308-17/+52
| | | | | | | generated object modules to be debugged with gdb. Hopefully this helps pre-release debugging. llvm-svn: 31299
* fix wonky indentationChris Lattner2006-10-301-6/+6
| | | | llvm-svn: 31298
* Update comment. Valid option is -debug-pass=Structures.Devang Patel2006-10-301-1/+1
| | | | llvm-svn: 31297
* 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
* All targets expand BR_JT for now.Evan Cheng2006-10-306-4/+11
| | | | llvm-svn: 31294
* Lower jumptable to BR_JT. The legalizer can lower it to a BRIND or let the ↵Evan Cheng2006-10-302-28/+55
| | | | | | target custom lower it. llvm-svn: 31293
* Added a new SDNode type: BR_JT for jumptable branch.Evan Cheng2006-10-301-0/+1
| | | | llvm-svn: 31292
* add a highly efficient hash table that is specialized for mapping C stringsChris Lattner2006-10-291-0/+134
| | | | | | to some other type. llvm-svn: 31286
* Add a new llvm::Allocator abstraction, which will be used by a containerChris Lattner2006-10-291-0/+106
| | | | | | | I'm about to add. This is similar to, but necessarily different than, the STL allocator class. llvm-svn: 31285
* Fix SimplifyCFG/2006-10-29-InvokeCrash.ll, a crash compiling QT.Chris Lattner2006-10-291-1/+1
| | | | llvm-svn: 31284
* Make CanFallThrough more intelligent (so it can handle blocks with (e.g.) noChris Lattner2006-10-291-62/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | successors), and make island block movement more general. This compiles CodeGen/X86/2006-04-27-ISelFoldingBug.ll to: _loadAndRLEsource_no_exit_2E_1_label_2E_0: subl $8, %esp movl %esi, 4(%esp) movl %ebx, (%esp) movl 16(%esp), %eax movl 12(%esp), %ecx LBB1_3: #label.0 movl _last, %edx movl %edx, %esi incl %esi movl %esi, _last movl %ecx, %ebx # TRUNCATE movb %bl, %bl movl _block, %esi movb %bl, 1(%esi,%edx) cmpl %eax, _last jge LBB1_2 #codeRepl5.exitStub LBB1_4: #label.0 cmpl $257, %ecx je LBB1_2 #codeRepl5.exitStub LBB1_1: #label.0.no_exit.1_crit_edge.exitStub movl $1, %eax movl (%esp), %ebx movl 4(%esp), %esi addl $8, %esp ret LBB1_2: #codeRepl5.exitStub xorl %eax, %eax movl (%esp), %ebx movl 4(%esp), %esi addl $8, %esp ret instead of: _loadAndRLEsource_no_exit_2E_1_label_2E_0: subl $8, %esp movl %esi, 4(%esp) movl %ebx, (%esp) movl 16(%esp), %eax movl 12(%esp), %ecx jmp LBB1_3 #label.0 LBB1_1: #label.0.no_exit.1_crit_edge.exitStub movl $1, %eax movl (%esp), %ebx movl 4(%esp), %esi addl $8, %esp ret LBB1_2: #codeRepl5.exitStub xorl %eax, %eax movl (%esp), %ebx movl 4(%esp), %esi addl $8, %esp ret LBB1_3: #label.0 movl _last, %edx movl %edx, %esi incl %esi movl %esi, _last movl %ecx, %ebx # TRUNCATE movb %bl, %bl movl _block, %esi movb %bl, 1(%esi,%edx) cmpl %eax, _last jge LBB1_2 #codeRepl5.exitStub LBB1_4: #label.0 cmpl $257, %ecx jne LBB1_1 #label.0.no_exit.1_crit_edge.exitStub jmp LBB1_2 #codeRepl5.exitStub ... which is much better layout :) llvm-svn: 31282
* fix Generic/2006-10-29-Crash.llChris Lattner2006-10-291-1/+9
| | | | llvm-svn: 31281
* Fix a load folding issue that Evan noticed: there is no need to export valuesChris Lattner2006-10-291-7/+17
| | | | | | used by comparisons in the main block. llvm-svn: 31279
* Try again.Jim Laskey2006-10-291-1/+4
| | | | llvm-svn: 31278
* Not handling zero length strings.Jim Laskey2006-10-291-2/+2
| | | | llvm-svn: 31277
* VLOAD is not the LoadSDNode opcode.Evan Cheng2006-10-291-1/+0
| | | | llvm-svn: 31276
* Remove spurious case. EXTLOAD is not one of the node opcodes.Nick Lewycky2006-10-291-1/+0
| | | | llvm-svn: 31275
* split critical edges more carefully and intelligently. In particular, criticalChris Lattner2006-10-281-4/+61
| | | | | | | | edges whose destinations are not phi nodes don't bother us. Also, share split edges, since the split edge can't have a phi. This significantly reduces the complexity of generated code in some cases. llvm-svn: 31274
* Teach branch folding to fold identical jump tables together and to deleteChris Lattner2006-10-281-5/+53
| | | | | | jump tables that are dead. llvm-svn: 31273
* const'ify jump table stuffChris Lattner2006-10-281-1/+1
| | | | llvm-svn: 31269
* add an assertChris Lattner2006-10-281-0/+1
| | | | llvm-svn: 31267
* don't print dead jump tablesChris Lattner2006-10-281-0/+3
| | | | llvm-svn: 31266
* implement the BlockHasNoFallThrough hookChris Lattner2006-10-282-0/+12
| | | | llvm-svn: 31264
* improve deletion of blocks that just contain branches by knowing thatChris Lattner2006-10-281-33/+38
| | | | | | the pred block doesn't fall through into them if it's a jumptable. llvm-svn: 31263
* add another target hook for branch folding.Chris Lattner2006-10-282-0/+13
| | | | llvm-svn: 31262
* Load and stores have not been uniqued properly.Jim Laskey2006-10-281-13/+42
| | | | llvm-svn: 31261
* Split *all* critical edges before isel. This resolves issues with spill codeChris Lattner2006-10-281-44/+8
| | | | | | | | | being inserted on unsplit critical edges, which introduces (sometimes large amounts of) partially dead spill code. This also fixes PR925 + CodeGen/Generic/switch-crit-edge-constant.ll llvm-svn: 31260
* add option to isCriticalEdgeChris Lattner2006-10-281-3/+12
| | | | llvm-svn: 31258
* break edges more intelligentlyChris Lattner2006-10-281-2/+3
| | | | llvm-svn: 31257
* Expose a smarter way to break critical edges.Chris Lattner2006-10-281-5/+24
| | | | llvm-svn: 31256
* SplitCriticalEdge checks to see if an edge is critical, don't check twiceChris Lattner2006-10-281-2/+1
| | | | llvm-svn: 31255
* Fix a serious bug that caused any x86 vector stuff to infinite loopChris Lattner2006-10-281-1/+1
| | | | llvm-svn: 31254
* Doh. Must check if GV is constant first before putting it in .cstring.Evan Cheng2006-10-281-2/+2
| | | | llvm-svn: 31253
OpenPOWER on IntegriCloud