aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Handle attribute(used) global variables that are i8.Chris Lattner2008-01-161-14/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46090 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not mark EH tables no-dead-strip unless theDale Johannesen2008-01-163-13/+50
| | | | | | | | associated function is so marked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46088 91177308-0d34-0410-b5e6-96231b3b80d8
* add testcase for regressionChris Lattner2008-01-161-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46073 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a ppc long double regression I introduced yesterday due to aChris Lattner2008-01-161-0/+1
| | | | | | | simplification. This fixes automotive-basicmath on PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46072 91177308-0d34-0410-b5e6-96231b3b80d8
* merge a few pieces of code that do the store/load to stack Chris Lattner2008-01-161-30/+12
| | | | | | | pattern to use EmitStackConvert now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46066 91177308-0d34-0410-b5e6-96231b3b80d8
* rename ExpandBIT_CONVERT to EmitStackConvert, generalizing Chris Lattner2008-01-161-15/+37
| | | | | | | it to allow it to emit different load and store kinds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46065 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify a bunch of code by using SelectionDAG::CreateStackTemporary Chris Lattner2008-01-161-28/+6
| | | | | | | instead of inlining its body. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46062 91177308-0d34-0410-b5e6-96231b3b80d8
* Change legalizeop of FP_ROUND and FP_EXTEND to not fall throughChris Lattner2008-01-161-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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46061 91177308-0d34-0410-b5e6-96231b3b80d8
* make sure to use a cpu that has sse.Chris Lattner2008-01-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46060 91177308-0d34-0410-b5e6-96231b3b80d8
* make it more clear that this predicate only applies to scalar FP types.Chris Lattner2008-01-162-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46058 91177308-0d34-0410-b5e6-96231b3b80d8
* introduce a isTypeInSSEReg predicate, which allows us to simplifyChris Lattner2008-01-162-21/+18
| | | | | | | some code. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46055 91177308-0d34-0410-b5e6-96231b3b80d8
* My previous commit had an incomplete message, it should have been:Chris Lattner2008-01-162-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46054 91177308-0d34-0410-b5e6-96231b3b80d8
* make the 'fp return in ST(0)' optimization smart enough to Chris Lattner2008-01-161-1/+1
| | | | | | | look through token factor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46053 91177308-0d34-0410-b5e6-96231b3b80d8
* various whitespace cleanups, no functionality change.Chris Lattner2008-01-161-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46052 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor the ReachesChainWithoutSideEffects out of dag combiner into Chris Lattner2008-01-163-28/+40
| | | | | | | | a public SDOperand::reachesChainWithoutSideEffects method. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46050 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not strip llvm.used values.Devang Patel2008-01-163-3/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46045 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed ImmutableMap::find to return an iterator instead of a pointerTed Kremenek2008-01-151-10/+11
| | | | | | | to the tree node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46034 91177308-0d34-0410-b5e6-96231b3b80d8
* - Introduces versioning macro LLVM_LTO_VERSIONDevang Patel2008-01-152-18/+75
| | | | | | | | - Communicate symbol visibility - Communicate code generation model git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46033 91177308-0d34-0410-b5e6-96231b3b80d8
* Commit a piece that I missed before, patch by Alain FrischChris Lattner2008-01-151-13/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46032 91177308-0d34-0410-b5e6-96231b3b80d8
* Missed file from previous checkin.Dale Johannesen2008-01-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46030 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix and enable EH for x86-64 Darwin. AddsDale Johannesen2008-01-155-13/+33
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46029 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some calls to getVRegDef higher in the callgraph, so they don't get ↵Owen Anderson2008-01-152-13/+15
| | | | | | executed as frequently in performance sensitive code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46027 91177308-0d34-0410-b5e6-96231b3b80d8
* improve compatibility with mingw, patch by Alain FrischChris Lattner2008-01-152-1/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46026 91177308-0d34-0410-b5e6-96231b3b80d8
* add a test to ensure that argpromote of one argument doesn't Chris Lattner2008-01-151-0/+26
| | | | | | | break the byval attr on some other argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46025 91177308-0d34-0410-b5e6-96231b3b80d8
* Add description of 'llvm.trap' intrinsic. Also, minor fixes in formatting. Anton Korobeynikov2008-01-151-5/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46024 91177308-0d34-0410-b5e6-96231b3b80d8
* verify x86 generates ud2 for llvm.trapChris Lattner2008-01-151-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46023 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the build.Evan Cheng2008-01-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46021 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcase for llvm.trap.Chris Lattner2008-01-151-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46020 91177308-0d34-0410-b5e6-96231b3b80d8
* If someone wants to implement ppc TRAP, they can go for it :)Chris Lattner2008-01-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46019 91177308-0d34-0410-b5e6-96231b3b80d8
* The type of the 'abort' node should be pointer type (becauseChris Lattner2008-01-151-1/+2
| | | | | | | | it's a function pointer) not MVT::Other. This fixes builtin_trap lowering on ppc, alpha, ia64 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46018 91177308-0d34-0410-b5e6-96231b3b80d8
* rename SDTRet -> SDTNone.Chris Lattner2008-01-157-13/+11
| | | | | | | Move definition of 'trap' sdnode up from x86 instrinfo to targetselectiondag.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46017 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove DefInst from LiveVariables::VarInfo. Use the facilities on ↵Owen Anderson2008-01-154-38/+20
| | | | | | MachineRegisterInfo instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46016 91177308-0d34-0410-b5e6-96231b3b80d8
* no need to expand ISD::TRAP to X86ISD::TRAP, just match ISD::TRAP.Chris Lattner2008-01-153-17/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46015 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for targets that have a legal ISD::TRAP.Chris Lattner2008-01-152-4/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46014 91177308-0d34-0410-b5e6-96231b3b80d8
* Add files to windows project files. Also include <algorithm> explicitly so ↵Chuck Rose III2008-01-155-4/+41
| | | | | | that vstudio build works git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46013 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix JIT encoding of trap/ud2 instructionAnton Korobeynikov2008-01-151-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46012 91177308-0d34-0410-b5e6-96231b3b80d8
* Reformatted. It was confusing the other way. No functionality change.Bill Wendling2008-01-151-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46009 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a memory correctness error noticed by valgrind (harmless in practice).Gordon Henriksen2008-01-151-1/+1
| | | | | | Thanks to Duncan Sands for noticing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46007 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for gimplify_expr crash caused by anDuncan Sands2008-01-151-0/+12
| | | | | | | unexpected placeholder_expr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46006 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops. Forgot to commit this.Evan Cheng2008-01-151-3/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46003 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops. Forgot to commit this.Evan Cheng2008-01-151-5/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46002 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1839: add initial support for __builtin_trap. llvm-gcc part is missedAnton Korobeynikov2008-01-158-2/+54
| | | | | | | as well as PPC codegen git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46001 91177308-0d34-0410-b5e6-96231b3b80d8
* clarify that byval is valid for any pointer argument.Chris Lattner2008-01-151-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45998 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename CCIfStruct to CCIfByVal and CCStructAssign to CCPassByVal. Remove ↵Evan Cheng2008-01-153-13/+17
| | | | | | unused parameters of CCStructAssign and add size and alignment requirement info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45997 91177308-0d34-0410-b5e6-96231b3b80d8
* Both x86-32 and x86-64 handle byval parameter attributes.Evan Cheng2008-01-151-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45996 91177308-0d34-0410-b5e6-96231b3b80d8
* ByVal stack slot alignment should be at least as large as pointer ABI alignment.Evan Cheng2008-01-151-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45995 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert my last commit. Not needed.Evan Cheng2008-01-151-20/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45994 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify CallInst::hasByValArgument using a new method.Duncan Sands2008-01-141-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45974 91177308-0d34-0410-b5e6-96231b3b80d8
* I noticed that the trampoline straightening transformation couldDuncan Sands2008-01-145-22/+90
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45973 91177308-0d34-0410-b5e6-96231b3b80d8
* don't create the post-ra scheduler unless it is enabled.Chris Lattner2008-01-142-17/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45972 91177308-0d34-0410-b5e6-96231b3b80d8