summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Rematerialization logic was overly conservative when it comes to loads from ↵Evan Cheng2008-02-231-20/+6
| | | | | | fixed stack slots. llvm-svn: 47529
* If remating a machine instr with virtual register operand, make sure the vr ↵Evan Cheng2008-02-231-2/+1
| | | | | | is avaliable at all uses regardless of whether it would be folded. llvm-svn: 47526
* Turning on remat of pic loads.Evan Cheng2008-02-231-1/+1
| | | | llvm-svn: 47524
* Fix a bug that caused opt and other tools to silently ignoreDan Gohman2008-02-231-1/+1
| | | | | | invalid command-line options. llvm-svn: 47523
* No need recognize load from a fixed argument slot as re-materializable. ↵Evan Cheng2008-02-231-12/+0
| | | | | | LiveIntervalAnalysis already handles it as a special case. llvm-svn: 47522
* Properly read and write bitcodes for multiple return values.Devang Patel2008-02-232-18/+39
| | | | llvm-svn: 47521
* Recognize loads of arguments as re-materializable first. Therefore if ↵Evan Cheng2008-02-231-24/+26
| | | | | | isReallyTriviallyReMaterializable() returns true it doesn't confuse it as a "normal" re-materializable instruction. llvm-svn: 47520
* Regenerate.Devang Patel2008-02-232-2/+2
| | | | llvm-svn: 47519
* Use isa check instead of getTypeID() check.Devang Patel2008-02-231-1/+1
| | | | llvm-svn: 47518
* Fixed buffer overflow reported by Argiris Kirtzidis.Ted Kremenek2008-02-231-1/+1
| | | | llvm-svn: 47517
* print getresult operand and its type directly.Devang Patel2008-02-231-11/+1
| | | | llvm-svn: 47514
* Use dyn_cast instead of isa + cast.Devang Patel2008-02-231-2/+2
| | | | llvm-svn: 47511
* RegenerateDevang Patel2008-02-233-487/+447
| | | | llvm-svn: 47509
* To support multiple return values, now ret instruction supports multiple ↵Devang Patel2008-02-234-51/+68
| | | | | | operands instead of one aggregate operand. llvm-svn: 47508
* Fix spill weight updating bug.Evan Cheng2008-02-231-15/+27
| | | | llvm-svn: 47507
* Split ParameterAttributes.h, putting the complicatedDale Johannesen2008-02-2219-320/+323
| | | | | | | stuff into ParamAttrsList.h. Per feedback from ParamAttrs changes. llvm-svn: 47504
* Same isPhysRegAvailable bug as local register allocator.Evan Cheng2008-02-221-1/+1
| | | | llvm-svn: 47500
* Really really bad local register allocator bug. On X86, it was never using ↵Evan Cheng2008-02-221-1/+1
| | | | | | | | ESI, EDI, and EBP because of a bug in RALocal::isPhysRegAvailable(). For example, when it checks if ESI is available, it then looks at registers aliases to ESI. SIL is marked -2 (not allocatable) but isPhysRegAvailable() incorrectly assumes it is in use and returns false for ESI. llvm-svn: 47499
* Add debugging printfs.Evan Cheng2008-02-221-0/+2
| | | | llvm-svn: 47496
* RegenerateDevang Patel2008-02-223-468/+466
| | | | llvm-svn: 47495
* Use SymbolicValueRef to parse getresult operandDevang Patel2008-02-221-3/+2
| | | | llvm-svn: 47494
* Make sure reload of implicit uses are issued before remat's.Evan Cheng2008-02-221-3/+15
| | | | llvm-svn: 47492
* Generated files for 47484.Dale Johannesen2008-02-223-293/+295
| | | | llvm-svn: 47485
* Pass alignment on ByVal parameters, from FE, allDale Johannesen2008-02-224-1/+38
| | | | | | the way through. It is now used for codegen. llvm-svn: 47484
* MMX vectors are passed 4-byte aligned.Dale Johannesen2008-02-221-4/+4
| | | | llvm-svn: 47483
* Provide __main hooks for cygwin & mingw32Anton Korobeynikov2008-02-222-17/+28
| | | | llvm-svn: 47479
* Fixed a typo.Zhou Sheng2008-02-221-1/+1
| | | | llvm-svn: 47478
* Allow re-materialization of pic load (controlled by -remat-pic-load for now).Evan Cheng2008-02-221-3/+23
| | | | llvm-svn: 47476
* Enable re-materialization of instructions which have virtual register ↵Evan Cheng2008-02-222-39/+187
| | | | | | | | operands if the definition of the operand also reaches its uses. llvm-svn: 47475
* copy mmx values from/to memory with GPRs on x86-32 Chris Lattner2008-02-221-1/+25
| | | | | | | | instead of with mmx registers. This horribleness is apparently done by gcc to avoid having to insert emms in places that really should have it. This is the second half of rdar://5741668. llvm-svn: 47474
* Print getresult instruction properly.Devang Patel2008-02-221-0/+13
| | | | llvm-svn: 47473
* Print ret instruction that returns aggregates.Devang Patel2008-02-221-2/+17
| | | | llvm-svn: 47472
* Read and write getresult.Devang Patel2008-02-222-0/+15
| | | | llvm-svn: 47471
* Start using GPR's to copy around mmx value instead of mmx regs.Chris Lattner2008-02-221-0/+32
| | | | | | | | | | GCC apparently does this, and code depends on not having to do emms when this happens. This is x86-64 only so far, second half should handle x86-32. rdar://5741668 llvm-svn: 47470
* Fix compiler warning.Evan Cheng2008-02-221-1/+1
| | | | llvm-svn: 47468
* Fix a regression in 403.gcc and 186.crafty introduced in 47383. To testDan Gohman2008-02-222-28/+30
| | | | | | | that a value is >= 32, check that all of the high bits are zero, not just one or more. llvm-svn: 47467
* print getresult instruction.Devang Patel2008-02-211-0/+1
| | | | llvm-svn: 47461
* Use isa<> instead of getTypeID() to check StructType.Devang Patel2008-02-212-7/+6
| | | | llvm-svn: 47460
* A few minor updates, removing implemented stuff and adding a couple of Eli Friedman2008-02-211-83/+110
| | | | | | new things. llvm-svn: 47458
* Make the clobber analysis a bit more smart: we only are careful about Chris Lattner2008-02-211-3/+13
| | | | | | | early clobbers if the clobber list contains a *register* not some thing like {memory}, {dirflag} etc. llvm-svn: 47457
* Treat clobber operands like early clobbers: if we haveChris Lattner2008-02-211-0/+16
| | | | | | | | | any, we force sdisel to do all regalloc for an asm. This leads to gross but correct codegen. This fixes the rest of PR2078. llvm-svn: 47454
* Clear PhysRegPartUse for the sub register as well.Bill Wendling2008-02-211-1/+1
| | | | llvm-svn: 47453
* Adjust the MaxAlignment for the special register scavenging spill slot.Bill Wendling2008-02-211-0/+3
| | | | llvm-svn: 47452
* Help testing.Evan Cheng2008-02-211-0/+7
| | | | llvm-svn: 47448
* Change a C-style cast to const_cast, to avoid a -Wcast-qual warning.Dan Gohman2008-02-211-1/+1
| | | | llvm-svn: 47437
* Better names as per Evan's requestAndrew Lenharth2008-02-211-9/+10
| | | | llvm-svn: 47435
* Simplify this code, no functionality change.Nick Lewycky2008-02-211-5/+2
| | | | llvm-svn: 47434
* GlobalValues are Constants, remove redundant code. Also fix typo in a comment.Nick Lewycky2008-02-211-3/+1
| | | | llvm-svn: 47433
* Dan implemented one multiply issue. Replace it with another. :)Chris Lattner2008-02-211-12/+33
| | | | llvm-svn: 47431
* Atomic op support. If any gcc test uses __sync builtins, it might start ↵Andrew Lenharth2008-02-218-7/+345
| | | | | | failing on archs that haven't implemented them yet llvm-svn: 47430
OpenPOWER on IntegriCloud