summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* * Correctly handle the MovePCtoLR pseudo-instr with a bl to next instrMisha Brukman2004-10-231-9/+15
| | | | | | * Stop the confusion of using rv and Addr for global addresses: just use rv llvm-svn: 17195
* Add BA, BL, and BLA opcodesMisha Brukman2004-10-231-1/+4
| | | | llvm-svn: 17193
* * Do not emit IMPLICIT_DEF pseudo-instructionsMisha Brukman2004-10-231-6/+71
| | | | | | | | | * Convert register numbers from their opcode value to the real value, e.g. PPC::R1 => 1 and PPC::F1 => 1 * Add correct handling of loading of global values which are PC-relative -- implement ha16() and lo16() llvm-svn: 17190
* DForm_1, particularly used by store instructions, needs the immediate operand toMisha Brukman2004-10-231-1/+13
| | | | | | | be listed second as that is how the instructions are usually created (and is the correct asm syntax) so that it's assembled correctly from its constituents llvm-svn: 17183
* Fix the SPR field for MTLR, MFLR, MTCTR, and MFCTR instructions.Misha Brukman2004-10-231-4/+7
| | | | | | | The decimal value given in the manual (8 or 9) really needs to be multiplied by a factor of 32 because of the group of 5 zero bits after the register code. llvm-svn: 17182
* The value of the XO field for MFLR and MFCTR is 339, not 399Misha Brukman2004-10-231-2/+2
| | | | llvm-svn: 17181
* Remove extraneous blank lineMisha Brukman2004-10-231-1/+0
| | | | llvm-svn: 17180
* Align function arguments in function headersMisha Brukman2004-10-231-5/+4
| | | | llvm-svn: 17178
* Fix a bug that Brian brought to my attention. This corrects:Chris Lattner2004-10-231-1/+2
| | | | | | Assembler/2004-10-22-BCWriterUndefBug.llx llvm-svn: 17177
* Kill casts from integer types to unsigned byte, when the cast was only usedNate Begeman2004-10-231-0/+13
| | | | | | | | as the shift amount operand to a shift instruction. This was causing us to emit unnecessary clear operations for code such as: int foo(int x) { return 1 << x; } llvm-svn: 17175
* Use cleaner quoting and eliminate blank spaceMisha Brukman2004-10-221-3/+3
| | | | llvm-svn: 17174
* Clean up the output from this makefile so its not verbose.Reid Spencer2004-10-221-6/+8
| | | | llvm-svn: 17173
* Adjust rules for building .inc files due to Reid's changes of Makefile.rulesMisha Brukman2004-10-221-32/+5
| | | | llvm-svn: 17169
* Adjust to changes in Makefile.rulesReid Spencer2004-10-225-143/+26
| | | | llvm-svn: 17167
* Eliminate compilation warning on uninitialized variable.Reid Spencer2004-10-221-1/+1
| | | | llvm-svn: 17163
* *** empty log message ***Chris Lattner2004-10-221-4/+47
| | | | llvm-svn: 17161
* Fix a bug Nate noticed, where we miscompiled a simple testcaseChris Lattner2004-10-221-1/+1
| | | | llvm-svn: 17157
* We won't use automakeReid Spencer2004-10-2268-24736/+0
| | | | llvm-svn: 17155
* Remove debug code emitter from the JITMisha Brukman2004-10-211-3/+1
| | | | llvm-svn: 17151
* Make this compile.Alkis Evlogimenos2004-10-211-1/+1
| | | | llvm-svn: 17150
* * Added basic support for JITing functions, basic blocks, instruction encoding,Misha Brukman2004-10-211-20/+169
| | | | | | | | including registers, constants, and partial support for global addresses * The JIT is disabled by default to allow building llvm-gcc, which wants to test running programs during configure llvm-svn: 17149
* Don't clear or sign extend bool->int. This fires a few dozen times on the ↵Nate Begeman2004-10-201-0/+17
| | | | | | test suite llvm-svn: 17147
* Explain what this pass does.Brian Gaeke2004-10-201-1/+7
| | | | llvm-svn: 17146
* Small performance improvement in generated C code:John Criswell2004-10-201-1/+23
| | | | | | | | | | | | Instead of unconditionally copying all phi node values into temporaries for all successor blocks, generate code that will determine what successor block will be called and then copy only those phi node values needed by the successor block. This seems to cut down namd execution time from being 8% higher than GCC to 4% higher than GCC. llvm-svn: 17144
* * Add baseline structural JIT code, but disable the JIT to allow llvm-gcc buildsMisha Brukman2004-10-191-8/+175
| | | | | | | | - Support added for functions, basic blocks, constant pool, constants, registers, and some basic support for globals, all untested * Turn assert()s into abort()s so that unimplemented functions fail in release llvm-svn: 17143
* Hrm, some people complain when the compiler cheerfully tells them what it'sChris Lattner2004-10-191-1/+0
| | | | | | doing... I guess they're right. llvm-svn: 17142
* Fix some grammarMisha Brukman2004-10-191-3/+3
| | | | llvm-svn: 17141
* Simplify mapping info generation. In particular, the LLVM-to-MachineInstr mapBrian Gaeke2004-10-191-86/+3
| | | | | | | is no longer emitted, and we do not reference any MachineCodeForInstruction information. llvm-svn: 17138
* Initial automake generated Makefile templateReid Spencer2004-10-1834-0/+23827
| | | | llvm-svn: 17136
* Initial implementation of the strength reduction for GEP instructions inNate Begeman2004-10-181-0/+251
| | | | | | | | | | | | | | | | | loops. This optimization is not turned on by default yet, but may be run with the opt tool's -loop-reduce flag. There are many FIXMEs listed in the code that will make it far more applicable to a wide range of code, but you have to start somewhere :) This limited version currently triggers on the following tests in the MultiSource directory: pcompress2: 7 times cfrac: 5 times anagram: 2 times ks: 6 times yacr2: 2 times llvm-svn: 17134
* AIX does not have mkdtemp() so emulate its behavior using mktemp() and mkdir()Misha Brukman2004-10-181-5/+10
| | | | llvm-svn: 17131
* Improve compatibility with VC++, patch contributed by Morten Ofstad!Chris Lattner2004-10-182-1/+18
| | | | llvm-svn: 17126
* Get this file compiling with VC++, patch contributed by Morten Ofstad. ↵Chris Lattner2004-10-181-0/+1
| | | | | | Thanks Morten! llvm-svn: 17125
* Correction to allow compilation with Visual C++.Reid Spencer2004-10-184-6/+8
| | | | | | Patch contributed by Morten Ofstad. Thanks Morten! llvm-svn: 17123
* Simplify code by deleting instructions that preceed unreachable instructions.Chris Lattner2004-10-181-1/+101
| | | | | | | Simplify code by simplifying terminators that branch to blocks that start with an unreachable instruction. llvm-svn: 17116
* Turn store -> null/undef into the LLVM unreachable instruction! This simpleChris Lattner2004-10-181-0/+27
| | | | | | | | change hacks off 10K of bytecode from perlbmk (.5%) even though the front-end is not generating them yet and we are not optimizing the resultant code. This isn't too bad. llvm-svn: 17111
* Turn things with obviously undefined semantics into 'store -> null'Chris Lattner2004-10-181-26/+34
| | | | llvm-svn: 17110
* My friend the invoke instruction does not dominate all basic blocks if itChris Lattner2004-10-181-1/+2
| | | | | | occurs in the entry node of a function llvm-svn: 17109
* Fix a bug that occurs when the constant value is the result of an invoke. InChris Lattner2004-10-181-5/+6
| | | | | | | particular, invoke ret values are only live in the normal dest of the invoke not in the unwind dest. llvm-svn: 17108
* Print a semicolon for the unreacahble instruction. This fixes problemsChris Lattner2004-10-171-1/+1
| | | | | | where C requires semicolons in some cases to indicate null statements. llvm-svn: 17107
* Getting ADCE to interact well with unreachable instructions seems like a ↵Chris Lattner2004-10-171-2/+3
| | | | | | | | | | | nontrivial exercise that I'm not interested in tackling right now. Just punt and treat them like unwind's. This 'fixes' test/Regression/Transforms/ADCE/unreachable-function.ll llvm-svn: 17106
* Fix Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.llChris Lattner2004-10-171-4/+8
| | | | | | | If a function had no return instruction in it, and the result of the inlined call instruction was used, we would crash. llvm-svn: 17104
* Pass -single_module option to gcc when linking dynamic libraries for use ↵Nate Begeman2004-10-171-0/+1
| | | | | | with bugpoint, so that we can bugpoint multiple .cp files llvm-svn: 17102
* Generate correct stubs for weak-linked symbolsNate Begeman2004-10-171-2/+3
| | | | llvm-svn: 17101
* fold gep undef, ... -> undefChris Lattner2004-10-171-1/+8
| | | | | | This comes up many times in perlbmk and probably others. llvm-svn: 17100
* Remove printout, realize that instructions in the entry block dominate allChris Lattner2004-10-171-6/+6
| | | | | | other blocks. llvm-svn: 17099
* When inserting PHI nodes, don't insert any phi nodes that are obviouslyChris Lattner2004-10-171-10/+31
| | | | | | | | | unneccesary. This allows us to delete several hundred phi nodes of the form PHI(x,x,x,undef) from 253.perlbmk and probably other programs as well. This implements Mem2Reg/UndefValuesMerge.ll llvm-svn: 17098
* Enhance hasConstantValue to ignore undef values in phi nodes. This allows itChris Lattner2004-10-171-2/+3
| | | | | | to think that PHI[4, undef] == 4. llvm-svn: 17096
* hasConstantValue will soon return instructions that don't dominate the PHI node,Chris Lattner2004-10-172-20/+39
| | | | | | so prepare for this. llvm-svn: 17095
* The first hunk corrects a bug when printing undef null values. We would printChris Lattner2004-10-171-6/+11
| | | | | | | | 0->field, which is illegal. Now we print ((foo*)0)->field. The second hunk is an optimization to not print undefined phi values. llvm-svn: 17094
OpenPOWER on IntegriCloud