summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Improve 64-subtraction of immediates when parts of the immediate can fitJim Grosbach2010-07-145-13/+172
| | | | | | | | | | | in the literal field of an instruction. E.g., long long foo(long long a) { return a - 734439407618LL; } rdar://7038284 llvm-svn: 108339
* Delete fast-isel's trivial load optimization; it breaks debugging becauseDan Gohman2010-07-143-56/+0
| | | | | | it can look past points where a debugger might modify user variables. llvm-svn: 108336
* Fix test to appease the buildbots.Bob Wilson2010-07-141-1/+1
| | | | llvm-svn: 108334
* Add missing address register update to t2LDM_RET instruction.Bob Wilson2010-07-141-1/+1
| | | | | | Patch by Brian Lucas. PR7636. llvm-svn: 108332
* Rather than using an ifdef on the target to zero out fields,Duncan Sands2010-07-141-4/+1
| | | | | | just use memset to zero the entire struct. llvm-svn: 108330
* A couple potential optimizations inspired by comment 4 in PR6773.Eli Friedman2010-07-141-0/+41
| | | | llvm-svn: 108328
* Fix for PR7193 was overly conservative. The only case where sibcall calleeEvan Cheng2010-07-142-6/+25
| | | | | | | | | | address cannot be allocated a register is in 32-bit mode where the first three arguments are marked inreg. In that case EAX, EDX, and ECX will be used for argument passing. This fixes PR7610. llvm-svn: 108327
* Add support for NEON VMVN immediate instructions.Bob Wilson2010-07-144-7/+96
| | | | llvm-svn: 108324
* The bits in the cmode field of 32-bit VMOV immediate instructions all dependBob Wilson2010-07-141-2/+2
| | | | | | of the value of the immediate. llvm-svn: 108323
* revert r108320, I see the failures now...Chris Lattner2010-07-142-21/+0
| | | | llvm-svn: 108322
* reapply benjamin's instcombine patch, I don't see anything wrong with it and ↵Chris Lattner2010-07-142-0/+21
| | | | | | can't repro any problems with a manual self-host. llvm-svn: 108320
* Re-enable the test with fix.Evan Cheng2010-07-141-3/+2
| | | | llvm-svn: 108319
* temporarily disable to test to fix buildbots.Chris Lattner2010-07-141-2/+3
| | | | llvm-svn: 108310
* fix a bug found by a warning I added to clang this morning.Chris Lattner2010-07-141-1/+1
| | | | llvm-svn: 108309
* Teach ProcessImplicitDefs to transform more COPY instructions into ↵Evan Cheng2010-07-144-22/+47
| | | | | | IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620. llvm-svn: 108304
* Add an ARM-specific DAG combining to avoid redundant VDUPLANE nodes.Bob Wilson2010-07-142-0/+41
| | | | | | Radar 7373643. llvm-svn: 108303
* Don't propagate debug locations to instructions for materializingDan Gohman2010-07-143-9/+17
| | | | | | | constants, since they may not be emited near the other instructions which get the same line, and this confuses debug info. llvm-svn: 108302
* Add AVX 256-bit compare instructions and a bunch of testcasesBruno Cardoso Lopes2010-07-133-0/+458
| | | | llvm-svn: 108286
* Remove vestigial decl.Jakob Stoklund Olesen2010-07-131-4/+0
| | | | llvm-svn: 108278
* Print VNInfo flags.Jakob Stoklund Olesen2010-07-131-0/+4
| | | | llvm-svn: 108277
* Use a target-specific VMOVIMM DAG node instead of BUILD_VECTOR to representBob Wilson2010-07-134-193/+79
| | | | | | NEON VMOV-immediate instructions. This simplifies some things. llvm-svn: 108275
* AVX 256-bit conversion instructionsBruno Cardoso Lopes2010-07-136-15/+313
| | | | | | Add the x86 VEX_L form to handle special cases where VEX_L must be set. llvm-svn: 108274
* Update comment.Evan Cheng2010-07-131-1/+1
| | | | llvm-svn: 108272
* In inline asm treat indirect 'X' constraint as 'm'.Dale Johannesen2010-07-132-3/+23
| | | | | | | This may not be right in all cases, but it's better than asserting which it was doing before. PR 7528. llvm-svn: 108268
* Added a check that pusha cannot be encoded in 64-bit mode.Kevin Enderby2010-07-131-0/+2
| | | | llvm-svn: 108265
* Add an assertion to make PR7542 fail consistently.Jakob Stoklund Olesen2010-07-131-0/+1
| | | | | | | | | | LiveInterval::overlapsFrom dereferences end() if it is called on an empty interval. It would be reasonable to just return false - an empty interval doesn't overlap anything, but I want to know who is doing it first. llvm-svn: 108264
* Fix the Named Metadata example to make it clear which specificDan Gohman2010-07-131-0/+2
| | | | | | construct is the named metadata. llvm-svn: 108263
* Add support for empty named metadata too. This isn't particularlyDan Gohman2010-07-132-12/+14
| | | | | | useful, but it is nice for consistency. llvm-svn: 108262
* Fix LiveInterval::overlaps so it doesn't claim touching intervals overlap.Jakob Stoklund Olesen2010-07-131-10/+2
| | | | | | Also, one binary search is enough. llvm-svn: 108261
* Add support for empty metadata nodes: !{}.Dan Gohman2010-07-134-4/+11
| | | | llvm-svn: 108259
* Extend the r107852 optimization which turns some fp compare to code sequence ↵Evan Cheng2010-07-134-80/+302
| | | | | | using only i32 operations. It now optimize some f64 compares when fp compare is exceptionally slow (e.g. cortex-a8). It also catches comparison against 0.0. llvm-svn: 108258
* Add an ARM "feature". Cortex-a8 fp comparison is very slow (> 20 cycles).Evan Cheng2010-07-132-1/+7
| | | | llvm-svn: 108256
* Patched Makefile.rules to allow objective C and objective C++ compilation.Greg Clayton2010-07-131-2/+56
| | | | | | This allows LLDB (llvm/tools/lldb) to build on Mac OS X. llvm-svn: 108255
* -enable-unsafe-fp-math should not imply -enable-finite-only-fp-math.Evan Cheng2010-07-134-4/+4
| | | | llvm-svn: 108254
* Grammar.Eric Christopher2010-07-131-1/+1
| | | | llvm-svn: 108252
* Fix PR number.Dale Johannesen2010-07-131-1/+1
| | | | llvm-svn: 108251
* Switch from EXPECT_EQ({true,false, ...) to the more canonicalChandler Carruth2010-07-132-11/+11
| | | | | | | EXPECT_{TRUE,FALSE}(...) macros. This also prevents suprious warnings about bool-to-pointer conversion that occurs withit EXPECT_EQ. llvm-svn: 108248
* Fix compile unit in example. Thanks Renato Golin!Devang Patel2010-07-131-2/+2
| | | | llvm-svn: 108246
* Handle the case of a tail recursion in which the tail call is followedDuncan Sands2010-07-132-14/+39
| | | | | | | | | by a return that returns a constant, while elsewhere in the function another return instruction returns a different constant. This is a special case of accumulator recursion, so just generalize the existing logic a bit. llvm-svn: 108241
* rotate CallInst operandsGabor Greif2010-07-133-20/+12
| | | | | | | | | | | | | | | | | with this commit the callee moves to the end of the operand array (from the start) and the call arguments now start at index 0 (formerly 1) this ordering is now consistent with InvokeInst this commit only flips the switch, functionally it is equivalent to r101465 I intend to commit several cleanups after a few days of soak period llvm-svn: 108240
* HTML cleanup and validation.Benjamin Kramer2010-07-131-111/+39
| | | | llvm-svn: 108239
* When doing sext/zext of constants, the target type must be strictlyDuncan Sands2010-07-131-4/+2
| | | | | | wider than the source type. Correct LangRef. llvm-svn: 108238
* use a typedef instead of its expansion, patch by Michael SpencerChris Lattner2010-07-131-1/+1
| | | | llvm-svn: 108229
* 80-columnsEric Christopher2010-07-135-12/+18
| | | | llvm-svn: 108228
* Move NEON "modified immediate" encode/decode into ARMAddressingModes.h toBob Wilson2010-07-134-77/+84
| | | | | | avoid replicated code. llvm-svn: 108227
* my work on adding segment registers to LEA missed the Chris Lattner2010-07-132-12/+6
| | | | | | | disassembler. Remove some code from the disassembler to compensate, unbreaking disassembly of lea's. llvm-svn: 108226
* Add AVX 256-bit packed logical formsBruno Cardoso Lopes2010-07-133-0/+147
| | | | llvm-svn: 108224
* Add AVX 256-bit unop arithmetic instructionsBruno Cardoso Lopes2010-07-133-53/+150
| | | | llvm-svn: 108223
* Since AVX is a superset of all SSE versions, only use HasAVX for AVX ↵Bruno Cardoso Lopes2010-07-132-81/+77
| | | | | | instructions llvm-svn: 108222
* Bring ELF64 on par with ELF32, add a few magic constants and support ".dynamic"Stephen Wilson2010-07-131-11/+123
| | | | | | section entries. llvm-svn: 108221
OpenPOWER on IntegriCloud