aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-09-09Change -fast-isel-no-abort to -fast-isel-abort, which now defaultsDan Gohman
to being off by default. Also, add assertion checks to check that the various fast-isel-related command-line options are only used when -fast-isel itself is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56029 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Legalizer was missing code that expand fpow to a libcall.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56028 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Adding 6-, 12-, and 18-bit limited-precision floating-point support for exp2Bill Wendling
function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56025 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Move the uglier parts of deciding not to emit aDale Johannesen
UsedDirective for some symbols in llvm.used into Darwin-specific code. I've decided LessPrivateGlobal is potentially a useful abstraction and left it in the target-independent area, with improved comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56024 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Add support for 6-, 12-, and 18-bit limited precision calculations of exp forBill Wendling
floating-point numbers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56023 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Fix a minor wording ambiguity in the Developer Policy.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56022 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Add a new option, -fast-isel-verbose, that can be used withDan Gohman
-fast-isel-no-abort to get a dump of all unhandled instructions, without an abort. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56021 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Clear preference when it no longer makes sense.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56019 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Remove. Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56018 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09if loop induction variable is always sign or zero extended then Devang Patel
extend the type of induction variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56017 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Add assertion check.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56016 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09fix overflow check.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56011 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Clean this up, based on Evan's suggestions.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56009 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09- Add support for 6-, 12-, and 18-bit limited precision floating-point "log"Bill Wendling
values. - Refactored some of the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56008 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Fix PR2757. Ignore liveinterval register allocation preference if the ↵Evan Cheng
preference register is not in the right register class. This can happen due to sub-register coalescing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56006 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Make safer variant of alias resolution routine to be defaultAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56005 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Simplify this some more. No functionality change.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56003 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Resolve aliases, when possibleAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56001 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Add limited precision floating-point conversions of log10 for 6- and 18-bitBill Wendling
precisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56000 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Mark IMPLICIT_DEF as being rematerializable and cheap-as-a-move.Dan Gohman
It's already special-cased and treated as rematerializable within LiveIntervals; this allows it to be handled by other passes such as TwoAddressInstrctionPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55999 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Fix typoAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55998 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Fix incorrect linker behaviour: we shouldn't resolve weak aliases.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55997 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Replace explicit pointer-size constants to TargetData query.Anton Korobeynikov
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55996 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Make SimplifyDemandedVectorElts simplify vectors with multipleDan Gohman
users, and teach it about shufflevector instructions. Also, fix a subtle bug in SimplifyDemandedVectorElts' insertelement code. This is a patch that was originally written by Eli Friedman, with some fixes and cleanup by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55995 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Simplify.Devang Patel
Fix outdated comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55993 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09fit in 80 cols, minor tweaksGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55992 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Optimization suggested by Matthijs Kooijman.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55988 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Correct callgraph construction. It has two problems:Duncan Sands
(1) code left over from the days of ConstantPointerRef: if a use of a function is a GlobalValue then that is not considered a reason to add an edge from the external node, even though the use may be as an initializer for an externally visible global! There might be some point to this behaviour when the use is by an alias (though the code predated aliases by some centuries), but I think PR2782 is a better way of handling that. (2) If function F calls function G, and also G is a parameter to the call, then an F->G edge is not added to the callgraph. While this doesn't seem to matter much, adding such an edge makes the callgraph more regular. In addition, the new code should be faster as well as simpler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55987 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Update VC++ project files.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Check for type legality before materializing integer constants in fast isel. ↵Owen Anderson
With this change, all of MultiSource/Applications passes on Darwin/X86 under FastISel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55982 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Allow use of ssh to perform remote execution.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Remove the code that protected FastISel from aborting inDan Gohman
the case of loads, stores, and conditional branches. It can handle those now, so any that aren't handled should trigger the abort. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55977 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Temporarily disable vector select in the bitcode reader. TheDan Gohman
way it handles the type of the condition is breaking plain scalar select in the case that the value is a forward-reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55976 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Fix a constant lowering bug. Now we can do load and store instructions with ↵Evan Cheng
funky getelementptr embedded in the address operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55975 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Fix logic for not emitting no-dead-strip for someDale Johannesen
objects in llvm.used (thanks Anton). Makes visible the magic 'l' prefix for symbols on Darwin which are to be passed through the assembler, then removed at linktime (previously all references to this had been hidden in the ObjC FE code, oh well). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55973 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Update generated files.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55972 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Fix simplifycfg crash in handing block merge.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55971 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Extend the vcmp/fcmp LLVM IR instructions to take vectors as argumentsDan Gohman
and, if so, to return a vector of boolean as a result; Extend the select LLVM IR instruction to allow you to specify a result type which is a vector of boolean, in which case the result will be an element-wise selection instead of choosing one vector or the other; and Update LangRef.html to describe these changes. This patch was contributed by Preston Gurd! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55969 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-09Add support for floating-point calculations of log2 with limited precisions of 6Bill Wendling
and 18. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55968 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08s/RemoveUnreachableBlocks/RemoveUnreachableBlocksFromFn/gDevang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55965 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Don't suppress no-dead-strip for used static functions.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55962 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Reapply 55902: Add test for checking proper lowering of eh_return & unwind ↵Anton Korobeynikov
init intrinsics on 32bit x86 targets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55960 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Reapply 55903: Testcase for 64-bit lowering of eh_return & unwind_initAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55959 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Reapply 55904: Unbreak and fix indentationAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55958 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Reapply 55901: Drop unused variableAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55957 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Reapply 55900: We do support EH on x86-64!Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Reapply 55899: First draft of EH support on x86/64-linuxAnton Korobeynikov
Now with fix, which prevents subtle codegen bug to trigger on darwin. No fix for bug though, it's still there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Reapply blindly reverted 55898: Implement FRAME_TO_ARGS_OFFSET for x86-64Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Fix a few I's that were meant to be renamed to BI's.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55942 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08Add a target triple; apparently LLVM doesn't use 64-bit Dan Gohman
data directives on darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55941 91177308-0d34-0410-b5e6-96231b3b80d8