summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Diagnose uses of unsized types with the byval attribute in theDan Gohman2008-08-271-0/+11
| | | | | | verifier. See PR2711 for details. llvm-svn: 55414
* Update wording, as aggregates are now first-class.Dan Gohman2008-08-271-3/+2
| | | | llvm-svn: 55413
* Add DebugInfoBuilder. Patch by Talin!Evan Cheng2008-08-271-0/+272
| | | | llvm-svn: 55409
* Basic FastISel support for floating-point constants.Dan Gohman2008-08-271-0/+74
| | | | llvm-svn: 55401
* Fix handling of inttoptr and ptrtoint when unhandled operands are present.Owen Anderson2008-08-271-2/+6
| | | | llvm-svn: 55400
* Add support for fast isel of inttoptr and ptrtoint in the cases where ↵Owen Anderson2008-08-271-0/+19
| | | | | | truncation is not needed. llvm-svn: 55399
* Factor out a large amoutn of the cast handling code in fast isel into helper ↵Owen Anderson2008-08-261-107/+81
| | | | | | | | methods. This simultaneously makes the code simpler and adds support for sext as well. llvm-svn: 55398
* Add support for fast isel of zext.Owen Anderson2008-08-261-0/+29
| | | | llvm-svn: 55396
* disallow direct access to SDValue::ResNo, provide a getter insteadGabor Greif2008-08-2615-69/+69
| | | | llvm-svn: 55394
* Add support for fptosi of constants in fast isel.Owen Anderson2008-08-261-3/+29
| | | | llvm-svn: 55393
* Put a heuristic in place to prevent GVN from falling into bad cases with ↵Owen Anderson2008-08-261-0/+6
| | | | | | | | massively complicated CFGs. This speeds up a particular testcase from 12+ hours to 5 seconds with little perceptible loss of quality. llvm-svn: 55391
* Optimize SelectionDAG's topological sort to use one pass insteadDan Gohman2008-08-262-56/+12
| | | | | | | | of two, and to not need a scratch std::vector. Also, use the SelectionDAG's topological sort in LegalizeDAG instead of having a separate implementation. llvm-svn: 55389
* Refactor the bitcast code into its own function.Dan Gohman2008-08-261-58/+69
| | | | llvm-svn: 55387
* Make FastISel use the correct argument type when casting GEP indices.Dan Gohman2008-08-261-6/+7
| | | | llvm-svn: 55384
* Don't select binary instructions with illegal types.Dan Gohman2008-08-261-0/+6
| | | | llvm-svn: 55383
* Add support for fast isel of sitofp, and remove some unnecessary and ↵Owen Anderson2008-08-261-4/+28
| | | | | | imprecise legality checks. llvm-svn: 55381
* Use a combination of copyRegToReg and ISD::BIT_CONVERT when doing fast isel ↵Owen Anderson2008-08-261-8/+19
| | | | | | | | of bitcasts, allowing it to support the full range of conversions people might ask for in a correct manner. llvm-svn: 55378
* These assertions should be return false's instead, allowing the client to ↵Owen Anderson2008-08-261-4/+8
| | | | | | detect the failure. llvm-svn: 55377
* Make TargetInstrInfo::copyRegToReg return a bool indicating whether the copy ↵Owen Anderson2008-08-2617-58/+77
| | | | | | | | | requested was inserted or not. This allows bitcast in fast isel to properly handle the case where an appropriate reg-to-reg copy is not available. llvm-svn: 55375
* If IV is used in a int-to-float cast inside the loop then try to eliminate ↵Devang Patel2008-08-261-2/+118
| | | | | | the cast operation. llvm-svn: 55374
* Add support for fast isel of non-constant fptosi instructions.Owen Anderson2008-08-261-5/+43
| | | | llvm-svn: 55373
* If an xmm register is referenced explicitly in an inline asm, make sure to Chris Lattner2008-08-261-49/+61
| | | | | | | assign it to a version of the xmm register with the regclass that matches its type. This fixes PR2715, a bug handling some crazy xpcom case in mozilla. llvm-svn: 55358
* typo fix.Chris Lattner2008-08-261-1/+1
| | | | llvm-svn: 55355
* Actually recycle SDNode allocations. SelectionDAG is usingDan Gohman2008-08-261-2/+6
| | | | | | | | RecyclingAllocator, but this change is needed for the nodes to actually be recycled. This cuts SelectionDAG's memory usage high-water-mark in half in some cases. llvm-svn: 55351
* Avoid a warning about isTargetNullPtr being unused in release builds.Dan Gohman2008-08-261-0/+2
| | | | llvm-svn: 55350
* This is done.Evan Cheng2008-08-261-21/+0
| | | | llvm-svn: 55348
* Add a RetVT parameter to emitted FastISel methods, so that we will be able ↵Owen Anderson2008-08-251-18/+23
| | | | | | | | to pass the desired return type down. This is not currently used. llvm-svn: 55345
* Implement 32 & 64 bit versions of PPC atomicDale Johannesen2008-08-255-48/+230
| | | | | | binary primitives. llvm-svn: 55343
* Unbreak build.Evan Cheng2008-08-251-2/+2
| | | | llvm-svn: 55342
* 80 col. violations.Evan Cheng2008-08-251-3/+4
| | | | llvm-svn: 55341
* Expand bitcast support in fast isel to support bitcasts of non-constant ↵Owen Anderson2008-08-251-1/+29
| | | | | | values by emitting reg-reg copies. llvm-svn: 55340
* Try approach to moving call address load inside of callseq_start. Now it's ↵Evan Cheng2008-08-252-35/+108
| | | | | | done during the preprocess of x86 isel. callseq_start's chain is changed to load's chain node; while load's chain is the last of callseq_start or the loads or copytoreg nodes inserted to move arguments to the right spot. llvm-svn: 55338
* Remove PPC-specific lowering for atomics; theDale Johannesen2008-08-254-108/+12
| | | | | | | | generic stuff works fine. Mark rewritten cmp-and-swap as not using CR1. llvm-svn: 55336
* Add support for fast isel of (integer) immediate materialization pattens, ↵Owen Anderson2008-08-251-2/+29
| | | | | | | | and use them to support bitcast of constants in fast isel. llvm-svn: 55325
* It's important for the cmp-and-swap to balanceDale Johannesen2008-08-251-13/+31
| | | | | | | loads and stores but it's even more important for it to store the right value.:( llvm-svn: 55319
* Nevermind. This broke the bootstrap (?!).Bill Wendling2008-08-252-11/+7
| | | | llvm-svn: 55318
* MOVQ2DQ and MOVQ2DQ use SSE2. We should conditionalize the use of theseBill Wendling2008-08-252-7/+11
| | | | | | instructions on having SSE2. llvm-svn: 55317
* Fix pasto (values -> types) noticed by Josh ConnerChris Lattner2008-08-251-5/+3
| | | | llvm-svn: 55315
* flush stream after dumping.Chris Lattner2008-08-251-3/+3
| | | | llvm-svn: 55301
* Fix asm printing of MOVSDto64mr and MOV64toSDrm.Evan Cheng2008-08-251-2/+2
| | | | llvm-svn: 55300
* Temporarily reverting r55292. It's causing a bootstraping failure:Bill Wendling2008-08-241-7/+2
| | | | | | | | | | | | | | | | | /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc ... src/libiberty/make-temp-file.c -o make-temp-file.o Assertion failed: (Node2Index[SU->NodeNum] > Node2Index[I->Dep->NodeNum] && "Wrong topological sorting"), function InitDAGTopologicalSorting, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp, line 508. ../../../../llvm-gcc.src/libiberty/hashtab.c:955: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [hashtab.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [multi-do] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-target-libiberty] Error 2 make: *** [all] Error 2 llvm-svn: 55295
* remove the type checking logic already done by tblgen, just keep theChris Lattner2008-08-241-36/+10
| | | | | | | parts tblgen doesn't do (checking for constant, alloca, enclosing function has gc marker). This passes dj! :) llvm-svn: 55294
* simplify PseudoSourceValue printing a bit. Unnest all of ↵Chris Lattner2008-08-242-47/+46
| | | | | | PseudoSourceValue.cpp from the llvm namespace. llvm-svn: 55293
* Move callseq_start above the call address load to allow load to be folded ↵Evan Cheng2008-08-241-2/+7
| | | | | | into the call node. llvm-svn: 55292
* Print PseudoSourceValue.Evan Cheng2008-08-242-2/+9
| | | | llvm-svn: 55291
* add a hack to temporarily allow pseudo source values.Chris Lattner2008-08-241-1/+2
| | | | llvm-svn: 55289
* make sure to flush the stream after dumping, to make sure it goes out ↵Chris Lattner2008-08-241-0/+1
| | | | | | immediately. llvm-svn: 55288
* Use additionnal include directory instead of ../ in #include.Cedric Venet2008-08-243-9/+9
| | | | | | Suggested by aKor. llvm-svn: 55282
* Updating VC++ project.Cedric Venet2008-08-241-0/+1
| | | | | | Adding one include file and correct one declaration from class to struct in order to make llvm compile on VC2005. llvm-svn: 55279
* improve encapsulation of the BBExecutable set.Chris Lattner2008-08-231-8/+4
| | | | llvm-svn: 55271
OpenPOWER on IntegriCloud