summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR3358, a really nasty bug where recursive phi translated Chris Lattner2009-01-221-3/+36
| | | | | | | | analyses could be run without the caches properly sorted. This can fix all sorts of weirdness. Many thanks to Bill for coming up with the 'issorted' verification idea. llvm-svn: 62757
* Recognize inline asm for bswap on x86-64 GLIBC. This allows itDan Gohman2009-01-211-1/+11
| | | | | | to be supported in the JIT. llvm-svn: 62730
* Do not use host floating point types when emittingDale Johannesen2009-01-213-9/+14
| | | | | | | | | ASCII IR; loading and storing these can change the bits of NaNs on some hosts. Remove or add warnings at a few other places using host floating point; this is a bad thing to do in general. llvm-svn: 62712
* Also favors NOT64r.Evan Cheng2009-01-211-1/+1
| | | | llvm-svn: 62710
* fix warning in release-asserts mode and spelling of assert.Chris Lattner2009-01-211-3/+2
| | | | llvm-svn: 62699
* add getPointerToGlobal to the C bindings, patch by Lennart Augustsson!Chris Lattner2009-01-211-0/+4
| | | | | | PR3364 llvm-svn: 62697
* Remove uses of uint32_t in favor of 'unsigned' for better Chris Lattner2009-01-212-194/+194
| | | | | | compatibility with cygwin. Patch by Jay Foad! llvm-svn: 62695
* Simplify ReduceLoadWidth's logic: it doesn't need several differentDan Gohman2009-01-211-19/+10
| | | | | | | | special cases after producing the new reduced-width load, because the new load already has the needed adjustments built into it. This fixes several bugs due to the special cases, including PR3317. llvm-svn: 62692
* Fix a recent regression. ClrOpcode is not set for i8; for i8, ifDan Gohman2009-01-211-2/+3
| | | | | | | we want to clear %ah to zero before a division, just use a zero-extending mov to %al. This fixes PR3366. llvm-svn: 62691
* Mimic gcc behaviour with regard to response files.Mikhail Glushenkov2009-01-211-16/+15
| | | | llvm-svn: 62688
* Fixed build warnings. Restoring changes done in 62600, they were lost in 62655.Sanjiv Gupta2009-01-212-4/+5
| | | | llvm-svn: 62681
* Cleanup whitespace and comments, and tweak someDuncan Sands2009-01-217-67/+64
| | | | | | | prototypes, in operand type legalization. No functionality change. llvm-svn: 62680
* I accidentally removed this check in an earlier commit, which cause breakage ↵Owen Anderson2009-01-211-0/+4
| | | | | | in the pre alloc splitter. llvm-svn: 62678
* Implement LowerOperationWrapper for legalizer. Sanjiv Gupta2009-01-215-138/+174
| | | | | | Also a few signed comparison fixes. llvm-svn: 62665
* CellSPU:Scott Michel2009-01-219-130/+317
| | | | | | | | | | | | | - Ensure that (operation) legalization emits proper FDIV libcall when needed. - Fix various bugs encountered during llvm-spu-gcc build, along with various cleanups. - Start supporting double precision comparisons for remaining libgcc2 build. Discovered interesting DAGCombiner feature, which is currently solved via custom lowering (64-bit constants are not legal on CellSPU, but DAGCombiner insists on inserting one anyway.) - Update README. llvm-svn: 62664
* Allow targets to legalize operations (with illegal operands) that produces ↵Sanjiv Gupta2009-01-215-68/+85
| | | | | | multiple values. For example, a load with an illegal operand (a load produces two values, a value and chain). llvm-svn: 62663
* Favors generating "not" over "xor -1". For example.Evan Cheng2009-01-211-0/+3
| | | | | | | | | | | | | | | | | unsigned test(unsigned a) { return ~a; } llvm used to generate: movl $4294967295, %eax xorl 4(%esp), %eax Now it generates: movl 4(%esp), %eax notl %eax It's 3 bytes shorter. llvm-svn: 62661
* Make special cases (0 inf nan) work for frem.Dale Johannesen2009-01-213-38/+68
| | | | | | | | Besides APFloat, this involved removing code from two places that thought they knew the result of frem(0., x) but were wrong. llvm-svn: 62645
* Be more aggressive about renumbering vregs after splitting them.Owen Anderson2009-01-211-3/+7
| | | | llvm-svn: 62639
* Encode member accessibility.Devang Patel2009-01-211-1/+5
| | | | llvm-svn: 62638
* Appropriately mark fowrad decls.Devang Patel2009-01-201-11/+8
| | | | llvm-svn: 62625
* Fix PR3243: a LiveVariables bug. When HandlePhysRegKill is checking whether ↵Evan Cheng2009-01-201-13/+15
| | | | | | the last reference is also the last def (i.e. dead def), it should also check if last reference is the current machine instruction being processed. This can happen when it is processing a physical register use and setting the current machine instruction as sub-register's last ref. llvm-svn: 62617
* Fix typo. Patch by Alexei Svitkine.Duncan Sands2009-01-201-1/+1
| | | | llvm-svn: 62616
* Use "SINT_TO_FP" instead of "UINT_TO_FP" when getting the exponent. This wasBill Wendling2009-01-201-12/+13
| | | | | | | causing the limited precision stuff to produce the wrong result for values in the range [0, 1). llvm-svn: 62615
* Fix struct member's debug info.Devang Patel2009-01-201-7/+24
| | | | llvm-svn: 62610
* Need only one set of debug info versions enum.Devang Patel2009-01-202-6/+6
| | | | llvm-svn: 62602
* Change TargetInstrInfo::isMoveInstr to return source and destination ↵Evan Cheng2009-01-2031-123/+157
| | | | | | sub-register indices as well. llvm-svn: 62600
* Fix global variable's address in a DIE.Devang Patel2009-01-201-1/+1
| | | | llvm-svn: 62596
* Enable debug info for enums.Devang Patel2009-01-201-10/+14
| | | | llvm-svn: 62594
* Add an IEEE remainder function, which is notDale Johannesen2009-01-201-1/+39
| | | | | | | | fully implemented yet and not used. This is mainly to clarify that APFloat::mod implements C fmod, not remainder. llvm-svn: 62593
* improve compatibility with various versions of graphviz, patch byChris Lattner2009-01-201-1/+1
| | | | | | Patrick Boettcher! llvm-svn: 62592
* Eliminate use of uint32_t to improve compatibility with cygwinChris Lattner2009-01-201-6/+6
| | | | llvm-svn: 62590
* Enable debug info for composite types.Devang Patel2009-01-201-4/+0
| | | | llvm-svn: 62589
* Refactor code. No functionality change.Evan Cheng2009-01-202-34/+89
| | | | llvm-svn: 62573
* Shift types need to match.Bill Wendling2009-01-201-8/+9
| | | | llvm-svn: 62571
* another fix for PR3354Chris Lattner2009-01-201-0/+5
| | | | llvm-svn: 62561
* Add a README entry noticed while investigating PR3216.Dan Gohman2009-01-201-0/+22
| | | | llvm-svn: 62558
* Fix a dagcombine to not generate loads of non-round integer types,Dan Gohman2009-01-201-1/+1
| | | | | | | as its comment says, even in the case where it will be generating extending loads. This fixes PR3216. llvm-svn: 62557
* Do not use DenseMap because the iterator is invalidated while constructing ↵Devang Patel2009-01-201-2/+2
| | | | | | types. After all there was a reason why std::map was used initially! llvm-svn: 62555
* Make the Interpreter use libffi if it's available. Patch from Alexei Svitkine!Nick Lewycky2009-01-201-496/+206
| | | | | | | | | | | This requires a rebuild of 'configure' itself. I will be committing that next, but built with the wrong version of autoconf. Somebody who has the right one, please update it. As a side-note, because of the way autoconf works, all built tools will link against libffi, not just lli. If you know how to fix this, please let me know ... llvm-svn: 62553
* Make linear scan's trivial coalescer slightly more aggressive.Evan Cheng2009-01-201-6/+6
| | | | llvm-svn: 62547
* Doxygen-ify comments.Bill Wendling2009-01-191-45/+43
| | | | llvm-svn: 62546
* Verify debug info.Devang Patel2009-01-194-10/+121
| | | | llvm-svn: 62545
* Fix a problem exposed by PR3354: simplifycfg was making a potentiallyChris Lattner2009-01-191-1/+14
| | | | | | trapping instruction be executed unconditionally. llvm-svn: 62541
* Remove SDNode's virtual destructor. This makes it impossible forDan Gohman2009-01-191-53/+14
| | | | | | | | | | | | | | SDNode subclasses to keep state that requires non-trivial destructors, however it was already effectively impossible, since the destructor isn't actually ever called. There currently aren't any SDNode subclasses affected by this, and in general it's desireable to keep SDNode objects light-weight. This eliminates the last virtual member function in the SDNode class, so it eliminates the need for a vtable pointer, making SDNode smaller. llvm-svn: 62539
* improve compatibility with cygwin, patch by Jay Foad!Chris Lattner2009-01-191-1/+1
| | | | llvm-svn: 62535
* div/rem by zero and div/rem overflow are both undefined according toChris Lattner2009-01-191-11/+11
| | | | | | | langref. Constant fold them to undef instead of trying to preserve the trap. This fixes PR3354. llvm-svn: 62534
* Fix SelectionDAG::ReplaceAllUsesWith to behave correctly whenDan Gohman2009-01-192-16/+39
| | | | | | | | | | | | | uses are added to the From node while it is processing From's use list, because of automatic local CSE. The fix is to avoid visiting any new uses. Fix a few places in the DAGCombiner that assumed that after a RAUW call, the From node has no users and may be deleted. This fixes PR3018. llvm-svn: 62533
* Fix PR3353, infinitely jump threading an infinite loop make from switches.Chris Lattner2009-01-191-0/+5
| | | | llvm-svn: 62529
* compile-time fmod was done incorrectly. PR 3316.Dale Johannesen2009-01-191-2/+4
| | | | llvm-svn: 62528
OpenPOWER on IntegriCloud