aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2008-10-30Merge from mainline.Tanya Lattner
Move the code that adds the DeadMachineInstructionElimPass from target-independent code to target-specific code. This prevents it from running on targets that aren't using fast-isel. In addition to saving compile time, this addresses the problem that not all targets are prepared for it. In order to use this pass, all instructions must declare all their fixed uses and defs of physical registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58425 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30Merge from mainline.Tanya Lattner
fix PR2953, an off-by-one error handling formatted i/o. Thanks to Török Edwin for the awesome reduced testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58424 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30Merge from mainline.Tanya Lattner
Fix a nasty miscompilation of 176.gcc on linux/x86 where we synthesized a memset using 16-byte XMM stores, but where the stack realignment code didn't work. Until it does (PR2962) disable use of xmm regs in memcpy and memset formation for linux and other targets with insufficiently aligned stacks. This is part of PR2888 git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58423 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-23Merge from mainline.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58032 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22Fix build error.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58004 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22Rename bitcastToAPInt to convertToAPInt.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58003 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22Merge from mainline.Tanya Lattner
Disallow the construction of SCEVs with could-not-compute operands. Catch CNCs returned by BinomialCoefficient and don't try to operate with them. This replaces the previous fix for PR2857. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57958 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22Merge from mainline.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57957 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22Merge from mainline. Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57955 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22Merge from mainlineTanya Lattner
Fix a bug that prevented llvm-extract -delete from working. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17remove v[if]cmp functionality from the 2.4 release. These instructions will ↵Tanya Lattner
be removed or substantially changes in mainline after the 2.4 release and we don't want to have to support these for backwards compatibility purposes. Patch by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57732 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57725 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57713 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline..Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57708 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
Properly handle linking of strong alias with weak function, this fixes PR2883 git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57707 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
Also update sub-register intervals after a trivial computation is rematt'ed for a copy instruction. PR2775. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
Unbreak DbgStopPointInst::getFileName(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57705 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57703 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's as parameters instead of raw Constants. This prevents the constants from being selected by the isel pass, fixing PR2735. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57700 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17Merge from mainline.Tanya Lattner
Fix PR2697 by rewriting the '(X / pos) op neg' logic. This also changes a couple other cases for clarity, but shouldn't affect correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57698 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-08Merge from mainline. Tanya Lattner
Add missing semicolumns in parser rules, those missing semicolumns are required to compile with the latest Bison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@57297 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07Note that ADDC and company don't actually expand yet (missing in legalizeAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57226 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07Mark negative-zero-to-int conversion as Inexact,Dale Johannesen
since -0.0 can't be represented as an int. This prevents llvm from reducing -0.0 to a load-and-convert of int 0. Fixes ieee.exp/mzero[2356].c in gcc testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57224 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-07Correctly handle calls with no return values. This fixesDan Gohman
2006-01-23-UnionInit on x86-64 when inlining is not enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57223 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Fix typo, fix PR 2865.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57221 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Be more precise about which conversions of NaNsDale Johannesen
are Inexact. (These are not Inexact as defined by IEEE754, but that seems like a reasonable way to abstract what happens: information is lost.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57218 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Fix PR2850 and PR2863. Only generate movddup for 128-bit SSE vector shuffles.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Temporarily revert functionality change from my previous patch;Dale Johannesen
it is too aggressive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57203 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Remove interfaces implemented by dead pass from the list of available passes.Devang Patel
Patch By Matthijs Kooijman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57202 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Mark shortening NaN conversions as Inexact. PR 2856.Dale Johannesen
Improve description of unsupported formats. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57185 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06It is possible that all functions in one module are not being Devang Patel
optimized for size. Set OptForSize for each function separately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Don't dereference the end() iterator. Thanks toDan Gohman
ENABLE_EXPENSIVE_CHECKS for finding this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57181 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Remove unncessary isDeclaration() checks.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57179 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Allow scalarrepl to treat an all-zero GEP just as bitcast.Matthijs Kooijman
This includes not marking a GEP involving a vector as unsafe, but only when it has all zero indices. This allows scalarrepl to work in a few more cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57177 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06reorder #include order, patch by Kenneth Boyd!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57148 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-06Add #include to get alloca, patch by Kenneth Boyd!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57147 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05fix an incorrect and extremely confusing error messageChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57123 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05make the autoupgrade code for ret attributes dramatically simpler Chris Lattner
and actually work. We can now read the llvm 2.3 bc file from PR2849 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57122 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05regenerateNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57114 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05clean ArgTypeListI production: free the PATypeHolderNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57113 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05Emit type-correct constant null. Also fix a typo.Anton Korobeynikov
Patch by Robert G. Jakabosky! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05Fix weird think-o and unbreak build on all gcc-3.4.x-based platforms (e.g. ↵Anton Korobeynikov
mingw) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57106 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05this case is matched now.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57096 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05rewrite bswap matching to be more general, allowing arbitraryChris Lattner
shifting and masking inside a bswap expr. This allows it to handle the cases from PR2842, which involve the intermediate 'or' expressions being shifted, not just the input value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57095 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-05fix a bug where the bswap matcher could match a case involvingChris Lattner
ashr. It should only apply to lshr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57089 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04wrap some long lines and expand i32 mul's to libcalls, inspired by aChris Lattner
patch by Mikael Lepisto! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57077 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04CMake: Reflected changes on source file structure. New plugin supportOscar Fuentes
for llvmc2 incomplete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57076 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04Ignore loads from and stores to local memory (i.e. allocas)Duncan Sands
when deciding whether to mark a function readnone/readonly. Since the pass is currently run before SROA, this may be quite helpful. Requested by Chris on IRC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57050 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04Allow the construction of SCEVs with SCEVCouldNotCompute operands, byNick Lewycky
implementing folding. Fixes PR2857. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57049 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-04Revert r56675 - it breaks unwinding runtime everywhere.Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57048 91177308-0d34-0410-b5e6-96231b3b80d8