Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use PrivateGlobalPrefix for basic block labels | Chris Lattner | 2005-11-21 | 1 | -2/+4 |
| | | | | llvm-svn: 24452 | ||||
* | Use PrivateGlobalPrefix for basic blocks | Chris Lattner | 2005-11-21 | 1 | -6/+6 |
| | | | | llvm-svn: 24451 | ||||
* | Switch to the new shared SwitchSection | Chris Lattner | 2005-11-21 | 1 | -26/+6 |
| | | | | llvm-svn: 24450 | ||||
* | Start using SwitchSection, allowing globals and functions to be emitted | Chris Lattner | 2005-11-21 | 1 | -39/+7 |
| | | | | | | to specific sections. Delete some dead functions copied from the X86 backend. llvm-svn: 24449 | ||||
* | convert the rest of this over to use SwitchSection | Chris Lattner | 2005-11-21 | 3 | -7/+4 |
| | | | | llvm-svn: 24448 | ||||
* | Start using the AsmPrinter shared SwitchSection code. This allows the X86 | Chris Lattner | 2005-11-21 | 2 | -18/+3 |
| | | | | | | backend to implement global variables in sections. llvm-svn: 24447 | ||||
* | This is now implemented in common codegen code | Chris Lattner | 2005-11-21 | 1 | -20/+0 |
| | | | | llvm-svn: 24446 | ||||
* | Add section switching to common code generator code. Add a couple of | Chris Lattner | 2005-11-21 | 3 | -2/+23 |
| | | | | | | asserts. llvm-svn: 24445 | ||||
* | Rename SwitchSection -> switchSection to avoid conflicting with a future | Chris Lattner | 2005-11-21 | 4 | -22/+22 |
| | | | | | | change. llvm-svn: 24443 | ||||
* | Start using PrivateGlobalPrefix correctly | Chris Lattner | 2005-11-21 | 2 | -6/+8 |
| | | | | llvm-svn: 24442 | ||||
* | set PrivateGlobalPrefix on darwin, use it when printing out CP references | Chris Lattner | 2005-11-21 | 1 | -7/+9 |
| | | | | llvm-svn: 24441 | ||||
* | Naturally align doubles in the constant pool, set PrivateGlobalPrefix on | Chris Lattner | 2005-11-21 | 3 | -8/+17 |
| | | | | | | | | | darwin, use it when printing the constant pool indices so the labels are appropriately private, emit cp entries to .const instead of .data on darwin and only emit a single .section for the constant pool, not one for each entry. llvm-svn: 24440 | ||||
* | Lower READCYCLECOUNTER correctly, preserving the chain result | Chris Lattner | 2005-11-20 | 1 | -4/+8 |
| | | | | llvm-svn: 24438 | ||||
* | Legalize MERGE_VALUES, expand READCYCLECOUNTER correctly, so it doesn't | Chris Lattner | 2005-11-20 | 1 | -8/+13 |
| | | | | | | break control dependence. llvm-svn: 24437 | ||||
* | encode rdtsc correctly | Chris Lattner | 2005-11-20 | 1 | -4/+7 |
| | | | | llvm-svn: 24435 | ||||
* | use chain operands to ensure the copies don't wander from the rdtsc instruction. | Chris Lattner | 2005-11-20 | 1 | -3/+9 |
| | | | | llvm-svn: 24434 | ||||
* | The second patch of X86 support for read cycle counter. | Andrew Lenharth | 2005-11-20 | 4 | -0/+20 |
| | | | | llvm-svn: 24430 | ||||
* | The first patch of X86 support for read cycle counter | Andrew Lenharth | 2005-11-20 | 1 | -0/+12 |
| | | | | llvm-svn: 24429 | ||||
* | more progress towards bug 291 being finished. Patch by Owen Anderson, | Chris Lattner | 2005-11-20 | 1 | -12/+17 |
| | | | | | | HAVE_GV case fixed up by me. llvm-svn: 24428 | ||||
* | Unbreak codegen of bools. This should fix the llc/jit/llc-beta failures | Chris Lattner | 2005-11-19 | 1 | -1/+1 |
| | | | | | | from last night. llvm-svn: 24427 | ||||
* | Improve Selection DAG printer portability. Patch by Owen Anderson! | Chris Lattner | 2005-11-19 | 1 | -4/+6 |
| | | | | llvm-svn: 24425 | ||||
* | Teach the x86 backend about the register constraints of its addressing mode. | Chris Lattner | 2005-11-19 | 1 | -1/+2 |
| | | | | | | Patch by Evan Cheng llvm-svn: 24423 | ||||
* | Capture more operand info, patch by Evan Cheng | Chris Lattner | 2005-11-19 | 1 | -1/+2 |
| | | | | llvm-svn: 24422 | ||||
* | Teach the graph viewer to handle register operands that are zero. | Chris Lattner | 2005-11-19 | 1 | -1/+1 |
| | | | | llvm-svn: 24421 | ||||
* | Silence a bogus warning | Chris Lattner | 2005-11-19 | 1 | -3/+2 |
| | | | | llvm-svn: 24420 | ||||
* | Add load and other support to the dag-dag isel. Patch contributed by Evan | Chris Lattner | 2005-11-19 | 1 | -2/+225 |
| | | | | | | Cheng! llvm-svn: 24419 | ||||
* | Add some method variants, patch by Evan Cheng | Chris Lattner | 2005-11-19 | 1 | -15/+41 |
| | | | | llvm-svn: 24418 | ||||
* | Teach LLVM how to scalarize packed types. Currently, this only works on | Nate Begeman | 2005-11-19 | 4 | -33/+111 |
| | | | | | | | | | | | | | | | | | | | | | | | packed types with an element count of 1, although more generic support is coming. This allows LLVM to turn the following code: void %foo(<1 x float> * %a) { entry: %tmp1 = load <1 x float> * %a; %tmp2 = add <1 x float> %tmp1, %tmp1 store <1 x float> %tmp2, <1 x float> *%a ret void } Into: _foo: lfs f0, 0(r3) fadds f0, f0, f0 stfs f0, 0(r3) blr llvm-svn: 24416 | ||||
* | Fix a crash building 176.gcc due to my recent patch, which only fixed | Chris Lattner | 2005-11-18 | 1 | -1/+1 |
| | | | | | | half the problem. llvm-svn: 24414 | ||||
* | prevent latent switch creation | Andrew Lenharth | 2005-11-18 | 1 | -2/+2 |
| | | | | llvm-svn: 24413 | ||||
* | Split out the shift code from visitBinary. | Nate Begeman | 2005-11-18 | 1 | -7/+14 |
| | | | | llvm-svn: 24412 | ||||
* | Implement a refinement to the mem2reg algorithm for cases where an alloca | Chris Lattner | 2005-11-18 | 1 | -0/+55 |
| | | | | | | | | | | has a single def. In this case, look for uses that are dominated by the def and attempt to rewrite them to directly use the stored value. This speeds up mem2reg on these values and reduces the number of phi nodes inserted. This should address PR665. llvm-svn: 24411 | ||||
* | This needs proper dominance | Chris Lattner | 2005-11-18 | 1 | -5/+14 |
| | | | | llvm-svn: 24410 | ||||
* | post-dom-frontiers requires proper post-dominance | Chris Lattner | 2005-11-18 | 1 | -1/+1 |
| | | | | llvm-svn: 24409 | ||||
* | This requires proper dominance | Chris Lattner | 2005-11-18 | 1 | -1/+1 |
| | | | | llvm-svn: 24408 | ||||
* | add more patterns, patch by Evan Cheng. | Chris Lattner | 2005-11-18 | 1 | -108/+156 |
| | | | | llvm-svn: 24406 | ||||
* | Also add the new vector value type here, for completeness. | Nate Begeman | 2005-11-18 | 1 | -0/+1 |
| | | | | llvm-svn: 24405 | ||||
* | only use dyld stubs if not in ppc-static mode. This completes support for | Chris Lattner | 2005-11-17 | 1 | -15/+21 |
| | | | | | | non-static codegen. llvm-svn: 24403 | ||||
* | This was checking the wrong GEP expression. Fixing this fixes a gccas crash | Chris Lattner | 2005-11-17 | 1 | -1/+1 |
| | | | | | | compiling mysql reported by Ted Kremenek. llvm-svn: 24402 | ||||
* | refactor call operand handling to eliminate special cases from printOp. | Chris Lattner | 2005-11-17 | 1 | -19/+17 |
| | | | | llvm-svn: 24401 | ||||
* | disentangle call operands from branch operands a bit | Chris Lattner | 2005-11-17 | 2 | -3/+9 |
| | | | | llvm-svn: 24400 | ||||
* | add an option to generate completely non-pic code, corresponding to what | Chris Lattner | 2005-11-17 | 3 | -2/+17 |
| | | | | | | | | | | | | | gcc -static produces on PPC. This is used for building kexts and other things. With this, materializing the address of a global looks like: lis r2, ha16(L_H$non_lazy_ptr) la r3, lo16(L_H$non_lazy_ptr)(r2) we're still emitting stubs for functions, which is wrong. That is next. llvm-svn: 24399 | ||||
* | Fix a bug that resistor on IRC hit where we tried to create token factor | Chris Lattner | 2005-11-17 | 1 | -2/+2 |
| | | | | | | nodes of load results, not of their chain results. llvm-svn: 24398 | ||||
* | Enable global address legalization, fixing a todo and allowing the removal | Chris Lattner | 2005-11-17 | 3 | -49/+2 |
| | | | | | | | | of some code. This exposes the implicit load from the stubs to the DAG, allowing them to be optimized by the dag combiner. It also moves darwin specific stuff out of the isel into the legalizer, and allows more to be moved to the .td file. llvm-svn: 24397 | ||||
* | Teach the selector to fold lo(g) into load instruction immediate fields | Chris Lattner | 2005-11-17 | 1 | -0/+8 |
| | | | | llvm-svn: 24396 | ||||
* | Generate LA and ADDIS when possible. | Chris Lattner | 2005-11-17 | 1 | -4/+6 |
| | | | | llvm-svn: 24395 | ||||
* | Use the right accessor to create this node | Chris Lattner | 2005-11-17 | 1 | -1/+1 |
| | | | | llvm-svn: 24394 | ||||
* | Add an initial hack at legalizing GlobalAddress into the appropriate nodes | Chris Lattner | 2005-11-17 | 4 | -2/+52 |
| | | | | | | | | | | | | | | | | on Darwin to remove smarts from the isel. This is currently disabled by default (uncomment setOperationAction(ISD::GlobalAddress to enable it). tblgen needs to become smarter about tglobaladdr nodes and bigger patterns needed to be added to the .td file. However, we can currently emit stuff like this: :) li r2, lo16(L_x$non_lazy_ptr) lis r3, ha16(L_x$non_lazy_ptr) lwzx r2, r3, r2 The obvious improvements will follow. llvm-svn: 24390 | ||||
* | Add globaladdress and targetglobaladdress nodes for dag patterns | Chris Lattner | 2005-11-17 | 1 | -0/+4 |
| | | | | llvm-svn: 24389 | ||||
* | LI could theoretically be used for the lo-part of a global address, just like | Chris Lattner | 2005-11-17 | 1 | -1/+1 |
| | | | | | | lis can be used for the high part. llvm-svn: 24388 |