summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Enable this test only for Darwin.Devang Patel2011-03-211-1/+1
| | | | llvm-svn: 128017
* Provide a means for CrashRecovery clients to determine if code is currently ↵Ted Kremenek2011-03-212-0/+13
| | | | | | running while crash recovery cleanups are being processed. llvm-svn: 128008
* Allow a client to clear an IntrustiveRefCntPtr (deliberately leaking the ↵Ted Kremenek2011-03-211-0/+4
| | | | | | referenced object). llvm-svn: 128007
* Fix unused param warning.Eric Christopher2011-03-211-1/+1
| | | | llvm-svn: 128005
* Grammar-o.Eric Christopher2011-03-211-1/+1
| | | | llvm-svn: 128004
* Fix typos in assert messages.Jay Foad2011-03-211-2/+2
| | | | llvm-svn: 128002
* More cleanups to the OptimizeEmptyGlobalCXXDtors GlobalOpt function.Anders Carlsson2011-03-211-15/+9
| | | | llvm-svn: 127997
* A WIP commit of the InstAlias printing cleanup. This code will soon replace theBill Wendling2011-03-211-19/+121
| | | | | | | code below it. Even though it looks very similar, it will match more precisely and geneate better functions in the long run. llvm-svn: 127991
* Add the IAPrinter class.Bill Wendling2011-03-211-0/+97
| | | | | | | This is a helper class that will make it easier to say which InstAliases can be printed and which cannot (because of ambiguity). llvm-svn: 127990
* * Add classes that support the "feature" information.Bill Wendling2011-03-212-5/+120
| | | | | | * Move the code that emits the reg in reg class matching into its own function. llvm-svn: 127988
* We need to pass the TargetMachine object to the InstPrinter if we are printingBill Wendling2011-03-2118-32/+90
| | | | | | | | | the alias of an InstAlias instead of the thing being aliased. Because we need to know the features that are valid for an InstAlias. This is part of a work-in-progress. llvm-svn: 127986
* As suggested by Nick Lewycky, ignore debugging intrinsics when trying to ↵Anders Carlsson2011-03-211-0/+7
| | | | | | decide whether a destructor is empty or not. llvm-svn: 127985
* Fix commentsNick Lewycky2011-03-211-2/+2
| | | | llvm-svn: 127984
* This README entry was fixed recently.Eli Friedman2011-03-211-28/+0
| | | | llvm-svn: 127982
* Re-apply r127953 with fixes: eliminate empty return block if it has no ↵Evan Cheng2011-03-216-10/+157
| | | | | | predecessors; update dominator tree if cfg is modified. llvm-svn: 127981
* Don't try to eliminate invokes to __cxa_atexit.Anders Carlsson2011-03-201-0/+6
| | | | llvm-svn: 127976
* Don't segfault on mutual recursion, as pointed out by Frits.Anders Carlsson2011-03-201-4/+6
| | | | llvm-svn: 127975
* Address comments from Frits van Bommel.Anders Carlsson2011-03-201-7/+16
| | | | llvm-svn: 127974
* Process all dead defs after rematerializing during splitting.Jakob Stoklund Olesen2011-03-201-22/+15
| | | | llvm-svn: 127973
* Write the section table and the section data in the same order thatRafael Espindola2011-03-2032-346/+462
| | | | | | | gun as does. This makes it a lot easier to compare the output of both as the addresses are now a lot closer. llvm-svn: 127972
* Add an optimization to GlobalOpt that eliminates calls to __cxa_atexit, if ↵Anders Carlsson2011-03-202-0/+132
| | | | | | the function passed is empty. llvm-svn: 127970
* Avoid initializing posix_spawn_file_actions_t if not used.Benjamin Kramer2011-03-201-7/+11
| | | | | | | - glibc falls back to fork+exec if a file actions object is present. - On BSDs this saves a malloc. llvm-svn: 127969
* If a class inherits from RefCountedBaseVPTR allow all its subclasses to be ↵Argyrios Kyrtzidis2011-03-203-4/+4
| | | | | | used with IntrusiveRefCntPtr. llvm-svn: 127966
* Also eliminate redundant spills downstream of inserted reloads.Jakob Stoklund Olesen2011-03-201-9/+17
| | | | | | | This can happen when multiple sibling registers are spilled after live range splitting. llvm-svn: 127965
* Change an argument to a LiveInterval instead of a register number to save ↵Jakob Stoklund Olesen2011-03-201-13/+13
| | | | | | some redundant lookups. llvm-svn: 127964
* Disable test in a way that keeps lit happy.Daniel Dunbar2011-03-201-1/+2
| | | | llvm-svn: 127962
* Replace a broken LiveInterval::MergeValueInAsValue() with something simpler.Jakob Stoklund Olesen2011-03-191-46/+5
| | | | llvm-svn: 127960
* Add debug output.Jakob Stoklund Olesen2011-03-192-0/+5
| | | | llvm-svn: 127959
* Make llvm-config.in configuration more MSYS-friendly.Oscar Fuentes2011-03-191-9/+10
| | | | | | | Some of those POSIX <-> Windows command line conversions ended on failure. llvm-svn: 127958
* CMake: store TARGET_TRIPLE on llvm-config.in.Oscar Fuentes2011-03-191-0/+1
| | | | llvm-svn: 127957
* Update CMake library dependencies.Oscar Fuentes2011-03-191-1/+1
| | | | llvm-svn: 127956
* Revert r127953, "SimplifyCFG has stopped duplicating returns into predecessorsDaniel Dunbar2011-03-197-197/+4
| | | | | | to canonicalize IR", it broke a lot of things. llvm-svn: 127954
* SimplifyCFG has stopped duplicating returns into predecessors to canonicalize IREvan Cheng2011-03-197-4/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to have single return block (at least getting there) for optimizations. This is general goodness but it would prevent some tailcall optimizations. One specific case is code like this: int f1(void); int f2(void); int f3(void); int f4(void); int f5(void); int f6(void); int foo(int x) { switch(x) { case 1: return f1(); case 2: return f2(); case 3: return f3(); case 4: return f4(); case 5: return f5(); case 6: return f6(); } } => LBB0_2: ## %sw.bb callq _f1 popq %rbp ret LBB0_3: ## %sw.bb1 callq _f2 popq %rbp ret LBB0_4: ## %sw.bb3 callq _f3 popq %rbp ret This patch teaches codegenprep to duplicate returns when the return value is a phi and where the phi operands are produced by tail calls followed by an unconditional branch: sw.bb7: ; preds = %entry %call8 = tail call i32 @f5() nounwind br label %return sw.bb9: ; preds = %entry %call10 = tail call i32 @f6() nounwind br label %return return: %retval.0 = phi i32 [ %call10, %sw.bb9 ], [ %call8, %sw.bb7 ], ... [ 0, %entry ] ret i32 %retval.0 This allows codegen to generate better code like this: LBB0_2: ## %sw.bb jmp _f1 ## TAILCALL LBB0_3: ## %sw.bb1 jmp _f2 ## TAILCALL LBB0_4: ## %sw.bb3 jmp _f3 ## TAILCALL rdar://9147433 llvm-svn: 127953
* Minor code re-structuring.Evan Cheng2011-03-191-1/+1
| | | | llvm-svn: 127952
* Add support for legalizing UINT_TO_FP of vectors on platforms which doNadav Rotem2011-03-193-1/+60
| | | | | | | | not have native support for this operation (such as X86). The legalized code uses two vector INT_TO_FP operations and is faster than scalarizing. llvm-svn: 127951
* Update Passes.html, part 3: alphabetize descriptions.Eli Friedman2011-03-191-102/+99
| | | | llvm-svn: 127948
* Update Passes.html, part 2: cleanup a bit more dead docs, a few moreEli Friedman2011-03-191-70/+8
| | | | | | description updates. llvm-svn: 127947
* Update Passes.html, part 1: remove passes which were removed from the tree,Eli Friedman2011-03-191-144/+35
| | | | | | | update short descriptions to match those from the options, alphabetize table of contents. llvm-svn: 127946
* Disable test to unbreak Linux. Radar 9156771.Stuart Hastings2011-03-191-1/+1
| | | | llvm-svn: 127945
* Reapply 127939 since Daniel fixed the breakage. <rdar://problem/9012638>Stuart Hastings2011-03-194-9/+13
| | | | llvm-svn: 127944
* Revert 127939. <rdar://problem/9012638>Stuart Hastings2011-03-194-13/+9
| | | | llvm-svn: 127943
* Test case for r127940.Devang Patel2011-03-191-0/+17
| | | | llvm-svn: 127941
* Revise r126127 to address Daniel's comments. <rdar://problem/9012638>Stuart Hastings2011-03-194-9/+13
| | | | llvm-svn: 127939
* Fixed an assert by the ARM disassembler for LDRD_PRE/POST.Johnny Chen2011-03-192-3/+7
| | | | | | | | The relevant instruction table entries were changed sometime ago to no longer take <Rt2> as an operand. Modify ARMDisassemblerCore.cpp to accomodate the change and add a test case. llvm-svn: 127935
* Tweak CrashRecoveryContextCleanup to provide an easy method for clients to ↵Ted Kremenek2011-03-192-6/+23
| | | | | | select between 'delete' and 'destructor' cleanups, and allow the destructor of CrashRecoveryContextCleanupRegister to be pseudo re-entrant. llvm-svn: 127929
* Tweak CrashRecoveryContext::GetCurrent() to return quickly if ↵Ted Kremenek2011-03-191-0/+3
| | | | | | | | 'gCrsahRecoveryEnabled' is false. This avoids us needing to go to thread local storage for the performance sensitive case where we are compiling code. llvm-svn: 127928
* FileCheckize a test.Andrew Trick2011-03-191-7/+16
| | | | | | (one-by-one until valgrind is happy) llvm-svn: 127925
* If an AllocaInst referred by DbgDeclareInst is used by a LoadInst then the ↵Devang Patel2011-03-182-0/+30
| | | | | | LoadInst should also get a corresponding llvm.dbg.value intrinsic. llvm-svn: 127924
* Remove dead code.Devang Patel2011-03-181-2/+0
| | | | llvm-svn: 127923
* Consider debug info intrinsics pointing to null value as dead instructions.Devang Patel2011-03-181-1/+14
| | | | llvm-svn: 127922
OpenPOWER on IntegriCloud