summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* MC: Add MCAsmParserExtension, a base class for all the target/object specificDaniel Dunbar2010-07-126-3/+97
| | | | | | classes which want to extend the basic asm parser. llvm-svn: 108158
* MC: Move AsmParser::TokError to MCAsmParser().Daniel Dunbar2010-07-124-12/+14
| | | | llvm-svn: 108155
* MC: Move getLoc() to MCAsmLexer().Daniel Dunbar2010-07-124-10/+10
| | | | llvm-svn: 108154
* Nope, still breaks the release selfhost bots :(Benjamin Kramer2010-07-122-21/+0
| | | | llvm-svn: 108153
* Reapply the "or" half of r108136, which seems to be less problematic.Benjamin Kramer2010-07-122-0/+21
| | | | llvm-svn: 108152
* cache result of operator*Gabor Greif2010-07-121-6/+9
| | | | llvm-svn: 108150
* Don't fast-isel an x87 comparison opcode, as fast-isel doesn'tDan Gohman2010-07-121-2/+2
| | | | | | support branching on x87 comparisons yet. This fixes PR7624. llvm-svn: 108149
* Revert r108141 again, sigh.Benjamin Kramer2010-07-123-44/+0
| | | | llvm-svn: 108148
* cache result of operator*Gabor Greif2010-07-121-2/+3
| | | | llvm-svn: 108147
* cache result of operator*Gabor Greif2010-07-121-6/+9
| | | | llvm-svn: 108146
* cache result of operator*Gabor Greif2010-07-121-3/+4
| | | | llvm-svn: 108145
* cache result of operator*Gabor Greif2010-07-121-4/+6
| | | | llvm-svn: 108144
* cache results of operator*Gabor Greif2010-07-121-3/+5
| | | | llvm-svn: 108143
* cache results of operator*Gabor Greif2010-07-121-21/+31
| | | | llvm-svn: 108142
* Reapply 108136 with an ugly pasto fixed.Benjamin Kramer2010-07-123-0/+44
| | | | llvm-svn: 108141
* Move optimization to avoid redundant matching.Benjamin Kramer2010-07-121-13/+13
| | | | llvm-svn: 108140
* Revert r108136 until I figure out why it broke selfhost.Benjamin Kramer2010-07-123-45/+0
| | | | llvm-svn: 108139
* cache dereferenced iteratorsGabor Greif2010-07-121-2/+3
| | | | llvm-svn: 108138
* recommit r108131 (hich has been backed out in r108135) with a fixGabor Greif2010-07-121-2/+3
| | | | llvm-svn: 108137
* instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & ↵Benjamin Kramer2010-07-123-0/+45
| | | | | | | | | | | | | | | | | x) ^ z which is one instruction shorter. (PR6773) before: %and = and i32 %y, %x %neg = xor i32 %x, -1 %and4 = and i32 %z, %neg %xor = xor i32 %and4, %and after: %xor1 = xor i32 %z, %y %and2 = and i32 %xor1, %x %xor = xor i32 %and2, %z llvm-svn: 108136
* back out r108131 (of TailDuplication.cpp) for now, it causes a buildbot failureGabor Greif2010-07-121-5/+4
| | | | llvm-svn: 108135
* cache dereferenced iteratorsGabor Greif2010-07-121-3/+3
| | | | llvm-svn: 108134
* cache dereferenced iteratorsGabor Greif2010-07-121-4/+6
| | | | llvm-svn: 108133
* cache dereferenced iteratorsGabor Greif2010-07-121-3/+5
| | | | llvm-svn: 108132
* cache dereferenced iteratorsGabor Greif2010-07-123-9/+12
| | | | llvm-svn: 108131
* Convert some tab stops into spaces.Duncan Sands2010-07-1233-77/+77
| | | | llvm-svn: 108130
* Add parentheses around an || to correct the logic. Also silences a GCC warningChandler Carruth2010-07-121-1/+1
| | | | | | | | | that was actually useful here. Chris, please double check that this is the correct interpretation. I was pretty sure, and ran it by Nick as well. llvm-svn: 108129
* Remove tab characters and 80-col.Eric Christopher2010-07-122-5/+5
| | | | llvm-svn: 108127
* 80 columns.Eric Christopher2010-07-122-2/+3
| | | | llvm-svn: 108126
* Path::isRootDirectory is unimplemented on Unix and not used,Chris Lattner2010-07-122-14/+0
| | | | | | remove it, fixing PR6909. llvm-svn: 108125
* Convert getLoadStoreRegOpcode to use a switch.Rafael Espindola2010-07-121-26/+29
| | | | llvm-svn: 108123
* Convert the last use of getPhysicalRegisterRegClass and remove it.Rafael Espindola2010-07-123-28/+5
| | | | | | | | | | | | AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An instruction might be using a register that can only be replaced with one from a subclass of getPhysicalRegisterRegClass. With this patch we use getMinimalPhysRegClass. This is correct, but conservative. We should check the uses of the register and select the largest register class that can be used in all of them. llvm-svn: 108122
* Fix up the ocaml kaleidoscope example as well.Eric Christopher2010-07-124-12/+12
| | | | | | Note that the example currently doesn't appear to work. llvm-svn: 108121
* A basic block that only uses RFP registers still needs the FP_REG_KILL marker.Jakob Stoklund Olesen2010-07-121-10/+7
| | | | | | This fixes PR7375. llvm-svn: 108120
* Don't use getPhysicalRegisterRegClass in PBQP. The existing checks that theRafael Espindola2010-07-121-15/+10
| | | | | | | | | | physical register can be allocated in the class of the virtual are sufficient. I think that the test for virtual registers is more strict than it needs to be, it should be possible to coalesce two virtual registers the class of one is a subclass of the other. llvm-svn: 108118
* fix PR7311 by avoiding breaking casts when a bitcast from scalar->vectorChris Lattner2010-07-122-0/+19
| | | | | | is involved. llvm-svn: 108117
* make the prototypes for CreateMalloc and CreateFree more consistent. PatchChris Lattner2010-07-123-6/+8
| | | | | | by Hans Vandierendonck from PR7605 llvm-svn: 108116
* Convert the last getPhysicalRegisterRegClass in VirtRegRewriter.cpp toRafael Espindola2010-07-122-2/+3
| | | | | | | | | getMinimalPhysRegClass. It was used to produce spills, and it is better to use the most specific class if possible. Update getLoadStoreRegOpcode to handle GR32_AD. llvm-svn: 108115
* if jump threading is able to infer interesting values on bothChris Lattner2010-07-122-2/+37
| | | | | | | | the LHS and RHS of an and/or instruction, don't multiply add known predecessor values. This fixes the crash on testcase from PR7498 llvm-svn: 108114
* fix PR7429, a crash turning a load from a string into a float.Chris Lattner2010-07-122-3/+22
| | | | llvm-svn: 108113
* convert to filechecconvert to filecheckkChris Lattner2010-07-121-10/+10
| | | | llvm-svn: 108112
* merge two tests.Chris Lattner2010-07-122-11/+11
| | | | llvm-svn: 108111
* improve Path::makeUnique when mkstemp/mktemp are not availableChris Lattner2010-07-121-7/+12
| | | | | | patch by Lasse Kärkkäinen in PR7404. llvm-svn: 108110
* change machinelicm to use MachineInstr::isSafeToMove. NoChris Lattner2010-07-121-18/+8
| | | | | | | | intended functionality change. The avoidance of hoistiing implicitdef seems wrong though. llvm-svn: 108109
* first part of JIT support for address of labels, part of PR7264,Chris Lattner2010-07-113-13/+81
| | | | | | patch by Yuri! llvm-svn: 108107
* introduce WinCOFFObjectWriter, patch by Michael Spencer!Chris Lattner2010-07-113-0/+74
| | | | llvm-svn: 108103
* introduce WinCOFFStreamer.cpp, patch by Michael Spencer!Chris Lattner2010-07-113-0/+205
| | | | llvm-svn: 108102
* If it's safe to speculatively execute load(alloca) the it's safe to executeNick Lewycky2010-07-111-3/+11
| | | | | | | load(gep(alloca)) where the gep is all-zeros. There's more we could do here but this is a common case. llvm-svn: 108101
* fix typoChris Lattner2010-07-111-1/+1
| | | | llvm-svn: 108100
* RISC architectures get their memory operand folding for free.Jakob Stoklund Olesen2010-07-1116-812/+0
| | | | | | | | The only folding these load/store architectures can do is converting COPY into a load or store, and the target independent part of foldMemoryOperand already knows how to do that. llvm-svn: 108099
OpenPOWER on IntegriCloud