- May 04, 2010
-
-
Evan Cheng authored
Teach PHI elimination to remove REG_SEQUENCE instructions and update references of the source operands with references of the destination with subreg indices. e.g. %reg1029<def>, %reg1030<def> = VLD1q16 %reg1024<kill>, ... %reg1031<def> = REG_SEQUENCE %reg1029<kill>, 5, %reg1030<kill>, 6 => %reg1031:5<def>, %reg1031:6<def> = VLD1q16 %reg1024<kill>, ... PHI elimination now does more than phi elimination. It is really a de-SSA pass. llvm-svn: 103039
-
Duncan Sands authored
values passed to llvm.dbg.value were not valid for the intrinsic, it might have caused trouble one day if the verifier ever started checking for valid debug info. llvm-svn: 103038
-
Bob Wilson authored
indirect branches in all the predecessors. This avoids unnecessarily splitting edges in cases where load PRE is not possible anyway. Thanks to Jakub Staszak for pointing this out. llvm-svn: 103034
-
Chris Lattner authored
llvm-svn: 103024
-
Chris Lattner authored
llvm-svn: 103023
-
Chris Lattner authored
"on the rare occasion the SPU BE produces illegal assembly - it tries to emit an add instruction of the form 'a reg, reg, imm'." Patch by Kalle Raiskila! llvm-svn: 103021
-
Daniel Dunbar authored
instructions which have no direct register usage. Darwin 'as' accepts: add $0, (%rax) but rejects mov $0, (%rax) for example. Given that, only accept suffix matches which match exactly one form. We still need to emit nice diagnostics for failures... llvm-svn: 103015
-
Evan Cheng authored
llvm-svn: 103013
-
Daniel Dunbar authored
- The idea is that when a match fails, we just try to match each of +'b', +'w', +'l'. If exactly one matches, we assume this is a mnemonic prefix and accept it. If all match, we assume it is width generic, and take the 'l' form. - This would be a horrible hack, if it weren't so simple. Therefore it is an elegant solution! Chris gets the credit for this particular elegant solution. :) - Next step to making this more robust is to have the X86 matcher generate the mnemonic prefix information. Ideally we would also compute up-front exactly which mnemonic to attempt to match, but this may require more custom code in the matcher than is really worth it. llvm-svn: 103012
-
Duncan Sands authored
buildbot: the debugging and non-debugging versions of getFunction were not functionally equivalent: the non-debugging version wrongly assumed that if a metadata operand was not metadata, then it had a non-null containing function. This is not true, since the operand might be a global value, constant etc. llvm-svn: 103008
-
Duncan Sands authored
RAUW of a global variable with a local variable in function F, if function local metadata M in function G was using the global then M would become function-local to both F and G, which is not allowed. See the testcase for an example. Fixed by detecting this situation and zapping the metadata operand when it occurs. llvm-svn: 103007
-
Gabor Greif authored
llvm-svn: 103003
-
Devang Patel authored
llvm-svn: 103001
-
Dan Gohman authored
of doing the same thing manually. llvm-svn: 102997
-
Dan Gohman authored
llvm-svn: 102996
-
Devang Patel authored
Do not ignore debug loc attached with llvm.dbg.declare while collecting debug info used by a module. llvm-svn: 102995
-
Evan Cheng authored
Instruction selection optimizations may have moved the def of a function argument out of the entry block. rdar://7937489 llvm-svn: 102993
-
Kevin Enderby authored
changed to 0x7E from 0x6E as well as the previous change of RPDI to S3SI. llvm-svn: 102991
-
Daniel Dunbar authored
name (for example, to allow targets to interpose the actual MatchInstruction function). llvm-svn: 102987
-
Daniel Dunbar authored
match failure. Also, fixes a few memory leak FIXMEs. llvm-svn: 102986
-
Evan Cheng authored
llvm-svn: 102984
-
Dan Gohman authored
used together in either order. llvm-svn: 102983
-
Dan Gohman authored
llvm-svn: 102981
-
rdar://7937137Jim Grosbach authored
eliminateFrameIndex(), leading to llvm_unreachable() assertion failure. llvm-svn: 102980
-
Dan Gohman authored
llvm-svn: 102978
-
Dan Gohman authored
update the big red warning at the top. Most of the old content remains and awaits revision. Clear out the API changes section, and start it up again with a mention of the add->fadd transition. llvm-svn: 102977
-
Jakob Stoklund Olesen authored
This should make it possible to start producing kill flags in isel without breaking stuff. llvm-svn: 102976
-
Dan Gohman authored
in registers into a separate function to de-couple it from the top-down-specific logic in getRegForValue. llvm-svn: 102975
-
Dale Johannesen authored
on PPC for x!=0. 7624113. llvm-svn: 102972
-
Dan Gohman authored
to fadd, fsub, and fmul, when used with a floating-point type. LLVM has supported the new instructions since 2.6, so it's time to get on board. llvm-svn: 102971
-
Jakob Stoklund Olesen authored
This fixes PR6941. llvm-svn: 102970
-
Dan Gohman authored
when the type is floating-point. llvm-svn: 102969
-
Eric Christopher authored
llvm-svn: 102966
-
Dan Gohman authored
same, now that getConstant has overloads consistent with ConstantInt::get. llvm-svn: 102965
-
- May 03, 2010
-
-
Bill Wendling authored
llvm-svn: 102964
-
Bob Wilson authored
since llvmCore is built as part of llvmgcc42 now. llvm-svn: 102962
-
Bob Wilson authored
debug output is showing machine instructions, the IR-level basic block names aren't very meaningful, and because multiple machine basic blocks may be derived from one IR-level BB, they're also not unique. llvm-svn: 102960
-
Nick Lewycky authored
llvm-svn: 102959
-
Kevin Enderby authored
instructions as the Mac OS X darwin assembler. Some of which like 'fcoml' assembled to different opcodes. While some of the suffixes were just different. llvm-svn: 102958
-
Kevin Enderby authored
mm to mm/m64 and the Move quadword from xmm2/mem64 to xmm1 had the incorrect encodings. llvm-svn: 102952
-