summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Handle smul<x><y>, smulw<y>, smla<x><y>, smlaw<y>.Evan Cheng2008-11-063-64/+101
| | | | llvm-svn: 58793
* Adjust the stack protector heuristic to care about only arrays or calls toBill Wendling2008-11-061-1/+9
| | | | | | "alloca". llvm-svn: 58792
* Implement the stack protector stack accesses via intrinsics:Bill Wendling2008-11-065-9/+105
| | | | | | | | | | | | - stackprotector_prologue creates a stack object and stores the guard there. - stackprotector_epilogue reads the stack guard from the stack position created by stackprotector_prologue. - The PrologEpilogInserter was changed to make sure that the stack guard is first on the stack frame. llvm-svn: 58791
* Fix so_imm encoding bug; add support for MOVi2pieces.Evan Cheng2008-11-063-16/+56
| | | | llvm-svn: 58790
* Fix encoding of multiple instructions with 3 src operands; also handle ↵Evan Cheng2008-11-064-77/+96
| | | | | | smmul, smmla, and smmls. llvm-svn: 58789
* Need a \n.Evan Cheng2008-11-061-1/+2
| | | | llvm-svn: 58788
* InstructionNamer preserves everything.Devang Patel2008-11-061-0/+4
| | | | llvm-svn: 58787
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-062-3/+77
| | | | llvm-svn: 58786
* Add post-build event for clangDriver (to copy clang.exe into "dstroot").Steve Naroff2008-11-061-3/+9
| | | | llvm-svn: 58783
* Undo 58778 but makes the binary dump prettier.Evan Cheng2008-11-051-3/+21
| | | | llvm-svn: 58782
* Add comments to function.Bill Wendling2008-11-051-0/+6
| | | | llvm-svn: 58781
* Encode pic load / store instructions; fix some encoding bugs.Evan Cheng2008-11-053-89/+153
| | | | llvm-svn: 58780
* Add command line option -entry-funcion to override entry function (default ↵Evan Cheng2008-11-051-5/+12
| | | | | | is main). llvm-svn: 58779
* Remove debug output that's not really useful.Evan Cheng2008-11-051-13/+0
| | | | llvm-svn: 58778
* Make ISel ignore dead nodes. The DAGCombiner normally eliminatesDan Gohman2008-11-052-0/+27
| | | | | | | dead nodes, but in this case its missing one. Fixing the DAGCombiner is desirable, but it's somewhat involved. llvm-svn: 58777
* opt was not exporting the Mangler symbolsAndrew Lenharth2008-11-051-1/+2
| | | | llvm-svn: 58775
* Add PR number.Devang Patel2008-11-051-0/+1
| | | | llvm-svn: 58765
* Restructure ARM code emitter to use instruction formats instead of ↵Evan Cheng2008-11-055-285/+302
| | | | | | addressing modes to determine how to encode instructions. llvm-svn: 58764
* Use an assert to check that SelectCode isn't called onDan Gohman2008-11-051-5/+4
| | | | | | nodes that are already selected. llvm-svn: 58763
* The HadDelete field is no longer used.Dan Gohman2008-11-051-1/+0
| | | | llvm-svn: 58761
* Reintroduce a comment that was removed with the AddToISelQueueDan Gohman2008-11-051-0/+1
| | | | | | changes. llvm-svn: 58760
* Update some comments to reflect the new code.Dan Gohman2008-11-051-3/+8
| | | | llvm-svn: 58759
* Test commit, add Makefile for XCore target, more to follow.Richard Osborne2008-11-051-0/+21
| | | | llvm-svn: 58755
* Fix thinko in ppcf128 expansion of truncating store.Duncan Sands2008-11-051-1/+1
| | | | llvm-svn: 58753
* Add more vector move low and zero-extend patterns.Evan Cheng2008-11-052-0/+24
| | | | llvm-svn: 58752
* Type of shuffle mask has changed.Evan Cheng2008-11-051-1/+2
| | | | llvm-svn: 58751
* Indentation.Evan Cheng2008-11-051-1/+1
| | | | llvm-svn: 58750
* Eliminate the ISel priority queue, which used the topological order for aDan Gohman2008-11-0511-308/+74
| | | | | | | | | | | | | | | | | | | | | | | | priority function. Instead, just iterate over the AllNodes list, which is already in topological order. This eliminates a fair amount of bookkeeping, and speeds up the isel phase by about 15% on many testcases. The impact on most targets is that AddToISelQueue calls can be simply removed. In the x86 target, there are two additional notable changes. The rule-bending AND+SHIFT optimization in MatchAddress that creates new pre-isel nodes during isel is now a little more verbose, but more robust. Instead of either creating an invalid DAG or creating an invalid topological sort, as it has historically done, it can now just insert the new nodes into the node list at a position where they will be consistent with the topological ordering. Also, the address-matching code has logic that checked to see if a node was "already selected". However, when a node is selected, it has all its uses taken away via ReplaceAllUsesWith or equivalent, so it won't recieve any further visits from MatchAddress. This code is now removed. llvm-svn: 58748
* Use getTargetConstant instead of getConstant for nodes that should not be ↵Dan Gohman2008-11-051-8/+8
| | | | | | | | visited by isel and potentially forced into registers. llvm-svn: 58747
* Rename isGVLazyPtr to isGVNonLazyPtr relocation. This represents Mac OS XEvan Cheng2008-11-056-60/+62
| | | | | | indirect gv reference. Please don't call it lazy. llvm-svn: 58746
* New test case.Devang Patel2008-11-051-0/+6
| | | | llvm-svn: 58745
* Do now allow InlineAlways pass to remove dead functions.Devang Patel2008-11-053-0/+17
| | | | llvm-svn: 58744
* Silence unused variable warnings.Devang Patel2008-11-051-1/+3
| | | | llvm-svn: 58743
* Check Attribute::NoInline.Devang Patel2008-11-051-4/+2
| | | | llvm-svn: 58742
* Remove dead variable.Bill Wendling2008-11-051-1/+0
| | | | llvm-svn: 58741
* Simplify the allocated size calculation.Bill Wendling2008-11-051-3/+3
| | | | llvm-svn: 58740
* Fix commentBill Wendling2008-11-051-1/+2
| | | | llvm-svn: 58739
* Use the new predicate to control when we do prealloc splitting. Fix a small ↵Owen Anderson2008-11-051-1/+5
| | | | | | bug. llvm-svn: 58738
* Debugging output tweak.Evan Cheng2008-11-051-2/+2
| | | | llvm-svn: 58737
* CMake: updated list of source files.Oscar Fuentes2008-11-051-0/+1
| | | | llvm-svn: 58736
* Some code simplification. It now doesn't generate a prologue if the epilogueBill Wendling2008-11-051-61/+47
| | | | | | isn't going to be generated. llvm-svn: 58734
* Add a new pass to simplify specific half_powr function calls. This isDan Gohman2008-11-044-0/+207
| | | | | | a specialized pass that it not likely to be generally useful. llvm-svn: 58732
* On darwin, 32-bit x86 target is i386-apple-darwin...Devang Patel2008-11-041-1/+1
| | | | llvm-svn: 58731
* fix memory leak in pass manager when adding an analysis pass that already ↵Nuno Lopes2008-11-042-7/+14
| | | | | | | | existed. as pass manager takes ownership of the added passes, it has to delete the pass if it isnt added to the pass list tweak the opt tool so that it doesnt access a Pass after the ownership was taken by the pass manager llvm-svn: 58730
* Fix tests not to emit IR outputAnton Korobeynikov2008-11-042-2/+2
| | | | llvm-svn: 58729
* Small simplification of the stack guard type.Bill Wendling2008-11-041-4/+3
| | | | llvm-svn: 58728
* - Add a "getOrInsertGlobal" method to the Module class. This acts similarly toBill Wendling2008-11-043-14/+42
| | | | | | | | | | "getOrInsertFunction" in that it either adds a new declaration of the global and returns it, or returns the current one -- optionally casting it to the correct type. - Use the new getOrInsertGlobal in the stack protector code. - Use "splitBasicBlock" in the stack protector code. llvm-svn: 58727
* First pass at checking for the creation of a new join point when doing ↵Owen Anderson2008-11-041-0/+73
| | | | | | pre-alloc splitting. This is not turned on yet. llvm-svn: 58726
* Actually ARM / Mac OS X does have UINTTOFP_I64_F{64|32} libcalls.Evan Cheng2008-11-042-4/+17
| | | | llvm-svn: 58725
* Update in response to feedback from Chris:Bill Wendling2008-11-043-33/+60
| | | | | | | | | | | | | | | | | - Use enums instead of magic numbers. - Rework algorithm to use the bytes size from the target to determine when to emit stack protectors. - Get rid of "propolice" in any comments. - Renamed an option to its expanded form. - Other miscellanenous changes. More changes will come after this. llvm-svn: 58723
OpenPOWER on IntegriCloud