summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* New testcase, check that dead code doesn't pessimize instcombineChris Lattner2006-05-101-0/+12
| | | | llvm-svn: 28214
* Fix the PowerPC JIT-only failure on UnitTests/Vector/sumarray-dbl, which isChris Lattner2006-05-101-2/+2
| | | | | | | really a bad codegen bug that LLC happens to get lucky with. I must chat with Nate for the proper fix. llvm-svn: 28213
* Templatify RegReductionPriorityQueueEvan Cheng2006-05-101-7/+12
| | | | llvm-svn: 28212
* Add alloca/malloc ctors that don't take array sizes.Chris Lattner2006-05-101-8/+21
| | | | llvm-svn: 28211
* Add an assertion for a common errorChris Lattner2006-05-101-1/+4
| | | | llvm-svn: 28210
* Watch out for the following case:Evan Cheng2006-05-101-11/+37
| | | | | | | | 1. Use expects a chain output. 2. Node is expanded into multiple target ops. 3. One of the inner node produces a chain, the outer most one doesn't. llvm-svn: 28209
* Fix a load folding bug. It is exposed by a multi- resulting instructionsEvan Cheng2006-05-101-59/+63
| | | | | | def : Pat<> pattern. llvm-svn: 28208
* Fix PR773Nate Begeman2006-05-091-2/+20
| | | | llvm-svn: 28207
* This method doesn't need to be virtual, thanks to Reid for pointing this out.Chris Lattner2006-05-091-1/+1
| | | | llvm-svn: 28206
* Fix a regression in my patch from last night that broke the llvmgcc4 build onChris Lattner2006-05-091-1/+1
| | | | | | ppc llvm-svn: 28205
* Indent .data/.text in the .s fileChris Lattner2006-05-091-5/+5
| | | | llvm-svn: 28204
* Another instruction scheduling test caseEvan Cheng2006-05-091-0/+22
| | | | llvm-svn: 28203
* Add pseudo dependency to force a def&use operand to be scheduled last (unlessEvan Cheng2006-05-091-17/+108
| | | | | | | the distance between the def and another use is much longer). This is under option control for now "-sched-lower-defnuse". llvm-svn: 28201
* Debugging infoEvan Cheng2006-05-091-3/+3
| | | | llvm-svn: 28200
* Remove a completed entry.Evan Cheng2006-05-091-42/+0
| | | | llvm-svn: 28199
* Test case for PR770Evan Cheng2006-05-091-0/+22
| | | | llvm-svn: 28198
* PR 770 - permit coallescing of registers in subset register classes.Evan Cheng2006-05-092-16/+30
| | | | llvm-svn: 28197
* Added sub- register classes information.Evan Cheng2006-05-091-7/+29
| | | | llvm-svn: 28196
* Add sub-register class information.Evan Cheng2006-05-091-3/+49
| | | | llvm-svn: 28195
* Implement MASM sections correctly, without a "has masm sections flag" and a ↵Chris Lattner2006-05-092-28/+20
| | | | | | bunch of special case code. llvm-svn: 28194
* Implement MASM sections correctly, without a "has masm sections flag" and aChris Lattner2006-05-091-1/+12
| | | | | | bunch of special case code. llvm-svn: 28193
* Oh yeah, there are two of these now, unify both.Chris Lattner2006-05-091-22/+15
| | | | llvm-svn: 28192
* Setting SwitchToSectionDirective properly in the MASM backend permits a bunchChris Lattner2006-05-091-22/+15
| | | | | | of code to be unified. llvm-svn: 28191
* MASM doesn't have one of these.Chris Lattner2006-05-091-0/+1
| | | | llvm-svn: 28190
* Don't prefix section directives with a tab. Doing so causes blank lines toChris Lattner2006-05-091-1/+1
| | | | | | be emitted to the .s file. llvm-svn: 28189
* Make the masm codepath work like the normal code path.Chris Lattner2006-05-091-2/+4
| | | | llvm-svn: 28188
* Preserve prior behaviorChris Lattner2006-05-091-2/+1
| | | | llvm-svn: 28187
* The MASM asmprinter has been fixed, these hacks are no longer needed.Chris Lattner2006-05-091-20/+2
| | | | llvm-svn: 28186
* Fix the MASM asmprinter's lies. It does not want to emit code to .text/.dataChris Lattner2006-05-094-7/+17
| | | | | | it wants it emitted to _text/_data. llvm-svn: 28185
* Split SwitchSection into SwitchTo{Text|Data}Section methods.Chris Lattner2006-05-099-86/+131
| | | | llvm-svn: 28184
* Split SwitchSection into the SwitchTo{Text|Data}Section functions, to betterChris Lattner2006-05-091-3/+19
| | | | | | support assemblers that distinguish the two. llvm-svn: 28183
* Some notes and thoughts to myselfChris Lattner2006-05-091-7/+7
| | | | llvm-svn: 28182
* Patch to make some xforms preserve each other. Patch contributed byChris Lattner2006-05-095-2/+32
| | | | | | Domagoj Babic! llvm-svn: 28181
* Use the -dumpversion option to llvm-gcc which gives us just the version #Reid Spencer2006-05-092-2/+2
| | | | | | | and is unlikely to change in future releases. This also simplifies the parsing of the full and major llvm-gcc version numbers in the script. llvm-svn: 28180
* Move some methods out of line so that MutexGuard.h isn't needed in a public ↵Chris Lattner2006-05-083-9/+83
| | | | | | header. llvm-svn: 28179
* Move methods out of line so that MutexGuard.h isn't required in the header.Chris Lattner2006-05-081-48/+18
| | | | llvm-svn: 28178
* Another bad case I noticedChris Lattner2006-05-081-0/+37
| | | | llvm-svn: 28177
* add a noteChris Lattner2006-05-081-0/+9
| | | | llvm-svn: 28176
* Make the case I just checked in stronger. Now we compile this:Chris Lattner2006-05-081-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | short test2(short X, short x) { int Y = (short)(X+x); return Y >> 1; } to: _test2: add r2, r3, r4 extsh r2, r2 srawi r3, r2, 1 blr instead of: _test2: add r2, r3, r4 extsh r2, r2 srwi r2, r2, 1 extsh r3, r2 blr llvm-svn: 28175
* Implement and_sext.ll:test3, generating:Chris Lattner2006-05-081-1/+8
| | | | | | | | | | | | | | | | | | | | | _test4: srawi r3, r3, 16 blr instead of: _test4: srwi r2, r3, 16 extsh r3, r2 blr for: short test4(unsigned X) { return (X >> 16); } llvm-svn: 28174
* new testcaseChris Lattner2006-05-081-0/+6
| | | | llvm-svn: 28173
* Yet more readme updatingNate Begeman2006-05-081-36/+22
| | | | llvm-svn: 28172
* Compile this:Chris Lattner2006-05-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | short test4(unsigned X) { return (X >> 16); } to: _test4: movl 4(%esp), %eax sarl $16, %eax ret instead of: _test4: movl $-65536, %eax andl 4(%esp), %eax sarl $16, %eax ret llvm-svn: 28171
* New note about something bad happening in target independent optimizersNate Begeman2006-05-081-2/+18
| | | | llvm-svn: 28170
* Proving once again that I am not as smart as the compilerNate Begeman2006-05-081-2/+1
| | | | llvm-svn: 28169
* Fold more shifts into inserts, and update the READMENate Begeman2006-05-082-20/+34
| | | | llvm-svn: 28168
* Fold shifts with undef operands.Chris Lattner2006-05-081-0/+7
| | | | llvm-svn: 28167
* When tracking demanded bits, if any bits from the sext of an SRA are demanded,Chris Lattner2006-05-081-2/+8
| | | | | | then so is the input sign bit. This fixes mediabench/g721 on X86. llvm-svn: 28166
* Make emission of jump tables a bit less conservative; they are now requiredNate Begeman2006-05-081-4/+4
| | | | | | to be only 31.25% dense, rather than 75% dense. llvm-svn: 28165
* Fixing truncate. Previously we were emitting truncate from r16 to r8 asEvan Cheng2006-05-087-25/+100
| | | | | | | | | | | | | | | | | | | | | | | | movw. That is we promote the destination operand to r16. So %CH = TRUNC_R16_R8 %BP is emitted as movw %bp, %cx. This is incorrect. If %cl is live, it would be clobbered. Ideally we want to do the opposite, that is emitted it as movb ??, %ch But this is not possible since %bp does not have a r8 sub-register. We are now defining a new register class R16_ which is a subclass of R16 containing only those 16-bit registers that have r8 sub-registers (i.e. AX - DX). We isel the truncate to two instructions, a MOV16to16_ to copy the value to the R16_ class, followed by a TRUNC_R16_R8. Due to bug 770, the register colaescer is not going to coalesce between R16 and R16_. That will be fixed later so we can eliminate the MOV16to16_. Right now, it can only be eliminated if we are lucky that source and destination registers are the same. llvm-svn: 28164
OpenPOWER on IntegriCloud