summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Do not generate LLVM IR for available_externally function bodies atDouglas Gregor2010-07-127-13/+33
| | | | | | | | | | -O0, since we won't be using the definitions for anything anyway. For lib/System/Path.o when built in Debug+Asserts mode, this leads to a 4% improvement in compile time (and suppresses 440 function bodies). <rdar://problem/7987644> llvm-svn: 108156
* 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
* Redesign number 3. The previous design was not handling matching of empty ↵Howard Hinnant2010-07-122-372/+413
| | | | | | strings inside of loops. llvm-svn: 108151
* 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
* Fix another aspect of PR7047, macro expansions. Previously, this was hackedChandler Carruth2010-07-122-13/+12
| | | | | | | | | | | | around by exempting enums from the check, but this doesn't handle a lot of cases. A better approach is to directly check if the operator comes from a macro expansion. I've removed a reference to the rdar that originally led to the enum suppression when removing it's overly contrived test case. Let me know if that number or a more reasilistic test case involving enums is still needed. llvm-svn: 108128
* 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
* we do in fact have to cache the EOF token returned by the preprocessor.Chris Lattner2010-07-122-6/+7
| | | | | | | | | | In the case of backtracking, the cached token lexer will be the only lexer on the stack, without this the token stack will be empty and EOF won't be returned. This fixes PR7072. llvm-svn: 108124
* 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
* revert a hunk of code that Argiris added in r106213, which is theChris Lattner2010-07-122-10/+7
| | | | | | | root cause of PR7481 and probably more, and has no apparent testcases. I don't understand the logic here so I can't repair it. llvm-svn: 108119
* 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
* fix PR7280 by making the warning on code like this:Chris Lattner2010-07-119-22/+21
| | | | | | | | | | int test1() { return; } default to an error. llvm-svn: 108108
* first part of JIT support for address of labels, part of PR7264,Chris Lattner2010-07-113-13/+81
| | | | | | patch by Yuri! llvm-svn: 108107
OpenPOWER on IntegriCloud