summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Itanium ABI exception handing support.Jim Laskey2007-02-211-36/+50
| | | | llvm-svn: 34480
* Exception handling support.Jim Laskey2007-02-212-92/+311
| | | | llvm-svn: 34479
* Add support for changes in DwarfWriter.Jim Laskey2007-02-213-0/+31
| | | | llvm-svn: 34478
* Add TAI field for exception table section.Jim Laskey2007-02-213-0/+10
| | | | llvm-svn: 34477
* Make branch folding behave in the presence of landing pads.Jim Laskey2007-02-211-25/+30
| | | | llvm-svn: 34476
* Allow for live in registers for eh landing pads.Jim Laskey2007-02-212-6/+9
| | | | llvm-svn: 34475
* Add a flag to MBBs to indicate whether it is an eh landing pad.Jim Laskey2007-02-211-1/+18
| | | | llvm-svn: 34474
* Add structures used for collecting eh information.Jim Laskey2007-02-212-0/+172
| | | | llvm-svn: 34473
* Add new instructions for handling data passed into eh landing pad.Jim Laskey2007-02-211-1/+9
| | | | llvm-svn: 34472
* Add new intrinsics for eh support.Jim Laskey2007-02-211-1/+3
| | | | llvm-svn: 34471
* ELF / PIC requires GOT be in the EBX register during calls via PLT GOT pointer.Evan Cheng2007-02-211-0/+14
| | | | | | | | Add implicit uses of EBX to calls to ensure liveintervalanalysis does not treat the GOT in EBX move as dead upon definition. This should fix PR1207. llvm-svn: 34470
* SimplifyDevang Patel2007-02-211-2/+1
| | | | llvm-svn: 34469
* Reorganize some code to make it clearer, avoid a few uninitialized memoryReid Spencer2007-02-211-56/+57
| | | | | | reads, and reduce the number of temporary APInt instances we construct. llvm-svn: 34467
* revert r1.68. This breaks 'make install' without doing 'make' first, butChris Lattner2007-02-211-0/+7
| | | | | | fixes PR1208. llvm-svn: 34466
* Fix the carry in addition.Reid Spencer2007-02-211-2/+2
| | | | llvm-svn: 34465
* Add a dump() method for debugging.Reid Spencer2007-02-211-2/+7
| | | | llvm-svn: 34464
* 1. Add a dump() method for faster debugging.Reid Spencer2007-02-211-81/+80
| | | | | | | | | | | | | | 2. Change 0 initialization of union to larger component so all is zeroed. 3. Fix the borrow logic in subtraction so it works for > 128 bits. 4. Rewrite fromString to use a simpler but correct algorithm and also to not set the bit width contrary to the user's request. 5. Optimize toString a bit by making it only do one Knuth divide per iteration instead of two. With these changes, all arithmetic passes (verified by pari/GP) up to 1024 bits except for certain division cases. llvm-svn: 34463
* Fix memory leak (PR 775).Devang Patel2007-02-211-0/+2
| | | | llvm-svn: 34462
* Out of bound reference.Evan Cheng2007-02-211-2/+2
| | | | llvm-svn: 34461
* Use BitVector instead. No functionality change.Evan Cheng2007-02-211-8/+5
| | | | llvm-svn: 34460
* Fix countLeadingZeros to actually return the correct number.Reid Spencer2007-02-211-11/+13
| | | | | | Fix toString to correctly return "0" for zero valued APInts over 128 bits. llvm-svn: 34459
* Make long addition and subtraction work. Speed things up by using internalReid Spencer2007-02-201-72/+69
| | | | | | functions more. llvm-svn: 34458
* This cast broke lots of tests.Evan Cheng2007-02-201-1/+1
| | | | llvm-svn: 34457
* Fix typos in comments.Dan Gohman2007-02-202-2/+2
| | | | llvm-svn: 34456
* Clean up variable names in operator*.Reid Spencer2007-02-201-8/+8
| | | | | | Attempt #3 for getting a portable INFINITY value. llvm-svn: 34454
* Use INFINITY macro from math.h instead of constructing hex floating pointReid Spencer2007-02-201-2/+3
| | | | | | constants (avoids warnings). llvm-svn: 34452
* First version that can process arith.cpp test case up to 1024 bits:Reid Spencer2007-02-201-171/+423
| | | | | | | | | | | | | | | | | | | | | 1. Ensure pVal is set to 0 in each constructor. 2. Fix roundToDouble to make correct calculations and not read beyond the end of allocated memory. 3. Implement Knuth's "classical algorithm" for division from scratch and eliminate buffer overflows and uninitialized mememory reads. Document it properly too. 4. Implement a wrapper function for KnuthDiv which handles the 64-bit to 32-bit conversion and back. It also implement short division for the n == 1 case that Knuth's algorithm can't handle. 5. Simplify the logic of udiv and urem a little, make them exit early, and have them use the "divide" wrapper function to perform the division or remainder operation. 6. Move the toString function to the end of the file, closer to where the division functions are located. Note: division is still broken for some > 64 bit values, but at least it doesn't crash any more. llvm-svn: 34449
* Add an internal convenience method for division that urem and udiv use.Reid Spencer2007-02-201-0/+5
| | | | llvm-svn: 34448
* eliminate some dead friends.Chris Lattner2007-02-201-2/+0
| | | | llvm-svn: 34447
* switch ConstantFP's from ValueMap to DenseMap, which is much faster to queryChris Lattner2007-02-201-51/+59
| | | | | | and is more memory efficient. llvm-svn: 34446
* cleanup ConstantInt to use a single DenseMap for uniquing instead of theChris Lattner2007-02-202-54/+64
| | | | | | | heavy-weight ValueMap class. This reduces mem usage bc reading kc++ by 29K, even though it only creates 2955 constant ints! llvm-svn: 34445
* Not all managedstatics need object pointers.Chris Lattner2007-02-201-1/+1
| | | | llvm-svn: 34444
* Make ConstantInt::getTrue/getFalse be llvm_shutdown safe.Chris Lattner2007-02-202-11/+32
| | | | llvm-svn: 34443
* add a way to register an arbitrary cleanup function.Chris Lattner2007-02-201-0/+6
| | | | llvm-svn: 34442
* Clean up the internals of the ConstantInt machineryChris Lattner2007-02-202-15/+10
| | | | llvm-svn: 34441
* simplify some code that was not llvm_shutdown safeChris Lattner2007-02-201-36/+5
| | | | llvm-svn: 34440
* remove reoptimizer-specific passesChris Lattner2007-02-202-206/+0
| | | | llvm-svn: 34439
* remove some dead passes and stuff specific to the reoptimizer.Chris Lattner2007-02-201-18/+3
| | | | llvm-svn: 34438
* remove some passesChris Lattner2007-02-201-2/+0
| | | | llvm-svn: 34437
* remove dead methodChris Lattner2007-02-201-9/+1
| | | | llvm-svn: 34436
* Dead code.Evan Cheng2007-02-201-6/+0
| | | | llvm-svn: 34435
* How the heck did I forget patterns for llvm.x86.sse2.cmp.sd?Evan Cheng2007-02-201-2/+6
| | | | llvm-svn: 34434
* Add a section on the target datalayout syntax and describe the defaultsReid Spencer2007-02-191-2/+79
| | | | | | and rules used by LLVM to construct the target's layout rules. llvm-svn: 34433
* Simplify some code by moving variable declarations into the only block thatReid Spencer2007-02-191-12/+6
| | | | | | uses them. llvm-svn: 34432
* Implement support for non-standard integer bit widths of any size. TheReid Spencer2007-02-192-16/+39
| | | | | | | | | | | | | rules alignment is to pick the alignment that corresponds to the smallest specified alignment that is larger than the bit width of the type or the largest specified integer alignment if none are larger than the bitwidth of the type. For the byte size, the size returned is the next larger multiple of the alignment for that type (using the above rule). This patch also changes bit widths from "short" to "uint32_t" to ensure there are enough bits to specify any bit width that LLVM can handle (currently 2^23); 16-bits isn't enough. llvm-svn: 34431
* Added test case for PR1207.Evan Cheng2007-02-191-0/+21
| | | | llvm-svn: 34429
* Re-apply my liveintervalanalysis changes. Now with PR1207 fixes.Evan Cheng2007-02-1923-104/+334
| | | | llvm-svn: 34428
* Fix test case.Evan Cheng2007-02-191-3/+3
| | | | llvm-svn: 34427
* this passes nowChris Lattner2007-02-191-1/+0
| | | | llvm-svn: 34426
* llvm-gcc issue fixed, revert reversal :)Chris Lattner2007-02-192-34/+15
| | | | llvm-svn: 34425
OpenPOWER on IntegriCloud