summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Added source file/line correspondence for dwarf (PowerPC only at this point.)Jim Laskey2005-12-1610-5/+160
| | | | llvm-svn: 24748
* Weak and linkonce global vars should still have a .globl emitted for themChris Lattner2005-12-161-1/+2
| | | | llvm-svn: 24747
* Add a second vector type to the VRRC register class, and fix some patternsNate Begeman2005-12-162-6/+6
| | | | | | so that tablegen can infer all types. llvm-svn: 24746
* add some notesChris Lattner2005-12-161-0/+9
| | | | llvm-svn: 24745
* Add a couple more instrsChris Lattner2005-12-162-4/+8
| | | | llvm-svn: 24744
* remove some dead codeChris Lattner2005-12-161-22/+0
| | | | llvm-svn: 24743
* asmprint pseudo instrsChris Lattner2005-12-162-24/+10
| | | | llvm-svn: 24742
* Autogenerate asmprinter for F3_2 instructionsChris Lattner2005-12-163-127/+129
| | | | llvm-svn: 24741
* Switch F3_1 instructions over to use AsmStringsChris Lattner2005-12-163-111/+146
| | | | llvm-svn: 24740
* Plug in basic hooks for an autogenerated asm printer to fill in.Chris Lattner2005-12-162-14/+19
| | | | llvm-svn: 24739
* Add operand info for F3_[12] instructions, getting V8 back to basic ↵Chris Lattner2005-12-162-98/+198
| | | | | | | | | functionality. With this, Regression/CodeGen/SparcV8/basictest.ll now passes. Lets hear it for regression tests :) llvm-svn: 24738
* A truly trivial testcase to ensure sparcv8 doesn't get completely brokenChris Lattner2005-12-162-0/+9
| | | | | | again. llvm-svn: 24737
* Remove JIT support, which doesn't work.Chris Lattner2005-12-165-295/+3
| | | | llvm-svn: 24736
* add some simple operand infoChris Lattner2005-12-161-7/+8
| | | | llvm-svn: 24735
* rename option for consistency with -mcpu -mattr etcChris Lattner2005-12-161-1/+1
| | | | llvm-svn: 24734
* rename optionsChris Lattner2005-12-162-2/+2
| | | | llvm-svn: 24733
* rename optionChris Lattner2005-12-161-1/+1
| | | | llvm-svn: 24732
* Document -mcpu -mattr -tripleChris Lattner2005-12-162-18/+45
| | | | llvm-svn: 24731
* provide an option to override the target triple in a module from the ↵Chris Lattner2005-12-161-1/+7
| | | | | | commandline. llvm-svn: 24730
* provide an option to override the target triple in a module from the commandChris Lattner2005-12-161-0/+6
| | | | | | line. llvm-svn: 24729
* Update the darwin handling of linkonce & weak functions and GV stubs. ThisChris Lattner2005-12-161-57/+63
| | | | | | should work in all permutations. llvm-svn: 24728
* Don't globalize internal functionsChris Lattner2005-12-161-1/+2
| | | | llvm-svn: 24727
* * Promote all 1 bit entities to 8 bit.Evan Cheng2005-12-154-114/+9
| | | | | | | * Handling extload (1 bit -> 8 bit) and remove C++ code that handle 1 bit zextload. llvm-svn: 24726
* Don't create SEXTLOAD/ZEXTLOAD instructions that the target doesn't supportChris Lattner2005-12-151-2/+4
| | | | | | if after legalize. This fixes IA64 failures. llvm-svn: 24725
* Added frameindex, constpool, globaladdr, and externalsym as root nodes ofEvan Cheng2005-12-151-2/+3
| | | | | | leaaddr. llvm-svn: 24724
* Added constpool, frameindex, and externalsym nodes.Evan Cheng2005-12-151-3/+9
| | | | llvm-svn: 24723
* Handling zero extension of 1 bit value.Evan Cheng2005-12-151-17/+128
| | | | llvm-svn: 24722
* Use MOV8rm to load 1 bit value.Evan Cheng2005-12-151-0/+3
| | | | llvm-svn: 24721
* Remove a now unused statistic.Nate Begeman2005-12-141-1/+0
| | | | llvm-svn: 24720
* Use the new predicate support that Evan Cheng added to remove some codeNate Begeman2005-12-142-57/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from the DAGToDAG cpp file. This adds pattern support for vector and scalar fma, which passes test/Regression/CodeGen/PowerPC/fma.ll, and does the right thing in the presence of -disable-excess-fp-precision. Allows us to match: void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = mul <4 x float> %tmp1, %tmp1 %tmp3 = add <4 x float> %tmp2, %tmp1 store <4 x float> %tmp3, <4 x float> *%a ret void } As: _foo: li r2, 0 lvx v0, r2, r3 vmaddfp v0, v0, v0, v0 stvx v0, r2, r3 blr Or, with llc -disable-excess-fp-precision, _foo: li r2, 0 lvx v0, r2, r3 vxor v1, v1, v1 vmaddfp v1, v0, v0, v1 vaddfp v0, v1, v0 stvx v0, r2, r3 blr llvm-svn: 24719
* Add a case for float just to make sure the patterns for both precisionsNate Begeman2005-12-141-1/+7
| | | | | | are matching llvm-svn: 24718
* Fixed a typo: line 2323: MOVSX16rm8 -> MOVZX16rm8. This was the cause fo ↵Evan Cheng2005-12-141-1/+1
| | | | | | 12/14/2005 hbd failure. llvm-svn: 24717
* Added predicate !NoExcessFPPrecision to FMADD, FMADDS, FMSUB, and FMSUBS.Evan Cheng2005-12-141-4/+11
| | | | llvm-svn: 24716
* Added support to specify predicates.Evan Cheng2005-12-144-41/+105
| | | | llvm-svn: 24715
* Fix printing of the instructions.Chris Lattner2005-12-141-1/+1
| | | | llvm-svn: 24714
* Fixed extload type profile. The 4th operand is a ValueType node with typeEvan Cheng2005-12-141-2/+1
| | | | | | OtherVT, it cannot be compare to type of 1st operand which is an integer type. llvm-svn: 24713
* When folding loads into ops, immediately replace uses of the op with theChris Lattner2005-12-141-6/+6
| | | | | | | | | load. This reduces number of worklist iterations and avoid missing optimizations depending on folding of things into sext_inreg nodes (which aren't supported by all targets). Tested by Regression/CodeGen/X86/extend.ll:test2 llvm-svn: 24712
* new testcase, each function should have one extension instr in itChris Lattner2005-12-141-0/+19
| | | | llvm-svn: 24711
* Remove -start-group and -end-group no-op options, accidentally committedReid Spencer2005-12-141-5/+0
| | | | | | in last patch. llvm-svn: 24710
* Fix the (zext (zextload)) case to trigger, similarly for sign extends.Chris Lattner2005-12-141-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow (zext (truncate)) to apply after legalize if the target supports AND (which all do). This compiles short %foo() { %tmp.0 = load ubyte* %X ; <ubyte> [#uses=1] %tmp.3 = cast ubyte %tmp.0 to short ; <short> [#uses=1] ret short %tmp.3 } to: _foo: movzbl _X, %eax ret instead of: _foo: movzbl _X, %eax movzbl %al, %eax ret thanks to Evan for pointing this out. llvm-svn: 24709
* Fix Transforms/ScalarRepl/2005-12-14-UnionPromoteCrash.ll, a crash on undefinedChris Lattner2005-12-141-2/+2
| | | | | | behavior in 126.gcc on big-endian systems. llvm-svn: 24708
* new (undefined) testcase, distilled from 126.gcc that scalarrepl crashes onChris Lattner2005-12-141-0/+34
| | | | llvm-svn: 24707
* Fix a miscompilation in crafty due to a recent patchChris Lattner2005-12-141-1/+1
| | | | llvm-svn: 24706
* Added sext and zext patterns.Evan Cheng2005-12-141-9/+34
| | | | llvm-svn: 24705
* Skip over srcvalue nodes when generating ISEL code.Evan Cheng2005-12-141-1/+7
| | | | llvm-svn: 24704
* Added sextld + zextld DAG nodes.Evan Cheng2005-12-141-0/+17
| | | | llvm-svn: 24703
* Fold (zext (load x) to (zextload x).Evan Cheng2005-12-141-1/+18
| | | | llvm-svn: 24702
* Add support for fmul node of type v4f32.Nate Begeman2005-12-142-0/+21
| | | | | | | | | | | | | | | | | | | | | | void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = mul <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float> *%a ret void } Is selected to: _foo: li r2, 0 lvx v0, r2, r3 vxor v1, v1, v1 vmaddfp v0, v0, v0, v1 stvx v0, r2, r3 blr llvm-svn: 24701
* Prepare support for AltiVec multiply, divide, and sqrt.Nate Begeman2005-12-133-2/+19
| | | | llvm-svn: 24700
* Adjust the constructor to the Linker class to take an argument that namesReid Spencer2005-12-134-5/+13
| | | | | | | | the module being constructed. This is used to correctly name the module. Previously the name of the linker tool was used which produces confusing output when the module identifier is used in an error message. llvm-svn: 24699
OpenPOWER on IntegriCloud