| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix a ppc long double regression I introduced yesterday due to a | Chris Lattner | 2008-01-16 | 1 | -0/+1 |
| | | | | | | | simplification. This fixes automotive-basicmath on PPC. llvm-svn: 46072 | ||||
| * | merge a few pieces of code that do the store/load to stack | Chris Lattner | 2008-01-16 | 1 | -30/+12 |
| | | | | | | | pattern to use EmitStackConvert now. llvm-svn: 46066 | ||||
| * | rename ExpandBIT_CONVERT to EmitStackConvert, generalizing | Chris Lattner | 2008-01-16 | 1 | -15/+37 |
| | | | | | | | it to allow it to emit different load and store kinds. llvm-svn: 46065 | ||||
| * | simplify a bunch of code by using SelectionDAG::CreateStackTemporary | Chris Lattner | 2008-01-16 | 1 | -28/+6 |
| | | | | | | | instead of inlining its body. llvm-svn: 46062 | ||||
| * | Change legalizeop of FP_ROUND and FP_EXTEND to not fall through | Chris Lattner | 2008-01-16 | 1 | -32/+55 |
| | | | | | | | | | | into the ANY_EXTEND/ZERO_EXTEND/SIGN_EXTEND code to simplify it. Unmerge the code for FP_ROUND and FP_EXTEND from each other to make each one simpler. llvm-svn: 46061 | ||||
| * | make it more clear that this predicate only applies to scalar FP types. | Chris Lattner | 2008-01-16 | 2 | -10/+10 |
| | | | | | llvm-svn: 46058 | ||||
| * | introduce a isTypeInSSEReg predicate, which allows us to simplify | Chris Lattner | 2008-01-16 | 2 | -21/+18 |
| | | | | | | | some code. No functionality change. llvm-svn: 46055 | ||||
| * | My previous commit had an incomplete message, it should have been: | Chris Lattner | 2008-01-16 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make the 'fp return in ST(0)' optimization smart enough to look through token factor nodes. THis allows us to compile testcases like CodeGen/X86/fp-stack-retcopy.ll into: _carg: subl $12, %esp call L_foo$stub fstpl (%esp) fldl (%esp) addl $12, %esp ret instead of: _carg: subl $28, %esp call L_foo$stub fstpl 16(%esp) movsd 16(%esp), %xmm0 movsd %xmm0, 8(%esp) fldl 8(%esp) addl $28, %esp ret Still not optimal, but much better and this is a trivial patch. Fixing the rest requires invasive surgery that is is not llvm 2.2 material. llvm-svn: 46054 | ||||
| * | make the 'fp return in ST(0)' optimization smart enough to | Chris Lattner | 2008-01-16 | 1 | -1/+1 |
| | | | | | | | look through token factor llvm-svn: 46053 | ||||
| * | various whitespace cleanups, no functionality change. | Chris Lattner | 2008-01-16 | 1 | -7/+7 |
| | | | | | llvm-svn: 46052 | ||||
| * | Factor the ReachesChainWithoutSideEffects out of dag combiner into | Chris Lattner | 2008-01-16 | 2 | -28/+32 |
| | | | | | | | | a public SDOperand::reachesChainWithoutSideEffects method. No functionality change. llvm-svn: 46050 | ||||
| * | Do not strip llvm.used values. | Devang Patel | 2008-01-16 | 1 | -3/+25 |
| | | | | | llvm-svn: 46045 | ||||
| * | Missed file from previous checkin. | Dale Johannesen | 2008-01-15 | 1 | -0/+1 |
| | | | | | llvm-svn: 46030 | ||||
| * | Fix and enable EH for x86-64 Darwin. Adds | Dale Johannesen | 2008-01-15 | 4 | -13/+26 |
| | | | | | | | | | | ShortenEHDataFor64Bits as a not-very-accurate abstraction to cover all the changes in DwarfWriter. Some cosmetic changes to Darwin assembly code for gcc testsuite compatibility. llvm-svn: 46029 | ||||
| * | Move some calls to getVRegDef higher in the callgraph, so they don't get ↵ | Owen Anderson | 2008-01-15 | 1 | -11/+11 |
| | | | | | | | executed as frequently in performance sensitive code. llvm-svn: 46027 | ||||
| * | improve compatibility with mingw, patch by Alain Frisch | Chris Lattner | 2008-01-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 46026 | ||||
| * | If someone wants to implement ppc TRAP, they can go for it :) | Chris Lattner | 2008-01-15 | 1 | -0/+1 |
| | | | | | llvm-svn: 46019 | ||||
| * | The type of the 'abort' node should be pointer type (because | Chris Lattner | 2008-01-15 | 1 | -1/+2 |
| | | | | | | | | it's a function pointer) not MVT::Other. This fixes builtin_trap lowering on ppc, alpha, ia64 llvm-svn: 46018 | ||||
| * | rename SDTRet -> SDTNone. | Chris Lattner | 2008-01-15 | 7 | -13/+11 |
| | | | | | | | Move definition of 'trap' sdnode up from x86 instrinfo to targetselectiondag.td. llvm-svn: 46017 | ||||
| * | Remove DefInst from LiveVariables::VarInfo. Use the facilities on ↵ | Owen Anderson | 2008-01-15 | 4 | -38/+20 |
| | | | | | | | MachineRegisterInfo instead. llvm-svn: 46016 | ||||
| * | no need to expand ISD::TRAP to X86ISD::TRAP, just match ISD::TRAP. | Chris Lattner | 2008-01-15 | 3 | -17/+6 |
| | | | | | llvm-svn: 46015 | ||||
| * | Add support for targets that have a legal ISD::TRAP. | Chris Lattner | 2008-01-15 | 2 | -4/+12 |
| | | | | | llvm-svn: 46014 | ||||
| * | Fix JIT encoding of trap/ud2 instruction | Anton Korobeynikov | 2008-01-15 | 1 | -2/+1 |
| | | | | | llvm-svn: 46012 | ||||
| * | Reformatted. It was confusing the other way. No functionality change. | Bill Wendling | 2008-01-15 | 1 | -2/+3 |
| | | | | | llvm-svn: 46009 | ||||
| * | Oops. Forgot to commit this. | Evan Cheng | 2008-01-15 | 1 | -5/+12 |
| | | | | | llvm-svn: 46002 | ||||
| * | For PR1839: add initial support for __builtin_trap. llvm-gcc part is missed | Anton Korobeynikov | 2008-01-15 | 6 | -2/+49 |
| | | | | | | | as well as PPC codegen llvm-svn: 46001 | ||||
| * | Rename CCIfStruct to CCIfByVal and CCStructAssign to CCPassByVal. Remove ↵ | Evan Cheng | 2008-01-15 | 2 | -10/+11 |
| | | | | | | | unused parameters of CCStructAssign and add size and alignment requirement info. llvm-svn: 45997 | ||||
| * | Both x86-32 and x86-64 handle byval parameter attributes. | Evan Cheng | 2008-01-15 | 1 | -4/+9 |
| | | | | | llvm-svn: 45996 | ||||
| * | ByVal stack slot alignment should be at least as large as pointer ABI alignment. | Evan Cheng | 2008-01-15 | 1 | -1/+3 |
| | | | | | llvm-svn: 45995 | ||||
| * | Simplify CallInst::hasByValArgument using a new method. | Duncan Sands | 2008-01-14 | 1 | -4/+1 |
| | | | | | llvm-svn: 45974 | ||||
| * | I noticed that the trampoline straightening transformation could | Duncan Sands | 2008-01-14 | 2 | -21/+35 |
| | | | | | | | | | | drop attributes on varargs call arguments. Also, it could generate invalid IR if the transformed call already had the 'nest' attribute somewhere (this can never happen for code coming from llvm-gcc, but it's a theoretical possibility). Fix both problems. llvm-svn: 45973 | ||||
| * | don't create the post-ra scheduler unless it is enabled. | Chris Lattner | 2008-01-14 | 2 | -17/+8 |
| | | | | | llvm-svn: 45972 | ||||
| * | remove dead #include | Chris Lattner | 2008-01-14 | 1 | -1/+0 |
| | | | | | llvm-svn: 45971 | ||||
| * | Improve the FP stackifier to decide all on its own whether | Chris Lattner | 2008-01-14 | 1 | -23/+30 |
| | | | | | | | | | | an instruction kills a register or not. This is cheap and easy to do now that instructions record this on their flags, and this eliminates the second pass of LiveVariables from the x86 backend. This speeds up a release llc by ~2.5%. llvm-svn: 45955 | ||||
| * | Simplify code. | Evan Cheng | 2008-01-14 | 1 | -4/+1 |
| | | | | | llvm-svn: 45950 | ||||
| * | Fix the miscompilation of MiBench/consumer-lame that was exposed by Evan's | Chris Lattner | 2008-01-14 | 1 | -59/+97 |
| | | | | | | | | byval work. This miscompilation is due to the program indexing an array out of range and us doing a transformation that broke this. llvm-svn: 45949 | ||||
| * | The isNotSuitableForSRA property is now dead, don't compute it. | Chris Lattner | 2008-01-14 | 1 | -45/+1 |
| | | | | | llvm-svn: 45948 | ||||
| * | Change SRAGlobal to not depend on isNotSuitableForSRA, which makes it very | Chris Lattner | 2008-01-14 | 1 | -2/+75 |
| | | | | | | | difficult to understand the invariants. llvm-svn: 45947 | ||||
| * | Make the 'shrink global to bool' optimization more self contained, and thus | Chris Lattner | 2008-01-14 | 1 | -10/+25 |
| | | | | | | | easier to show that its safe. No functionality change. llvm-svn: 45946 | ||||
| * | Turn a memcpy from a double* into a load/store of double instead of | Chris Lattner | 2008-01-14 | 1 | -9/+46 |
| | | | | | | | | | | | a load/store of i64. The later prevents promotion/scalarrepl of the source and dest in many cases. This fixes the 300% performance regression of the byval stuff on stepanov_v1p2. llvm-svn: 45945 | ||||
| * | factor memcpy/memmove simplification out to its own SimplifyMemTransfer | Chris Lattner | 2008-01-13 | 1 | -35/+42 |
| | | | | | | | method, no functionality change. llvm-svn: 45944 | ||||
| * | simplify some code. If we can infer alignment for source and dest that are | Chris Lattner | 2008-01-13 | 1 | -21/+22 |
| | | | | | | | | greater than memcpy alignment, and if we lower to load/store, use the best alignment info we have. llvm-svn: 45943 | ||||
| * | simplify some code by adding a InsertBitCastBefore method, | Chris Lattner | 2008-01-13 | 1 | -30/+25 |
| | | | | | | | make memmove->memcpy conversion a bit simpler. llvm-svn: 45942 | ||||
| * | Whitespace tweak. | Duncan Sands | 2008-01-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 45940 | ||||
| * | Remove the assumption that byval has been applied to | Duncan Sands | 2008-01-13 | 1 | -12/+12 |
| | | | | | | | a pointer to a struct. llvm-svn: 45939 | ||||
| * | Allow the byval attribute for pointers to any type with | Duncan Sands | 2008-01-13 | 1 | -2/+2 |
| | | | | | | | a size, not just structs. llvm-svn: 45938 | ||||
| * | Fix PR1907, a nasty miscompilation because instcombine didn't | Chris Lattner | 2008-01-13 | 1 | -2/+8 |
| | | | | | | | | realize that ne & sgt was a signed comparison (it was only looking at whether the left compare was signed). llvm-svn: 45937 | ||||
| * | Small simplification. | Duncan Sands | 2008-01-13 | 1 | -4/+1 |
| | | | | | llvm-svn: 45932 | ||||
| * | When turning a call to a bitcast function into a direct call, | Duncan Sands | 2008-01-13 | 1 | -12/+17 |
| | | | | | | | | if this becomes a varargs call then deal correctly with any parameter attributes on the newly vararg call arguments. llvm-svn: 45931 | ||||
| * | improve cygwin compatibility, patch by Sam Bishop | Chris Lattner | 2008-01-12 | 1 | -1/+1 |
| | | | | | llvm-svn: 45917 | ||||

