aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove an unnecessary element, saving 4 bytes per LiveInterval.Evan Cheng2007-08-312-8/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41641 91177308-0d34-0410-b5e6-96231b3b80d8
* Use std::map instead of a (potentially very sparse) array to track val# ↵Evan Cheng2007-08-311-36/+27
| | | | | | defined by copy from the other live range. Minor compile time win when number of val# is large. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41640 91177308-0d34-0410-b5e6-96231b3b80d8
* Update test case to reflect Dale's change.Evan Cheng2007-08-311-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41639 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance APFloat to retain bits of NaNs (fixes oggenc).Dale Johannesen2007-08-3111-113/+155
| | | | | | | | Use APFloat interfaces for more references, mostly of ConstantFPSDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41632 91177308-0d34-0410-b5e6-96231b3b80d8
* Instruction formats added used to generate multiply instructions of V5TE.Raul Herbster2007-08-301-39/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41629 91177308-0d34-0410-b5e6-96231b3b80d8
* Unused relocation type reloc_arm_absolute removed.Raul Herbster2007-08-301-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41628 91177308-0d34-0410-b5e6-96231b3b80d8
* Comments added. It now generates V5TE multiply instructions. However, it is ↵Raul Herbster2007-08-301-58/+175
| | | | | | still necessary to model PUWLSH bits more clearly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41627 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM instruction table was modified by adding information to generate ↵Raul Herbster2007-08-301-42/+57
| | | | | | multiply instruction of V5TE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41626 91177308-0d34-0410-b5e6-96231b3b80d8
* JITInfo now resolves function addrs and also relocations. It always emits a ↵Raul Herbster2007-08-301-30/+43
| | | | | | stub. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41625 91177308-0d34-0410-b5e6-96231b3b80d8
* Added Graphviz escaping for the '|' character.Ted Kremenek2007-08-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41610 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not run on darwin.Tanya Lattner2007-08-301-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41608 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support to fold X86 load / store instructions. This allow ↵Evan Cheng2007-08-303-50/+101
| | | | | | rematerialized loads to be folded into their uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41599 91177308-0d34-0410-b5e6-96231b3b80d8
* Try fold re-materialized load instructions into its uses.Evan Cheng2007-08-301-11/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41598 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a variant of foldMemoryOperand to fold any load / store, not just load / ↵Evan Cheng2007-08-307-5/+42
| | | | | | store from / to stack slots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41597 91177308-0d34-0410-b5e6-96231b3b80d8
* Added CreateFrameIndex to create a FrameIndex MachineOperand without a ↵Evan Cheng2007-08-301-0/+12
| | | | | | MachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41596 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark load instructions with isLoad = 1.Evan Cheng2007-08-305-6/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41595 91177308-0d34-0410-b5e6-96231b3b80d8
* Use i64 on a PPC64 machineBill Wendling2007-08-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41590 91177308-0d34-0410-b5e6-96231b3b80d8
* Change LegalFPImmediates to use APFloat.Dale Johannesen2007-08-3011-35/+141
| | | | | | | | | | Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPSDNode uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41587 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix use of declaration inside case blockAnton Korobeynikov2007-08-291-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41584 91177308-0d34-0410-b5e6-96231b3b80d8
* Change LiveRange so it keeps a pointer to the VNInfo rather than an index.Evan Cheng2007-08-295-352/+316
| | | | | | | | Changes related modules so VNInfo's are not copied. This decrease copy coalescing time by 45% and overall compilation time by 10% on siod. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41579 91177308-0d34-0410-b5e6-96231b3b80d8
* Lower FRAME_TO_ADDR_OFFSET to zero by default (if not custom lowered)Anton Korobeynikov2007-08-291-1/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41578 91177308-0d34-0410-b5e6-96231b3b80d8
* Move getX86RegNum into X86RegisterInfo and use itDuncan Sands2007-08-296-88/+80
| | | | | | | | | in the trampoline lowering. Lookup the jump and mov opcodes for the trampoline rather than hard coding them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41577 91177308-0d34-0410-b5e6-96231b3b80d8
* Alphabetize Raul's entry.Raul Herbster2007-08-291-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41576 91177308-0d34-0410-b5e6-96231b3b80d8
* New contributor addedRaul Herbster2007-08-291-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41569 91177308-0d34-0410-b5e6-96231b3b80d8
* Updating configure script to enable MIPS.Tanya Lattner2007-08-291-25/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41568 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence implicit 64->32-bit conversion warnings.Chris Lattner2007-08-291-20/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41567 91177308-0d34-0410-b5e6-96231b3b80d8
* getMinSignedBits needs to take into consider the sign bit when the value is ↵Chris Lattner2007-08-291-1/+1
| | | | | | positive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41566 91177308-0d34-0410-b5e6-96231b3b80d8
* update theseChris Lattner2007-08-292-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41565 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an option, -view-sunit-dags, for viewing the actual SUnit DAGs used byDan Gohman2007-08-283-1/+145
| | | | | | | scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41556 91177308-0d34-0410-b5e6-96231b3b80d8
* Update win32 VStudio project files to keep pace with recently added and ↵Chuck Rose III2007-08-284-16/+27
| | | | | | deleted files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41553 91177308-0d34-0410-b5e6-96231b3b80d8
* Recover most of the compile time regression due to recent live interval changes.Evan Cheng2007-08-284-98/+100
| | | | | | | | | 1. Eliminate the costly live interval "swapping". 2. Change ValueNumberInfo container from SmallVector to std::vector. The former performs slowly when the vector size is very large. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41536 91177308-0d34-0410-b5e6-96231b3b80d8
* Added method to get Mips register numbersBruno Cardoso Lopes2007-08-283-61/+113
| | | | | | | | Changed the stack frame layout, StackGrowsUp fits better to Mips strange stack. Stack offset calculation bug fixed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41529 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed stack allocation On LowerFORMAL_ARGUMENTS.Bruno Cardoso Lopes2007-08-281-20/+29
| | | | | | | | Added comments about new stack allocation. Expand SelectCC for i32 results git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41527 91177308-0d34-0410-b5e6-96231b3b80d8
* Mask directive completed with CalleeSave infoBruno Cardoso Lopes2007-08-282-73/+111
| | | | | | | Comments for Mips directives added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41526 91177308-0d34-0410-b5e6-96231b3b80d8
* Added methods to record SPOffsets from LowerFORMAL_ARGUMENTSBruno Cardoso Lopes2007-08-281-3/+53
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41525 91177308-0d34-0410-b5e6-96231b3b80d8
* Cut off crazy computation. This helps PR1622 slightly.Chris Lattner2007-08-281-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41522 91177308-0d34-0410-b5e6-96231b3b80d8
* Use simpler test to filter loops.Devang Patel2007-08-271-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41516 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit triples to avoid default behavior that varies by host.Dan Gohman2007-08-274-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41510 91177308-0d34-0410-b5e6-96231b3b80d8
* Update InvokeInst to work like CallInstDavid Greene2007-08-2713-46/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41506 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment about using libc memset/memcpy or generating inline code.Rafael Espindola2007-08-271-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41502 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove this test as it is too hard to fix after theDuncan Sands2007-08-271-1621/+0
| | | | | | | | latest EH changes, and in any case it is hard to imagine how the original bug could be reintroduced. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41497 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this test: llvm-gcc-4.2 optimizes almost everything away,Duncan Sands2007-08-271-2/+2
| | | | | | | | resulting in zero matches, while llvm-gcc-4.1 manages to remove one pointless selector changing the number of matches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41494 91177308-0d34-0410-b5e6-96231b3b80d8
* Make DAGCombiner's global alias analysis query more precise in the caseDan Gohman2007-08-271-2/+3
| | | | | | | where both pointers have non-zero offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41491 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that we don't output cleanups by default, the actionDuncan Sands2007-08-271-1/+1
| | | | | | | offset needs to be adjusted in this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41490 91177308-0d34-0410-b5e6-96231b3b80d8
* If the source and destination pointers in an llvm.memmove are knownDan Gohman2007-08-276-12/+62
| | | | | | | to not alias each other, it can be translated as an llvm.memcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41489 91177308-0d34-0410-b5e6-96231b3b80d8
* Change comments to refer to @malloc and @free instead of %malloc and %free.Dan Gohman2007-08-271-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41488 91177308-0d34-0410-b5e6-96231b3b80d8
* There is an impedance matching problem between LLVM andDuncan Sands2007-08-274-31/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc exception handling: if an exception unwinds through an invoke, then execution must branch to the invoke's unwind target. We previously tried to enforce this by appending a cleanup action to every selector, however this does not always work correctly due to an optimization in the C++ unwinding runtime: if only cleanups would be run while unwinding an exception, then the program just terminates without actually executing the cleanups, as invoke semantics would require. I was hoping this wouldn't be a problem, but in fact it turns out to be the cause of all the remaining failures in the LLVM testsuite (these also fail with -enable-correct-eh-support, so turning on -enable-eh didn't make things worse!). Instead we need to append a full-blown catch-all to the end of each selector. The correct way of doing this depends on the personality function, i.e. it is language dependent, so can only be done by gcc. Thus this patch which generalizes the eh.selector intrinsic so that it can handle all possible kinds of action table entries (before it didn't accomodate cleanups): now 0 indicates a cleanup, and filters have to be specified using the number of type infos plus one rather than the number of type infos. Related gcc patches will cause Ada to pass a cleanup (0) to force the selector to always fire, while C++ will use a C++ catch-all (null). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41484 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords and remove spurious trailing semicolons.Dan Gohman2007-08-2712-26/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41482 91177308-0d34-0410-b5e6-96231b3b80d8
* call libc memcpy/memset if array size is bigger then threshold.Rafael Espindola2007-08-272-18/+20
| | | | | | | | | Coping 100MB array (after a warmup) shows that glibc 2.6.1 implementation on x86-64 (core 2) is 30% faster (from 0.270917s to 0.188079s) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41479 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't promote volatile loads/stores. This is needed (for example) to handle ↵Anton Korobeynikov2007-08-262-3/+53
| | | | | | | | | setjmp/longjmp properly. This fixes PR1520. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41461 91177308-0d34-0410-b5e6-96231b3b80d8