summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Don't recalculate the stack position of the stack protector.Bill Wendling2008-11-061-0/+2
| | | | llvm-svn: 58815
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-061-3/+8
| | | | llvm-svn: 58814
* - Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm.Evan Cheng2008-11-064-76/+48
| | | | | | | - Consolidate instruction formats. - Other clean up. llvm-svn: 58808
* Improve JIT debugging outputs format consistency.Evan Cheng2008-11-062-16/+18
| | | | llvm-svn: 58807
* plug leakage of mutex data. pthread_mutex_destroy() doesnt free our ↵Nuno Lopes2008-11-061-1/+1
| | | | | | malloc'ed memory. llvm-svn: 58805
* Formating/comment changes - no functionality change.Duncan Sands2008-11-061-13/+8
| | | | llvm-svn: 58801
* Remove opcode from instruction TS flags; add MOVCC support; fix addrmode3 ↵Evan Cheng2008-11-066-234/+228
| | | | | | encoding bug. llvm-svn: 58800
* - Rename stackprotector_{prologue,epilogue} to stackprotector_{create,check}.Bill Wendling2008-11-063-7/+5
| | | | | | | - Get rid of "HasStackProtector" in MachineFrameInfo. - Modify intrinsics to tell which are doing what with memory. llvm-svn: 58799
* Widening cleanupMon P Wang2008-11-064-25/+22
| | | | llvm-svn: 58796
* 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-063-9/+81
| | | | | | | | | | | | - 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-061-3/+6
| | | | llvm-svn: 58786
* 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
* Remove debug output that's not really useful.Evan Cheng2008-11-051-13/+0
| | | | llvm-svn: 58778
* 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
* Reintroduce a comment that was removed with the AddToISelQueueDan Gohman2008-11-051-0/+1
| | | | | | changes. llvm-svn: 58760
* 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-051-0/+9
| | | | 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-058-165/+30
| | | | | | | | | | | | | | | | | | | | | | | | 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-054-44/+45
| | | | | | indirect gv reference. Please don't call it lazy. llvm-svn: 58746
* Do now allow InlineAlways pass to remove dead functions.Devang Patel2008-11-052-0/+13
| | | | 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-041-0/+159
| | | | | | a specialized pass that it not likely to be generally useful. llvm-svn: 58732
* fix memory leak in pass manager when adding an analysis pass that already ↵Nuno Lopes2008-11-041-1/+3
| | | | | | | | 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
* 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-042-14/+33
| | | | | | | | | | "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-041-4/+0
| | | | llvm-svn: 58725
* Update in response to feedback from Chris:Bill Wendling2008-11-042-32/+47
| | | | | | | | | | | | | | | | | - 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
* Allow SROA of vectors. Removing this caused aDale Johannesen2008-11-041-12/+4
| | | | | | | huge performance regression in something we care about. This may not be final fix. llvm-svn: 58718
* 80 columnsDale Johannesen2008-11-041-2/+2
| | | | llvm-svn: 58717
OpenPOWER on IntegriCloud