Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use dyn_cast instead of isa+cast. | Nick Lewycky | 2011-01-27 | 1 | -2/+1 |
| | | | | llvm-svn: 124404 | ||||
* | Speculatively revert r124380. | Devang Patel | 2011-01-27 | 2 | -4/+1 |
| | | | | llvm-svn: 124397 | ||||
* | While legalizing SDValues do not drop SDDbgValues, trasfer them to new legal ↵ | Devang Patel | 2011-01-27 | 2 | -1/+4 |
| | | | | | | | | nodes. Take 2. This includes fix for dragonegg crash. llvm-svn: 124380 | ||||
* | Add support for specifying register name in cfi-register/offset/def | Roman Divacky | 2011-01-27 | 1 | -3/+23 |
| | | | | | | as well as register number. llvm-svn: 124379 | ||||
* | Introduce virtual ParseRegister method in TargetAsmParser. | Roman Divacky | 2011-01-27 | 3 | -6/+19 |
| | | | | | | Create override of this method in X86/ARM/MBlaze. llvm-svn: 124378 | ||||
* | Fix indentation. | Jay Foad | 2011-01-27 | 1 | -9/+9 |
| | | | | llvm-svn: 124375 | ||||
* | Fix surprising missed optimization in mergefunc where we forgot to consider | Nick Lewycky | 2011-01-27 | 1 | -3/+12 |
| | | | | | | that relationships like "i8* null" is equivalent to "i32* null". llvm-svn: 124368 | ||||
* | Avoid modifying the OneClassForEachPhysReg map while iterating over it. | Bob Wilson | 2011-01-27 | 1 | -2/+6 |
| | | | | | | | | | Linear scan regalloc is currently assuming that any register aliased with a member of a regclass must also be in at least one regclass. That is not always true. For example, for X86, RIP is in a regclass but IP is not. If you're unlucky, this can cause a crash by invalidating the iterator. llvm-svn: 124365 | ||||
* | Use the incoming VT not the VT of where we're trying to store to determine | Eric Christopher | 2011-01-27 | 1 | -2/+2 |
| | | | | | | | | if we can store a value. Also, the exclusion is or, not and. Fixes rdar://8920247. llvm-svn: 124357 | ||||
* | lib/Target/X86/X86ISelDAGToDAG.cpp: __main should be WINCALL64 on Win64. | NAKAMURA Takumi | 2011-01-27 | 1 | -1/+1 |
| | | | | | | CALL64 marks %xmm* as dead. llvm-svn: 124354 | ||||
* | Try harder to not have unused variables. | Matt Beaumont-Gay | 2011-01-27 | 1 | -0/+2 |
| | | | | llvm-svn: 124350 | ||||
* | Opt-mode -Wunused-variable cleanup | Matt Beaumont-Gay | 2011-01-27 | 1 | -4/+2 |
| | | | | llvm-svn: 124346 | ||||
* | Reapply 124301 | Devang Patel | 2011-01-27 | 1 | -1/+5 |
| | | | | llvm-svn: 124339 | ||||
* | Initialize variable to get rid of clang warning. | Bill Wendling | 2011-01-26 | 1 | -1/+1 |
| | | | | llvm-svn: 124331 | ||||
* | Simplify User::operator delete(). | Jay Foad | 2011-01-26 | 1 | -10/+3 |
| | | | | llvm-svn: 124330 | ||||
* | Revert 124301. | Devang Patel | 2011-01-26 | 1 | -5/+1 |
| | | | | llvm-svn: 124327 | ||||
* | Revert r124302 | Devang Patel | 2011-01-26 | 1 | -3/+0 |
| | | | | llvm-svn: 124320 | ||||
* | Add support for printing out floating point values from the ARM assembly | Bill Wendling | 2011-01-26 | 1 | -2/+27 |
| | | | | | | | parser. The parser will always give us a binary representation of the floating point number. llvm-svn: 124318 | ||||
* | Temporarily revert 124275 to see if it brings the dragonegg buildbot back. | Eric Christopher | 2011-01-26 | 1 | -85/+82 |
| | | | | llvm-svn: 124312 | ||||
* | [AVX] Add INSERT_SUBVECTOR and support it on x86. This provides a | David Greene | 2011-01-26 | 4 | -1/+96 |
| | | | | | | | | default implementation for x86, going through the stack in a similr fashion to how the codegen implements BUILD_VECTOR. Eventually this will get matched to VINSERTF128 if AVX is available. llvm-svn: 124307 | ||||
* | While legalizing SDValues do not drop SDDbgValues, trasfer them to new legal ↵ | Devang Patel | 2011-01-26 | 1 | -0/+3 |
| | | | | | | nodes. llvm-svn: 124302 | ||||
* | Process valid SDDbgValues even if the node does not have any order assigned. | Devang Patel | 2011-01-26 | 1 | -1/+5 |
| | | | | llvm-svn: 124301 | ||||
* | Refactor. | Devang Patel | 2011-01-26 | 1 | -19/+30 |
| | | | | llvm-svn: 124300 | ||||
* | [AVX] Support EXTRACT_SUBVECTOR on x86. This provides a default | David Greene | 2011-01-26 | 4 | -5/+37 |
| | | | | | | | | implementation of EXTRACT_SUBVECTOR for x86, going through the stack in a similr fashion to how the codegen implements BUILD_VECTOR. Eventually this will get matched to VEXTRACTF128 if AVX is available. llvm-svn: 124292 | ||||
* | fix the encoding and add testcases for ARM nop, yield, wfe and wfi instructions | Bruno Cardoso Lopes | 2011-01-26 | 1 | -0/+1 |
| | | | | llvm-svn: 124288 | ||||
* | Fix PR9039, a use-after-free in reassociate. The issue was that the | Duncan Sands | 2011-01-26 | 1 | -4/+11 |
| | | | | | | | | operand being factorized (and erased) could occur several times in Ops, resulting in freed memory being used when the next occurrence in Ops was analyzed. llvm-svn: 124287 | ||||
* | AttrListPtr has an overloaded operator== which does this for us, we should use | Nick Lewycky | 2011-01-26 | 2 | -12/+7 |
| | | | | | | it. No functionality change! llvm-svn: 124286 | ||||
* | Teach mergefunc that intptr_t is the same width as a pointer. We still can't | Nick Lewycky | 2011-01-26 | 1 | -1/+7 |
| | | | | | | | merge vector<intptr_t>::push_back() and vector<void*>::push_back() because Enumerate() doesn't realize that "i64* null" and "i8** null" are equivalent. llvm-svn: 124285 | ||||
* | There are no vectors of pointer or arrays, so we don't need to check vector | Nick Lewycky | 2011-01-26 | 1 | -7/+1 |
| | | | | | | elements for type equivalence. llvm-svn: 124284 | ||||
* | APInt has a method for determining whether a number is a power of 2 | Duncan Sands | 2011-01-26 | 1 | -1/+1 |
| | | | | | | which is more efficient than countPopulation - use it. llvm-svn: 124283 | ||||
* | Fix memory corruption. If one of the SCEV creation functions calls another but | Nick Lewycky | 2011-01-26 | 1 | -0/+2 |
| | | | | | | | doesn't return immediately after then the insert position in UniqueSCEVs will be out of date. No test because this is a memory corruption issue. Fixes PR9051! llvm-svn: 124282 | ||||
* | Separate out the constant bonus from the size reduction metrics. Rework | Eric Christopher | 2011-01-26 | 1 | -82/+85 |
| | | | | | | | | | a few loops accordingly. Should be no functional change. This is a step for more accurate cost/benefit analysis of devirt/inlining bonuses. llvm-svn: 124275 | ||||
* | Add needed braces. | Bill Wendling | 2011-01-26 | 1 | -1/+2 |
| | | | | llvm-svn: 124273 | ||||
* | Target/X86: Tweak win64's tailcall. | NAKAMURA Takumi | 2011-01-26 | 7 | -12/+49 |
| | | | | llvm-svn: 124272 | ||||
* | Fix whitespace. | NAKAMURA Takumi | 2011-01-26 | 6 | -132/+129 |
| | | | | llvm-svn: 124270 | ||||
* | lib/Target/X86/X86RegisterInfo.cpp: Fix whitespace. | NAKAMURA Takumi | 2011-01-26 | 1 | -3/+3 |
| | | | | llvm-svn: 124268 | ||||
* | lib/Target/X86/X86RegisterInfo.cpp: Fix a typo in comment. | NAKAMURA Takumi | 2011-01-26 | 1 | -1/+1 |
| | | | | llvm-svn: 124267 | ||||
* | Coding style formatting changes. | Eric Christopher | 2011-01-26 | 1 | -7/+2 |
| | | | | llvm-svn: 124260 | ||||
* | Rename member variables to follow the rest of LLVM. | Jakob Stoklund Olesen | 2011-01-26 | 2 | -295/+295 |
| | | | | | | No functional change. llvm-svn: 124257 | ||||
* | Provide an interface to transfer SDDbgValue from one SDNode to another. | Devang Patel | 2011-01-25 | 2 | -0/+25 |
| | | | | llvm-svn: 124245 | ||||
* | Revert 124230. It was causing test failures. | Bill Wendling | 2011-01-25 | 1 | -4/+2 |
| | | | | llvm-svn: 124233 | ||||
* | The floating point value is encoded in its binary form as an Imm. Convert it | Bill Wendling | 2011-01-25 | 1 | -2/+4 |
| | | | | | | appropriately so that it prints out the decimal representation. llvm-svn: 124230 | ||||
* | Add support for parsing a Real value. It stores the Real value as its binary | Bill Wendling | 2011-01-25 | 1 | -1/+7 |
| | | | | | | | encoding. It's up to the individual back-ends to convert it to their preferred representation when printing. llvm-svn: 124229 | ||||
* | Move unnamed_addr after the function arguments on Sabre's request. | Rafael Espindola | 2011-01-25 | 2 | -6/+6 |
| | | | | llvm-svn: 124209 | ||||
* | Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value ↵ | Devang Patel | 2011-01-25 | 1 | -1/+3 |
| | | | | | | intrinisic. llvm-svn: 124203 | ||||
* | This assertion is too restrictive, it does not apply for dangling dbg value ↵ | Devang Patel | 2011-01-25 | 1 | -8/+0 |
| | | | | | | nodes (nodes where dbg.value intrinsic preceds use of the value). llvm-svn: 124202 | ||||
* | In which I discover that zero+zero is zero, d'oh! | Duncan Sands | 2011-01-25 | 1 | -3/+3 |
| | | | | llvm-svn: 124188 | ||||
* | See if this fixes llvm-gcc bootstrap. | Duncan Sands | 2011-01-25 | 1 | -1/+2 |
| | | | | llvm-svn: 124184 | ||||
* | According to my auto-simplifier the most common missed simplifications in | Duncan Sands | 2011-01-25 | 2 | -13/+228 |
| | | | | | | | | | | | optimized code are: (non-negative number)+(power-of-two) != 0 -> true and (x | 1) != 0 -> true Instcombine knows about the second one of course, but only does it if X|1 has only one use. These fire thousands of times in the testsuite. llvm-svn: 124183 | ||||
* | Teach mergefunc how to emit aliases safely again -- but keep it turned it off | Nick Lewycky | 2011-01-25 | 1 | -25/+79 |
| | | | | | | | for now. It's controlled by the HasGlobalAliases variable which is not attached to any flag yet. llvm-svn: 124182 |