summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* For PR798:Reid Spencer2006-06-051-13/+56
| | | | | | Provide GraphViz support for MingW32. Patch provided by Anton Korobeynikov llvm-svn: 28688
* For PR798:Reid Spencer2006-06-051-14/+65
| | | | | | Add support for Graphviz. Patch contributed by Anton Korobeynikov. llvm-svn: 28684
* Prevent the -pedantic option from causing Mac OS/X build problems:Reid Spencer2006-06-011-0/+3
| | | | | | LiveIntervalAnalysis.cpp:218: error: floating constant exceeds range of 'double' llvm-svn: 28620
* Use archive libraries instead of object files for VMCore, BCReader,Reid Spencer2006-06-012-2/+2
| | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. llvm-svn: 28610
* commuteInstruction() does not always create a new MI!Evan Cheng2006-05-311-2/+4
| | | | llvm-svn: 28592
* Eliminate a memory leak.Evan Cheng2006-05-311-0/+1
| | | | llvm-svn: 28585
* visitVBinOp: Can't fold divide by zero!Evan Cheng2006-05-311-0/+8
| | | | llvm-svn: 28584
* Make sure the register pressure reduction schedulers work for non-uniformEvan Cheng2006-05-301-12/+14
| | | | | | latency targets, e.g. PPC32. llvm-svn: 28561
* When a priority_queue is empty, the behavior of top() operator isEvan Cheng2006-05-301-0/+1
| | | | | | non-deterministic. Returns NULL when it's empty! llvm-svn: 28560
* Fix a nasty dag combiner bug that caused nondeterminstic crashes (MY FAVORITE!):Chris Lattner2006-05-271-4/+15
| | | | | | | | | | | | | | | | | | SimplifySelectOps would eliminate a Select, delete it, then return true. The clients would see that it did something and return null. The top level would see a null return, and decide that nothing happened, proceeding to process the node in other ways: boom. The fix is simple: clients of SimplifySelectOps should return the select node itself. In order to catch really obnoxious boogs like this in the future, add an assert that nodes are not deleted. We do this by checking for a sentry node type that the SDNode dtor sets when a node is destroyed. llvm-svn: 28514
* Make CALL node consistent with RET node. Signness of value has type MVT::i32Evan Cheng2006-05-261-5/+5
| | | | | | | instead of MVT::i1. Either is fine except MVT::i32 is probably a legal type for most (if not all) platforms while MVT::i1 is not. llvm-svn: 28511
* Change RET node to include signness information of the return values. e.g.Evan Cheng2006-05-262-9/+17
| | | | | | RET chain, value1, sign1, value2, sign2 llvm-svn: 28509
* Remove a bogus cast.Evan Cheng2006-05-261-1/+1
| | | | llvm-svn: 28492
* Turn on -sched-commute-nodes by default.Evan Cheng2006-05-251-7/+2
| | | | llvm-svn: 28465
* CALL node change: now including signness of every argument.Evan Cheng2006-05-251-2/+7
| | | | llvm-svn: 28461
* Patches to make the LLVM sources more -pedantic clean. Patch providedChris Lattner2006-05-243-3/+3
| | | | | | by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447
* -enable-unsafe-fp-math implies -enable-finite-only-fp-mathEvan Cheng2006-05-231-2/+1
| | | | llvm-svn: 28437
* Fix missing includeVladimir Prus2006-05-231-0/+1
| | | | llvm-svn: 28435
* Incorrect SETCC CondCode used for FP comparisons.Evan Cheng2006-05-231-9/+20
| | | | llvm-svn: 28433
* lib/Target/Target.tdEvan Cheng2006-05-181-12/+13
| | | | llvm-svn: 28386
* Fix the result of the call to use a correct vbitconvert. There is no need toChris Lattner2006-05-171-23/+8
| | | | | | use getPackedTypeBreakdown at all here. llvm-svn: 28365
* Correct a previous patch which broke CodeGen/PowerPC/vec_call.llChris Lattner2006-05-171-18/+5
| | | | llvm-svn: 28364
* Fixed a LowerCallTo and LowerArguments bug. They were introducing illegalEvan Cheng2006-05-171-12/+27
| | | | | | | | VBIT_VECTOR nodes. There were some confusion about the semantics of getPackedTypeBreakdown(). e.g. for <4 x f32> it returns 1 and v4f32, not 4, and f32. llvm-svn: 28352
* When we legalize target nodes, do not use getNode to create a new node,Chris Lattner2006-05-171-13/+4
| | | | | | | | | | | | use UpdateNodeOperands to just update the operands! This is important because getNode will allocate a new node if the node returns a flag and this breaks assumptions in the legalizer that you can legalize some things multiple times and get exactly the same results. This latent bug was exposed by my ppc patch last night, and this fixes gsm/toast. llvm-svn: 28348
* Add an assertion, avoid some unneeded work for each call. No functionalityChris Lattner2006-05-171-6/+10
| | | | | | change. llvm-svn: 28347
* Add support for calls that pass and return legal vectors.Chris Lattner2006-05-161-3/+60
| | | | llvm-svn: 28340
* Add a new ISD::CALL node, make the default impl of TargetLowering::LowerCallToChris Lattner2006-05-163-3/+143
| | | | | | produce it. llvm-svn: 28338
* Move this code to a common placeAndrew Lenharth2006-05-161-238/+14
| | | | llvm-svn: 28329
* Add a chain to FORMAL_ARGUMENTS. This is a minimal port of the X86 backend,Chris Lattner2006-05-161-2/+4
| | | | | | | it doesn't currently use/maintain the chain properly. Also, make the X86ISelLowering.cpp file 80-col clean. llvm-svn: 28320
* Move function-live-in-handling code from the sdisel code to the scheduler.Chris Lattner2006-05-162-14/+15
| | | | | | | | | This code should be emitted after legalize, so it can't be in sdisel. Note that the EmitFunctionEntryCode hook should be updated to operate on the DAG. The X86 backend is the only one currently using this hook. llvm-svn: 28315
* Print the vreg that livein physregs are live inChris Lattner2006-05-161-0/+3
| | | | llvm-svn: 28314
* Legalize FORMAL_ARGUMENTS nodes correctly, we don't want to legalize them onceChris Lattner2006-05-161-2/+11
| | | | | | for each argument. llvm-svn: 28313
* Fixing 2006-05-01-SchedCausingSpills.ll; some clean upEvan Cheng2006-05-132-15/+69
| | | | llvm-svn: 28279
* Revert an un-intended changeEvan Cheng2006-05-131-16/+27
| | | | llvm-svn: 28278
* Merge identical code.Chris Lattner2006-05-131-8/+0
| | | | llvm-svn: 28274
* If the register allocator cannot find a register to spill, try the aliases. IfEvan Cheng2006-05-121-2/+19
| | | | | | | that still fails (because all the register spill weights are inf), just grab one. llvm-svn: 28262
* Remove dead varsChris Lattner2006-05-121-2/+0
| | | | llvm-svn: 28255
* remove dead varsChris Lattner2006-05-121-2/+1
| | | | llvm-svn: 28254
* Remove dead variableChris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28253
* Comment out dead variablesChris Lattner2006-05-121-2/+2
| | | | llvm-svn: 28252
* Remove dead varChris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28250
* Compile:Chris Lattner2006-05-121-1/+6
| | | | | | | | | | %tmp152 = setgt uint %tmp144, %tmp149 ; <bool> [#uses=1] %tmp159 = setlt uint %tmp144, %tmp149 ; <bool> [#uses=1] %bothcond2 = or bool %tmp152, %tmp159 ; <bool> [#uses=1] To setne, not setune, which causes an assertion fault. llvm-svn: 28244
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-129-0/+9
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Backing out fix for PR770. Need to re-apply it after live range splitting is ↵Evan Cheng2006-05-121-25/+13
| | | | | | possible llvm-svn: 28236
* Duh. That could take a long time.Evan Cheng2006-05-121-11/+15
| | | | llvm-svn: 28235
* Two simplifications for token factor nodes: simplify tf(x,x) -> x.Chris Lattner2006-05-121-2/+6
| | | | | | simplify tf(x,y,y,z) -> tf(x,y,z). llvm-svn: 28233
* Add capability to scheduler to commute nodes for profit.Evan Cheng2006-05-122-31/+61
| | | | | | | If a two-address code whose first operand has uses below, it should be commuted when possible. llvm-svn: 28230
* Refactor scheduler code. Move register-reduction list scheduler to aEvan Cheng2006-05-114-932/+1104
| | | | | | | separate file. Added an initial implementation of top-down register pressure reduction list scheduler. llvm-svn: 28226
* Set weight of zero length intervals to infinite to prevent them from beingEvan Cheng2006-05-111-0/+19
| | | | | | spilled. llvm-svn: 28220
* Backing out previous check-in.Evan Cheng2006-05-111-16/+1
| | | | llvm-svn: 28219
OpenPOWER on IntegriCloud