summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Escape the graph name. This unbreaks -view-cfg.Dan Gohman2008-07-101-1/+1
| | | | llvm-svn: 53417
* Remove this file; the code that it went with is no longerDan Gohman2008-07-101-289/+0
| | | | | | in the repository. llvm-svn: 53416
* Make stack slot coloring's debug output more consistent withDan Gohman2008-07-101-1/+1
| | | | | | other passes. llvm-svn: 53415
* Change StackSlotForVirtReg (which maps vregs to frame indices) from std::map ↵Evan Cheng2008-07-101-8/+8
| | | | | | to IndexedMap. llvm-svn: 53414
* Remove unused class AnnotatedPath.Ted Kremenek2008-07-102-68/+0
| | | | llvm-svn: 53413
* Move some environment methods from ValueState/ValueStateManager to ↵Ted Kremenek2008-07-104-134/+134
| | | | | | Environment/EnvironmentManager. llvm-svn: 53412
* Remove extraneous vertical whitespace before Eric gets the wrong idea ;-)Chris Lattner2008-07-101-1/+0
| | | | llvm-svn: 53411
* Fix an altivec constant miscompilation that Duncan found throughChris Lattner2008-07-102-2/+14
| | | | | | his work on legalizetypes. llvm-svn: 53410
* Add support for 128 bit multiplicative operations.Duncan Sands2008-07-103-21/+67
| | | | | | | | | Lack of these caused a bootstrap failure with Fortran on x86-64 with LegalizeTypes turned on. While there, be nice to 16 bit machines and support expansion of i32 too. llvm-svn: 53408
* Add a mysteriously missing libcall, FPTOSINT_F80_I32.Duncan Sands2008-07-105-6/+33
| | | | | | | Be nice to 16 bit machines by supporting FP_TO_XINT expansion for these. llvm-svn: 53407
* Fix a FIXME: use an apint in CTTZ legalization.Duncan Sands2008-07-101-3/+3
| | | | llvm-svn: 53406
* Remove PromoteIntRes_FP_ROUND - not sure what itDuncan Sands2008-07-104-14/+1
| | | | | | | was doing there: FP_ROUND returns a float, not an integer. llvm-svn: 53405
* Make sure the alignment of the temporary createdDuncan Sands2008-07-101-2/+6
| | | | | | | in CreateStackStoreLoad is good enough for both the source and destination types. llvm-svn: 53404
* Make the LegalizeType method naming scheme more regular.Duncan Sands2008-07-105-49/+43
| | | | llvm-svn: 53403
* Don't barf when dumping a constant that containsDuncan Sands2008-07-101-1/+1
| | | | | | a ginormous value (eg: i128 -1). llvm-svn: 53402
* Correct a comment.Duncan Sands2008-07-101-2/+2
| | | | llvm-svn: 53401
* Restructure dead argument elimination, try #3 :-)Matthijs Kooijman2008-07-102-383/+568
| | | | | | | | | | | | | | | | | Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of dependencies between return values and/or arguments. Also make the handling of arguments and return values the same. The pass now looks properly inside returned structs, but only at the first level (ie, not inside nested structs). This version fixed a few more bugs and was cleaned up a bit. It now passes all of LLVM's testing, and should still pass SPEC2006. There is still a minor bug with regard to returning nested structs. Since there is currently nothing that emits such IR, I will fix that in a seperate commit (partly because it requires a non-trivial fix). llvm-svn: 53400
* - Change the horrible N^2 isRegReDefinedByTwoAddr. Now callers must supply ↵Evan Cheng2008-07-105-37/+24
| | | | | | | | the operand index of def machineoperand and at most one full scan of non-implicit operands is needed. - Change local register allocator to use the new isRegReDefinedByTwoAddr instead of reinventing the wheel. llvm-svn: 53394
* Fix overzealous optimization. Thanks to Duncan Sands for pointing out my error!Nick Lewycky2008-07-102-4/+18
| | | | llvm-svn: 53393
* Add a new distcc status page, which is currently empty and notChris Lattner2008-07-101-0/+30
| | | | | | | | linked from anywhere. It will be linked when content is filled in. Page by Csaba Hruska! llvm-svn: 53392
* Add an accessor, patch by Csaba Hruska.Chris Lattner2008-07-101-0/+1
| | | | llvm-svn: 53391
* Use DenseMap instead of std::map in local register allocation. This ↵Owen Anderson2008-07-101-3/+16
| | | | | | improves the time on instcombine from .31s to .22s llvm-svn: 53390
* Fix 403.gcc. Finally got the check for two-address-ness correct.Owen Anderson2008-07-101-10/+14
| | | | llvm-svn: 53389
* Fix the build by adding a #include.Owen Anderson2008-07-101-0/+1
| | | | llvm-svn: 53388
* The source and dest of an alias are *not* required to have the same type,Chris Lattner2008-07-101-9/+3
| | | | | | though that would be nice and make sense :). Patch by Nathan Keynes! llvm-svn: 53387
* Fix for PR2472. Use movss to set lower 32-bits of a zero XMM vector.Evan Cheng2008-07-102-0/+12
| | | | llvm-svn: 53386
* open plugins with RTLD_GLOBAL, pointed out by Bram Adams.Chris Lattner2008-07-101-1/+1
| | | | llvm-svn: 53385
* SImplify ConstantVector::get a bit and make it turn a vectorChris Lattner2008-07-101-8/+18
| | | | | | of all undefs into a single undef value. llvm-svn: 53384
* Fix a case where vector comparison constant folding would cause anChris Lattner2008-07-102-33/+39
| | | | | | infinite recursion. part of PR2529 llvm-svn: 53383
* add a helper method for code that wants to handle vectorChris Lattner2008-07-101-0/+6
| | | | | | constants by element without caring how they are formed. llvm-svn: 53382
* add a helper method for code that wants to handle vectorChris Lattner2008-07-101-0/+25
| | | | | | constants by element without caring how they are formed. llvm-svn: 53381
* elementwise comparison of vector constants was completely wrong. FixChris Lattner2008-07-102-20/+41
| | | | | | it for PR2529 llvm-svn: 53380
* - Replace use of std::map<std::string, ..> with StringMap. Replace use of ↵Evan Cheng2008-07-102-37/+35
| | | | | | | | std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up. - Some code clean up. llvm-svn: 53379
* Revert r53367, which was breaking things.Owen Anderson2008-07-091-1/+3
| | | | llvm-svn: 53378
* Simplify hasNUsesOfValue and hasAnyUsesOfValue even more. ThisDan Gohman2008-07-092-28/+9
| | | | | | | | | | | makes their special-case checks of use_size() less beneficial, so remove them. This eliminates all but one use of use_size(), which is in AssignTopologicalOrder, which uses it only once for each node, and so can reasonably afford to recompute it, as this allows the UsesSize field of SDNode to be removed altogether. llvm-svn: 53377
* Simplify the parser a bit by looking at the next token without consuming it ↵Argyrios Kyrtzidis2008-07-094-102/+54
| | | | | | | | | (by Preprocessor::LookNext): -Remove ParseExpressionWithLeadingIdentifier and ParseAssignmentExprWithLeadingIdentifier. -Separate ParseLabeledStatement from ParseIdentifierStatement. llvm-svn: 53376
* Add Preprocessor::LookNext method, which implements an efficient way to ↵Argyrios Kyrtzidis2008-07-092-1/+58
| | | | | | 'take a peek' at the next token without consuming it. llvm-svn: 53375
* hasAnyUseOfValue can check SDUse nodes of its users directly insteadDan Gohman2008-07-091-13/+3
| | | | | | of examining every operand of every user. llvm-svn: 53374
* More information on filing bug reports.Ted Kremenek2008-07-092-7/+14
| | | | llvm-svn: 53373
* Move MemoryVT out of LSBaseNode into MemSDNode, allowing theDan Gohman2008-07-092-51/+32
| | | | | | | getMemOperand function to be moved into the base class as well and made non-virtual. llvm-svn: 53372
* Remove a FIXME: we really need to use const_data section on darwin forAnton Korobeynikov2008-07-091-3/+4
| | | | | | | constant pool, if relocation model is not static. This directly maps to the way how GCC works. llvm-svn: 53370
* Avoid creating expensive comment string if it's not going to be printed.Evan Cheng2008-07-091-1/+4
| | | | llvm-svn: 53369
* Add FIXME for future checking.Anton Korobeynikov2008-07-091-0/+2
| | | | llvm-svn: 53368
* Loosen our check here. Local regalloc only cares that the reg is used and ↵Owen Anderson2008-07-091-3/+1
| | | | | | | | def'd by the same instruction, but about the details of the relationship. llvm-svn: 53367
* Remove extra call to DW.SetModuleInfo on Linux.Dale Johannesen2008-07-091-1/+0
| | | | llvm-svn: 53365
* Emit debug info for data-only files on Cell SPU.Dale Johannesen2008-07-091-3/+5
| | | | | | I cannot test this target, let me know if it breaks! llvm-svn: 53363
* Emit debug into for data-only files for Linux PPC.Dale Johannesen2008-07-091-3/+10
| | | | | | I cannot test this target, let me know if it breaks! llvm-svn: 53362
* Move the IsVolatile and SVOffset fields into the MemSDNode baseDan Gohman2008-07-092-28/+28
| | | | | | | | | | class, and store IsVolatile and Alignment in a more compact form. This makes AtomicSDNode slightly larger, but it shrinks LoadSDNode and StoreSDNode, which are much more common and are the largest of the SDNode subclasses. Also, this lets the isVolatile() and getAlignment() accessors be non-virtual. llvm-svn: 53361
* Emit debug info for data-only files. ARM version.Dale Johannesen2008-07-091-3/+8
| | | | llvm-svn: 53360
* Don't use an expensive check for two-address-ness when we have the ↵Owen Anderson2008-07-091-2/+13
| | | | | | | | information sitting around to determine it much more quickly, This speeds up the local register allocator from 0.37s to 0.31s on instcombine. llvm-svn: 53359
OpenPOWER on IntegriCloud