summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Oops llvm namespace.Jim Laskey2005-12-211-388/+392
| | | | llvm-svn: 24913
* Start of Dwarf framework code.Jim Laskey2005-12-211-0/+424
| | | | llvm-svn: 24912
* make sure to relegalize all casesChris Lattner2005-12-211-1/+1
| | | | llvm-svn: 24911
* enable the gep isel optChris Lattner2005-12-211-6/+0
| | | | llvm-svn: 24910
* RegenerateChris Lattner2005-12-211-121/+127
| | | | llvm-svn: 24908
* allow logical operators on packed integral typesChris Lattner2005-12-211-4/+10
| | | | llvm-svn: 24907
* Get logical operations to like packed types, allow BinOp::getNot to createChris Lattner2005-12-212-7/+19
| | | | | | the right vector of -1's as its operand. llvm-svn: 24906
* fix a bug I introduced that broke recursive expansion of nodes (e.g. ↵Chris Lattner2005-12-211-3/+6
| | | | | | scalarizing vectors) llvm-svn: 24905
* regenerateChris Lattner2005-12-211-620/+632
| | | | llvm-svn: 24904
* Implement Regression/Assembler/2005-12-21-ZeroInitVector.llChris Lattner2005-12-212-1/+13
| | | | llvm-svn: 24903
* new testcaseChris Lattner2005-12-211-0/+5
| | | | llvm-svn: 24902
* add some nodes, forgot to commit this last night :(Chris Lattner2005-12-211-0/+2
| | | | llvm-svn: 24901
* This was meant to go inChris Lattner2005-12-211-1/+1
| | | | llvm-svn: 24900
* Rewrite FP stackifier support in the X86InstrInfo.td file, splitting patternsChris Lattner2005-12-214-366/+356
| | | | | | | | | | | | | | | that were overloaded to work before and after the stackifier runs. With the new clean world, it is possible to write patterns for these instructions: woo! This also adds a few simple patterns here and there, though there are a lot still missing. These should be easy to add though. :) See the comments under "Floating Point Stack Support" for more details on the new world order. This patch as absolutely no effect on the generated code, woo! llvm-svn: 24899
* Wrap some long lines: no functionality changeChris Lattner2005-12-211-28/+56
| | | | llvm-svn: 24898
* Eliminate some GCC warnings from the generated codeChris Lattner2005-12-211-10/+18
| | | | llvm-svn: 24897
* remove dead codeChris Lattner2005-12-211-4/+0
| | | | llvm-svn: 24896
* Document the new -post-link-opts option.Reid Spencer2005-12-211-0/+15
| | | | llvm-svn: 24895
* new testcase, fails on X86 and probably othersChris Lattner2005-12-211-0/+125
| | | | llvm-svn: 24894
* Implement PR512:Reid Spencer2005-12-211-0/+39
| | | | | | | | | | | | This patch adds a -post-link-opts option to llvm-ld which allows an arbitrary program to optimize bytecode after linking. The program is passed two file names. The first is the input (linked bytecode) the second is where it must place its output (presumably after optimizing). If the output file is bytecode, it is used as a substitute for the input. This will allow things like poolalloc to be written as a separate program instead of a loadable module or built into LLVM. llvm-svn: 24893
* Document the new --enable-debug-runtime configure option.Reid Spencer2005-12-211-0/+5
| | | | llvm-svn: 24892
* Implement fix for PR471:Reid Spencer2005-12-214-30/+63
| | | | | | | | * Add --enable-debug-runtime option, defaults to disabled * Pass the new config var, DEBUG_RUNTIME, to Makefiles * Don't use -Wa,-strip-debug if debug-runtime is enabled llvm-svn: 24891
* Lower ConstantAggregateZero into zerosChris Lattner2005-12-211-7/+20
| | | | llvm-svn: 24890
* Remove ISD::RET select code. Now tblgen'd.Evan Cheng2005-12-211-41/+0
| | | | llvm-svn: 24889
* * Added lowering hook for external weak global address. It inserts a loadEvan Cheng2005-12-215-22/+135
| | | | | | | | | | for Darwin. * Added lowering hook for ISD::RET. It inserts CopyToRegs for the return value (or store / fld / copy to ST(0) for floating point value). This eliminate the need to write C++ code to handle RET with variable number of operands. llvm-svn: 24888
* Don't emit a null terminator, nor anything after it, to the ctor/dtor listChris Lattner2005-12-211-1/+4
| | | | llvm-svn: 24887
* SSE2 floating point load / store patterns. SSE2 fp to int conversion patterns.Evan Cheng2005-12-203-140/+188
| | | | llvm-svn: 24886
* Flip the meaning of FPContractions to reflect Requires<[]> change.Evan Cheng2005-12-201-1/+1
| | | | llvm-svn: 24884
* Fix the semantic of Requires<[cond]> to mean if (!cond) goto PXXFail;Evan Cheng2005-12-201-1/+1
| | | | llvm-svn: 24883
* This ugly patch works around a GCC bug where it is compiling SelectCode toChris Lattner2005-12-201-22/+56
| | | | | | | | | | | | | use too much stack space, overflowing the stack for large functions. Instead of emitting new SDOperands in each match block, we emit some common ones at the top of SelectCode then reuse them when possible. This reduces the stack size of SelectCode from 28K to 21K. Note that GCC compiles it to 512 bytes :-/ I've filed GCC PR 25505 to track this. llvm-svn: 24882
* Run lower-switch after lower-invoke.Chris Lattner2005-12-201-12/+10
| | | | | | Only run lower-allocations and lower-select for the simple isel llvm-svn: 24881
* Reserve G1 for frame offset stuff and use it to handle large stack frames.Chris Lattner2005-12-202-9/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, instead of emitting this: test: save -40112, %o6, %o6 ;; imm too large add %i6, -40016, %o0 ;; imm too large call caller nop restore %g0, %g0, %g0 retl nop emit this: test: sethi 4194264, %g1 or %g1, 848, %g1 save %o6, %g1, %o6 sethi 4194264, %g1 add %g1, %i6, %g1 add %i1, 944, %o0 call caller nop restore %g0, %g0, %g0 retl nop which doesn't cause the assembler to barf. llvm-svn: 24880
* Added X86 readport patterns.Evan Cheng2005-12-202-13/+27
| | | | llvm-svn: 24879
* Now support instructions with implicit write to non-flag registers.Evan Cheng2005-12-201-51/+91
| | | | llvm-svn: 24878
* Added a hook to print out names of target specific DAG nodes.Evan Cheng2005-12-205-5/+36
| | | | llvm-svn: 24877
* Added a break that I meant to include originally, for efficiency. BasicallyPatrick Meredith2005-12-201-0/+1
| | | | | | | | | | it keeps it from trying to add the same node to the node set over and over if it matches multiple given patterns. Also in cases where there are a lot of patterns to be matched, and it matches an early one, this will make the script run slightly faster. It's more there because it logically should be, than anything else, I mean, Python is never going to be fast ;-) llvm-svn: 24876
* Fix a nasty latent bug in the legalizer that was triggered by my patchChris Lattner2005-12-201-22/+30
| | | | | | | | | | | last night, breaking crafty and twolf. Make sure that the newly found legal nodes are themselves not re-legalized until the next iteration. Also, since this functionality exists now, we can reduce number of legalizer iterations by depending on this behavior instead of having to misuse 'do another iteration' to get the same effect. llvm-svn: 24875
* Pattern-match return. Includes gross hack!Nate Begeman2005-12-206-39/+45
| | | | llvm-svn: 24874
* Lefted out a fix in the previous check in.Evan Cheng2005-12-201-1/+7
| | | | llvm-svn: 24873
* Fix a couple of the FIXMEs, thanks to suggestion from Chris. This allowsNate Begeman2005-12-192-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | us to load and store vectors directly at a pointer (offset of zero) by using r0 as the base register. This also requires some asm printer work to satisfy the darwin assembler. For void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = add <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float> *%a ret void } We now produce: _foo: lvx v0, 0, r3 vaddfp v0, v0, v0 stvx v0, 0, r3 blr Instead of: _foo: li r2, 0 lvx v0, r2, r3 vaddfp v0, v0, v0 stvx v0, r2, r3 blr llvm-svn: 24872
* Convert load/store over to being pattern matchedNate Begeman2005-12-194-223/+202
| | | | llvm-svn: 24871
* X86 conditional branch support.Evan Cheng2005-12-195-19/+63
| | | | llvm-svn: 24870
* Print out opcode number if it's an unknown target node.Evan Cheng2005-12-191-1/+6
| | | | llvm-svn: 24869
* Fix another bug related to chain / flag.Evan Cheng2005-12-191-8/+20
| | | | llvm-svn: 24868
* It's essential we clear CodeGenMap after isel every basic block!Evan Cheng2005-12-191-0/+1
| | | | llvm-svn: 24867
* Fix a case where the DAG Combiner would accidentally CSE flag-producing nodes,Chris Lattner2005-12-191-1/+6
| | | | | | creating graphs that cannot be scheduled. llvm-svn: 24866
* Added the llvm-kernel project to the list of automatically configuredJohn Criswell2005-12-192-29/+35
| | | | | | projects. llvm-svn: 24865
* Prefix DSA specific options with dsa.John Criswell2005-12-191-4/+4
| | | | | | Make the dsa-alloc-list and dsa-free-list options hidden. llvm-svn: 24864
* Added an option to specify the names of heap freeing functions.John Criswell2005-12-191-0/+20
| | | | llvm-svn: 24863
* Added a command line option that allows the user to specify a list ofJohn Criswell2005-12-191-0/+19
| | | | | | functions that allocate memory. llvm-svn: 24862
OpenPOWER on IntegriCloud