summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Change llvm.cs.uiuc.edu -> llvm.orgReid Spencer2006-03-141-1/+1
| | | | llvm-svn: 26750
* Add a newline at the end to avoid gcc warnings.Reid Spencer2006-03-141-1/+1
| | | | llvm-svn: 26749
* Convert llvm.cs.uiuc.edu -> llvm.orgReid Spencer2006-03-148-9/+9
| | | | llvm-svn: 26748
* Change docs for llvm.cs.uiuc.edu -> llvm.orgReid Spencer2006-03-1423-27/+27
| | | | llvm-svn: 26747
* Changes docs for llvm.cs.uiuc.edu -> llvm.orgReid Spencer2006-03-1430-94/+94
| | | | llvm-svn: 26746
* 1. Handle removal of all arguments for a morphed intrinsic.Jim Laskey2006-03-141-1/+4
| | | | | | 2. Remove the declaration of llvm.dbg.declare. llvm-svn: 26745
* Remove the use of llvm.dbg.declare.Jim Laskey2006-03-141-6/+3
| | | | llvm-svn: 26744
* PPC LSR pass should use target lowering hooks.Evan Cheng2006-03-131-2/+2
| | | | llvm-svn: 26743
* Added getTargetLowering() to TargetMachine. Refactored targets to support this.Evan Cheng2006-03-1327-66/+97
| | | | llvm-svn: 26742
* UpdateEvan Cheng2006-03-131-0/+3
| | | | llvm-svn: 26741
* Add LSR hooks.Evan Cheng2006-03-133-5/+58
| | | | llvm-svn: 26740
* Added getTargetLowering() - returns DAG lowering info.Evan Cheng2006-03-131-0/+3
| | | | llvm-svn: 26739
* Added target lowering hooks which LSR consults to make more intelligentEvan Cheng2006-03-132-27/+41
| | | | | | transformation decisions. llvm-svn: 26738
* Handle builtins that directly correspond to GCC builtins.Chris Lattner2006-03-131-2/+25
| | | | llvm-svn: 26737
* emit a mapping from LLVM intrinsic -> GCC builtins.Chris Lattner2006-03-133-8/+30
| | | | llvm-svn: 26736
* Verify that packed type operands have the right size and base type.Chris Lattner2006-03-132-6/+28
| | | | llvm-svn: 26735
* Add a first ppc altivec intrinsic. Add packed type support.Chris Lattner2006-03-131-0/+30
| | | | llvm-svn: 26734
* For functions that use vector registers, save VRSAVE, mark usedChris Lattner2006-03-134-10/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | registers, and update it on entry to each function, then restore it on exit. This compiles: void func(vfloat *a, vfloat *b, vfloat *c) { *a = *b * *c + *c; } to this: _func: mfspr r2, 256 oris r6, r2, 49152 mtspr 256, r6 lvx v0, 0, r5 lvx v1, 0, r4 vmaddfp v0, v1, v0, v0 stvx v0, 0, r3 mtspr 256, r2 blr GCC produces this (which has additional stack accesses): _func: mfspr r0,256 stw r0,-4(r1) oris r0,r0,0xc000 mtspr 256,r0 lvx v0,0,r5 lvx v1,0,r4 lwz r12,-4(r1) vmaddfp v0,v0,v1,v0 stvx v0,0,r3 mtspr 256,r12 blr llvm-svn: 26733
* Optimizing to calloc() to malloc() + memset() can be bad on some platforms.Evan Cheng2006-03-131-33/+0
| | | | llvm-svn: 26732
* make sure dead token factor nodes are removed by the dag combiner.Chris Lattner2006-03-131-0/+1
| | | | llvm-svn: 26731
* Bring makefile back into compliance with standard by usingReid Spencer2006-03-131-1/+1
| | | | | | $(Echo) instead of @echo llvm-svn: 26730
* Handle the removal of the debug chain.Jim Laskey2006-03-138-65/+115
| | | | llvm-svn: 26729
* remove two implemented itemsChris Lattner2006-03-131-22/+0
| | | | llvm-svn: 26728
* Fold X+Y -> X|Y when safe. This implements:Chris Lattner2006-03-131-1/+19
| | | | | | | | Regression/CodeGen/PowerPC/and_add.ll a case that occurs with dynamic allocas of constant size. llvm-svn: 26727
* new testcaseChris Lattner2006-03-131-0/+11
| | | | llvm-svn: 26726
* I can't convince myself that this is safe, remove the recursive call.Chris Lattner2006-03-131-18/+2
| | | | llvm-svn: 26725
* add a couple of missing foldsChris Lattner2006-03-131-0/+12
| | | | llvm-svn: 26724
* For targets with FABS/FNEG support, lower copysign to an integer load,Chris Lattner2006-03-131-2/+25
| | | | | | | | | a select and FABS/FNEG. This speeds up a trivial (aka stupid) copysign benchmark I wrote from 6.73s to 2.64s, woo. llvm-svn: 26723
* Fix a couple of bugs that broke the alpha tester buildChris Lattner2006-03-131-2/+2
| | | | llvm-svn: 26722
* Handle cracked instructions in dispatch group formation.Chris Lattner2006-03-132-15/+28
| | | | llvm-svn: 26721
* Mark instructions that are cracked by the PPC970 decoder as such.Chris Lattner2006-03-134-26/+37
| | | | llvm-svn: 26720
* Several big changes:Chris Lattner2006-03-127-213/+317
| | | | | | | | | | | 1. Use flags on the instructions in the .td file to indicate the PPC970 unit type instead of a table in the .cpp file. Much cleaner. 2. Change the hazard recognizer to build d-groups according to the actual algorithm used, not my flawed understanding of it. 3. Model "must be in the first slot" and "must be the only instr in a group" accurately. llvm-svn: 26719
* Don't advance the hazard recognizer when there are no hazards and no ↵Chris Lattner2006-03-121-25/+40
| | | | | | | | | | | instructions to be emitted. Don't add one to the latency of a completed instruction if the latency of the op is 0. llvm-svn: 26718
* Chain operands aren't real uses: they don't require the full latency of theChris Lattner2006-03-121-4/+10
| | | | | | predecessor to finish before they can start. llvm-svn: 26717
* As a pending queue data structure to keep track of instructions whoseChris Lattner2006-03-121-36/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | operands have all issued, but whose results are not yet available. This allows us to compile: int G; int test(int A, int B, int* P) { return (G+A)*(B+1); } to: _test: lis r2, ha16(L_G$non_lazy_ptr) addi r4, r4, 1 lwz r2, lo16(L_G$non_lazy_ptr)(r2) lwz r2, 0(r2) add r2, r2, r3 mullw r3, r2, r4 blr instead of this, which has a stall between the lis/lwz: _test: lis r2, ha16(L_G$non_lazy_ptr) lwz r2, lo16(L_G$non_lazy_ptr)(r2) addi r4, r4, 1 lwz r2, 0(r2) add r2, r2, r3 mullw r3, r2, r4 blr llvm-svn: 26716
* Mark llvm.stacksave as only reading memory, this fixesChris Lattner2006-03-121-1/+1
| | | | | | Regression/Transforms/InstCombine/stacksaverestore.ll llvm-svn: 26715
* rename priorityqueue -> availablequeue. When a node is scheduled, rememberChris Lattner2006-03-111-34/+37
| | | | | | which cycle it lands on. llvm-svn: 26714
* Make CurrCycle a local var instead of an instance varChris Lattner2006-03-111-19/+20
| | | | llvm-svn: 26713
* Move some methods around so that BU specific code is together, TD specific codeChris Lattner2006-03-111-236/+245
| | | | | | is together, and direction independent code is together. llvm-svn: 26712
* merge preds/chainpreds -> preds setChris Lattner2006-03-111-93/+61
| | | | | | | | | merge succs/chainsuccs -> succs set This has no functionality change, simplifies the code, and reduces the size of sunits. llvm-svn: 26711
* blr is a branch tooChris Lattner2006-03-111-0/+1
| | | | llvm-svn: 26710
* add an exampleChris Lattner2006-03-111-0/+11
| | | | llvm-svn: 26709
* add a noteChris Lattner2006-03-111-0/+4
| | | | llvm-svn: 26708
* Fix PR681 by using the standard Lengauer and Tarjan algorithm for dominatorNate Begeman2006-03-112-174/+240
| | | | | | | | | | set construction, rather than intersecting various std::sets. This reduces the memory usage for the testcase in PR681 from 496 to 26MB of ram on my darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a 2.5GHz G5. This also enables future code sharing between Dom and PostDom now that they share near-identical implementations. llvm-svn: 26707
* fix pasto in generate assertion msgChris Lattner2006-03-111-1/+1
| | | | llvm-svn: 26706
* Doh!Evan Cheng2006-03-111-2/+2
| | | | llvm-svn: 26705
* Added a parameter to control whether Constant::getStringValue() would chopEvan Cheng2006-03-103-6/+12
| | | | | | off the result string at the first null terminator. llvm-svn: 26704
* remove some dead codeChris Lattner2006-03-102-95/+0
| | | | llvm-svn: 26703
* remove ShouldEmitDebugFunctions, a hack to support llvm-db via the jitChris Lattner2006-03-101-5/+1
| | | | llvm-svn: 26702
* scrape out bits of llvm-dbChris Lattner2006-03-101-9/+0
| | | | llvm-svn: 26701
OpenPOWER on IntegriCloud