summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Mark load instructions with isLoad = 1.Evan Cheng2007-08-305-6/+21
| | | | llvm-svn: 41595
* Use i64 on a PPC64 machineBill Wendling2007-08-301-1/+1
| | | | llvm-svn: 41590
* Change LegalFPImmediates to use APFloat.Dale Johannesen2007-08-307-29/+101
| | | | | | | | | Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPSDNode uses. llvm-svn: 41587
* Fix use of declaration inside case blockAnton Korobeynikov2007-08-291-1/+2
| | | | llvm-svn: 41584
* Change LiveRange so it keeps a pointer to the VNInfo rather than an index.Evan Cheng2007-08-293-213/+252
| | | | | | | Changes related modules so VNInfo's are not copied. This decrease copy coalescing time by 45% and overall compilation time by 10% on siod. llvm-svn: 41579
* Lower FRAME_TO_ADDR_OFFSET to zero by default (if not custom lowered)Anton Korobeynikov2007-08-291-1/+13
| | | | llvm-svn: 41578
* 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. llvm-svn: 41577
* update theseChris Lattner2007-08-292-2/+2
| | | | llvm-svn: 41565
* Add an option, -view-sunit-dags, for viewing the actual SUnit DAGs used byDan Gohman2007-08-282-1/+77
| | | | | | scheduling. llvm-svn: 41556
* Recover most of the compile time regression due to recent live interval changes.Evan Cheng2007-08-282-44/+46
| | | | | | | | 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. llvm-svn: 41536
* 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! llvm-svn: 41529
* Changed stack allocation On LowerFORMAL_ARGUMENTS.Bruno Cardoso Lopes2007-08-281-20/+29
| | | | | | | Added comments about new stack allocation. Expand SelectCC for i32 results llvm-svn: 41527
* Mask directive completed with CalleeSave infoBruno Cardoso Lopes2007-08-282-73/+111
| | | | | | Comments for Mips directives added. llvm-svn: 41526
* Added methods to record SPOffsets from LowerFORMAL_ARGUMENTSBruno Cardoso Lopes2007-08-281-3/+53
| | | | llvm-svn: 41525
* Cut off crazy computation. This helps PR1622 slightly.Chris Lattner2007-08-281-0/+4
| | | | llvm-svn: 41522
* Use simpler test to filter loops.Devang Patel2007-08-271-14/+3
| | | | llvm-svn: 41516
* Update InvokeInst to work like CallInstDavid Greene2007-08-279-31/+9
| | | | llvm-svn: 41506
* Add a comment about using libc memset/memcpy or generating inline code.Rafael Espindola2007-08-271-2/+5
| | | | llvm-svn: 41502
* Make DAGCombiner's global alias analysis query more precise in the caseDan Gohman2007-08-271-2/+3
| | | | | | where both pointers have non-zero offsets. llvm-svn: 41491
* If the source and destination pointers in an llvm.memmove are knownDan Gohman2007-08-271-12/+25
| | | | | | to not alias each other, it can be translated as an llvm.memcpy. llvm-svn: 41489
* Change comments to refer to @malloc and @free instead of %malloc and %free.Dan Gohman2007-08-271-3/+3
| | | | llvm-svn: 41488
* There is an impedance matching problem between LLVM andDuncan Sands2007-08-272-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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). llvm-svn: 41484
* Add explicit keywords and remove spurious trailing semicolons.Dan Gohman2007-08-272-10/+11
| | | | llvm-svn: 41482
* call libc memcpy/memset if array size is bigger then threshold.Rafael Espindola2007-08-271-4/+4
| | | | | | | 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) llvm-svn: 41479
* Don't promote volatile loads/stores. This is needed (for example) to handle ↵Anton Korobeynikov2007-08-261-3/+6
| | | | | | | | setjmp/longjmp properly. This fixes PR1520. llvm-svn: 41461
* Don't DSe volatile stores.Owen Anderson2007-08-261-18/+25
| | | | llvm-svn: 41456
* Revise per review comments.Dale Johannesen2007-08-262-2/+2
| | | | llvm-svn: 41409
* Add APFloat interface to ConstantFPSDNode. ChangeDale Johannesen2007-08-252-13/+8
| | | | | | | over uses in DAGCombiner. Fix interfaces to work with APFloats. llvm-svn: 41407
* Move exit condition and exit branch from exiting block into loop header and ↵Devang Patel2007-08-251-0/+155
| | | | | | dominator info. This avoid execution of dead iteration. Loop is already filter in the beginning such that this change is safe. llvm-svn: 41394
* Constant split values needs upper bound and lower bound check, just like any ↵Devang Patel2007-08-251-6/+0
| | | | | | other split value. llvm-svn: 41389
* Allow target constants to be illegal types. The target shouldChris Lattner2007-08-251-0/+5
| | | | | | | know how to handle them. This fixes test/CodeGen/Generic/asm-large-immediate.ll llvm-svn: 41388
* While calculating upper loop bound for first loop and lower loop bound for ↵Devang Patel2007-08-251-36/+231
| | | | | | second loop, take care of edge cases. llvm-svn: 41387
* Teach the dag scheduler to handle inline asm nodes with multi-value ↵Chris Lattner2007-08-251-8/+9
| | | | | | immediate operands. llvm-svn: 41386
* The personality function might need to be declared as:Bill Wendling2007-08-251-5/+18
| | | | | | | | | .set Lset0,___gxx_personality_v0-. .long Lset0 on some targets. Make it so! llvm-svn: 41385
* rename isOperandValidForConstraint to LowerAsmOperandForConstraint, Chris Lattner2007-08-256-53/+85
| | | | | | changing the interface to allow for future changes. llvm-svn: 41384
* Poison APFloat::operator==. Replace existing uses with bitwiseIsEqual.Dale Johannesen2007-08-243-12/+23
| | | | | | This means backing out the preceding change to Constants.cpp, alas. llvm-svn: 41378
* Use APFloat internally for ConstantFPSDNode.Dale Johannesen2007-08-241-1/+1
| | | | llvm-svn: 41372
* sink clone() down the class hierarchy from CmpInst into ICmpInst/FCmpInst.Chris Lattner2007-08-241-2/+5
| | | | | | | This eliminates a conditional on that path, and ensures ICmpInst/FCmpInst both have an out-of-line virtual method to home the class. llvm-svn: 41371
* Fix regression that I caused yesterday night while adding logic to select ↵Devang Patel2007-08-241-2/+2
| | | | | | appropriate split condition branch. llvm-svn: 41365
* Disable EH generation until PPC works 100%.Chris Lattner2007-08-241-1/+1
| | | | llvm-svn: 41360
* add a noteChris Lattner2007-08-241-0/+14
| | | | llvm-svn: 41359
* It is not safe to execute split condition's true branch first all the time. ↵Devang Patel2007-08-241-5/+35
| | | | | | | | If split condition predicate is GT or GE then execute false branch first. llvm-svn: 41358
* Reject ICMP_NE as index split condition.Devang Patel2007-08-241-0/+3
| | | | llvm-svn: 41357
* Tightenup loop filter.Devang Patel2007-08-241-2/+22
| | | | llvm-svn: 41356
* Remove incomplete cost analysis.Devang Patel2007-08-241-40/+3
| | | | llvm-svn: 41354
* Revised per review feedback from previous patch.Dale Johannesen2007-08-242-56/+24
| | | | llvm-svn: 41353
* silence some warnings in an optimized build.Chris Lattner2007-08-241-11/+8
| | | | llvm-svn: 41352
* Change internal representation of ConstantFP to use APFloat.Dale Johannesen2007-08-242-34/+220
| | | | | | Interface to rest of the compiler unchanged, as yet. llvm-svn: 41348
* add some notes on really poor codegen.Chris Lattner2007-08-231-0/+44
| | | | llvm-svn: 41319
* new exampleChris Lattner2007-08-231-0/+17
| | | | llvm-svn: 41318
OpenPOWER on IntegriCloud