| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | 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 | |||||
| * | Allow targets to custom legalize leaf nodes like GlobalAddress. | Chris Lattner | 2005-11-17 | 1 | -1/+13 | |
| | | | | | llvm-svn: 24387 | |||||
| * | When lowering direct calls, lower them to use a targetglobaladress directly | Chris Lattner | 2005-11-17 | 2 | -2/+6 | |
| | | | | | | | instead of a globaladdress. This has no effect on the generated code at all. llvm-svn: 24386 | |||||
| * | Teach legalize about targetglobaladdress | Chris Lattner | 2005-11-17 | 1 | -0/+1 | |
| | | | | | llvm-svn: 24385 | |||||
| * | Add patterns for some 16-bit immediate instructions, patch contributed by | Chris Lattner | 2005-11-17 | 1 | -28/+37 | |
| | | | | | | | Evan Cheng. llvm-svn: 24384 | |||||
| * | Add patterns for several simple instructions that take i32 immediates. | Chris Lattner | 2005-11-16 | 2 | -42/+36 | |
| | | | | | | | Patch contributed by Evan Cheng! llvm-svn: 24382 | |||||
| * | who would have thought you would want to write into globals too | Andrew Lenharth | 2005-11-16 | 1 | -0/+6 | |
| | | | | | llvm-svn: 24381 | |||||
| * | when debugging lower dbg intrinsics to calls | Chris Lattner | 2005-11-16 | 1 | -0/+22 | |
| | | | | | llvm-svn: 24377 | |||||
| * | tell selectiondag when we're debugging | Chris Lattner | 2005-11-16 | 1 | -0/+1 | |
| | | | | | llvm-svn: 24376 | |||||
| * | indicate when a tool is a debug build. | Chris Lattner | 2005-11-16 | 1 | -1/+6 | |
| | | | | | llvm-svn: 24374 | |||||
| * | * Fix DerivedType::dropAllTypeUses to not change the number of types in a | Chris Lattner | 2005-11-16 | 1 | -22/+65 | |
| | | | | | | | | | | | | | | type when it gets refined. This allows us to hash on this crucial value. * Fix several issues in TypeMap::RefineAbstractType that prevent it from handling hash values that change correctly. * Define hashTypeStructure to not always return 0. :) This last part (which depends on the first two) speeds up gccld time on eon from 3.78s to 2.75s with a release build (a 28% speedup!). This resolves PR474. llvm-svn: 24372 | |||||
| * | initial step at adding a dag-to-dag isel for X86 backend. Patch contributed | Chris Lattner | 2005-11-16 | 3 | -3/+175 | |
| | | | | | | | by Evan Cheng! llvm-svn: 24371 | |||||
| * | Patch to clean up function call pseudos and support the BLA instruction, | Nate Begeman | 2005-11-16 | 5 | -20/+31 | |
| | | | | | | | | which branches to an absolute address. This is required to support objc direct dispatch. llvm-svn: 24370 | |||||
| * | Make sure to use SwitchSection to switch sections so that we don't ↵ | Chris Lattner | 2005-11-15 | 1 | -2/+3 | |
| | | | | | | | | | accidentally emit functions into the .const section. Whoops. llvm-svn: 24363 | |||||
| * | Fix handling of multiple unnamed globals with the same type | Chris Lattner | 2005-11-15 | 1 | -3/+6 | |
| | | | | | llvm-svn: 24362 | |||||
| * | Separate X86ISelLowering stuff out from the X86ISelPattern.cpp file. Patch | Chris Lattner | 2005-11-15 | 5 | -1007/+1061 | |
| | | | | | | | contributed by Evan Cheng. llvm-svn: 24358 | |||||
| * | Remove extraneous parents around constants when using a constant expr cast. | Chris Lattner | 2005-11-15 | 1 | -2/+0 | |
| | | | | | llvm-svn: 24357 | |||||
| * | Handle globals with explicit alignment requests | Chris Lattner | 2005-11-14 | 1 | -4/+4 | |
| | | | | | llvm-svn: 24355 | |||||
| * | Teach emitAlignment to handle explicit alignment requests by globals. | Chris Lattner | 2005-11-14 | 1 | -1/+3 | |
| | | | | | llvm-svn: 24354 | |||||
| * | Teach the PPC asmwriter to honor globals with explicit section requests. | Chris Lattner | 2005-11-14 | 1 | -22/+32 | |
| | | | | | llvm-svn: 24353 | |||||
| * | instead of using mstats, use malloc_zone_statistics which returns numbers | Chris Lattner | 2005-11-14 | 1 | -4/+8 | |
| | | | | | | | that actually make sense. llvm-svn: 24352 | |||||
| * | Teach -track-memory to work on darwin. Looking at sbrk doesn't work because | Chris Lattner | 2005-11-14 | 1 | -10/+12 | |
| | | | | | | | the default allocator uses mmap. llvm-svn: 24349 | |||||
| * | add FP select. next up - divide! | Duraid Madina | 2005-11-14 | 1 | -3/+5 | |
| | | | | | llvm-svn: 24346 | |||||
| * | Add some dummy method impls | Chris Lattner | 2005-11-13 | 1 | -0/+8 | |
| | | | | | llvm-svn: 24345 | |||||

