summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* update interfaceAndrew Lenharth2005-07-226-6/+6
| | | | llvm-svn: 22498
* the JIT memory manager will construct a GOT if you want it too. Also, it ↵Andrew Lenharth2005-07-221-9/+51
| | | | | | places the constants in the allocated memory, rather than a malloc area llvm-svn: 22497
* allow constants to be relocated like GV (necessary for alpha, as constants ↵Andrew Lenharth2005-07-222-7/+66
| | | | | | are relocated with globals, not with .text), and allow targets to have a GOT managed for them llvm-svn: 22496
* new testcase for PR602Chris Lattner2005-07-211-0/+14
| | | | llvm-svn: 22495
* Support building non-PICNate Begeman2005-07-218-123/+179
| | | | | | | | Remove the LoadHiAddr pseudo-instruction. Optimization of stores to and loads from statics. Force JIT to use new non-PIC codepaths. llvm-svn: 22494
* revert to using 4-byte alignment for doubles, as specified by the ABIChris Lattner2005-07-211-1/+1
| | | | llvm-svn: 22493
* llvm.sqrt somehow escaped documentation.Chris Lattner2005-07-211-0/+37
| | | | llvm-svn: 22490
* Support assembling fsqrt on darwin. This will be implemented better whenNate Begeman2005-07-211-0/+9
| | | | | | PowerPC gets subtarget support up. llvm-svn: 22489
* If errno doesn't matter (e.g. in -ffast-math scenarios), sqrt* should beChris Lattner2005-07-211-0/+7
| | | | | | compiled to llvm.sqrt. llvm-svn: 22488
* Generate mfocrf when targeting g5. Generate fsqrt/fsqrts when targetin g5.Nate Begeman2005-07-205-22/+54
| | | | | | 8-byte align doubles. llvm-svn: 22486
* * "GNU Compiler Collection's gcc tool" is redundantMisha Brukman2005-07-201-10/+9
| | | | | | | | * Made bullet points start with a verb and lowercase, since they are not complete sentences * Cleaned up grammar, removed extraneous verbosity llvm-svn: 22485
* Allow this to pass on non-linux systems as well, such as darwinChris Lattner2005-07-201-0/+2
| | | | llvm-svn: 22484
* Do not let MaskedValueIsZero consider undef to be zero, for reasonsChris Lattner2005-07-201-2/+8
| | | | | | | | explained in the comment. This fixes UnitTests/2003-09-18-BitFieldTest on darwin llvm-svn: 22483
* count the number of relocations performed.Chris Lattner2005-07-201-0/+3
| | | | llvm-svn: 22480
* set the target triple so that we don't fail due to X86 abi issuesChris Lattner2005-07-201-0/+3
| | | | llvm-svn: 22479
* Integrate SelectFPExpr into SelectExpr. This gets PPC32 closer to beingNate Begeman2005-07-193-346/+242
| | | | | | automatically generated from a target description. llvm-svn: 22470
* Remove unnecessary FP_EXTEND. This causes worse codegen for SSE.Nate Begeman2005-07-191-3/+0
| | | | llvm-svn: 22469
* For: memory operations -> storesReid Spencer2005-07-193-0/+74
| | | | | | | | | | | | | | | | This is the first incremental patch to implement this feature. It adds no functionality to LLVM but setup up the information needed from targets in order to implement the optimization correctly. Each target needs to specify the maximum number of store operations for conversion of the llvm.memset, llvm.memcpy, and llvm.memmove intrinsics into a sequence of store operations. The limit needs to be chosen at the threshold of performance for such an optimization (generally smallish). The target also needs to specify whether the target can support unaligned stores for multi-byte store operations. This helps ensure the optimization doesn't generate code that will trap on an alignment errors. More patches to follow. llvm-svn: 22468
* remove some sparc-v9-specific informationChris Lattner2005-07-191-5/+3
| | | | llvm-svn: 22467
* Provide descriptions for the TargetInstrInfo and TargetFrameInfo classes.Reid Spencer2005-07-191-0/+20
| | | | llvm-svn: 22466
* When transforming &A[i] < &A[j] -> i < j, make sure to perform the comparisonChris Lattner2005-07-181-4/+11
| | | | | | as a signed compare. This patch may fix PR597, but is correct in any case. llvm-svn: 22465
* The assertion was wrong: the code only worked for i64. While we're at it,Chris Lattner2005-07-181-3/+11
| | | | | | | expand the code to work for all integer datatypes. This should unbreak alpha. llvm-svn: 22464
* Add a parameter to the FIND_STD_PROGRAM macro that allows an alternate nameReid Spencer2005-07-171-7/+13
| | | | | | | | for the command line options. This helps with situations where the executable name sought is too generic and a more meaningful name needs to be used for the command line options. It also helps satisfy picky project leaders. llvm-svn: 22461
* Add two new checks for use in LLVM configuration files:Reid Spencer2005-07-172-0/+134
| | | | | | | | | | | | | | | * FIND_STD_PROGRAM will find a program in the path or using --with options and verify that the path/bin/program is executable. Also allows checking for include files and libraries. If found, USE_PROGRAM is set, otherwise its not set. Also sets PROGRAM_BIN (bin directory), and PROGRAM_DIR (top level directory). If headers are found, sets PROGRAM_INC. If libraries are found, sets PROGRAM_LIB. * CHECK_PROGRAM_SANITY can be used to run a program with some option that only produces information output and requires no input. If the output matches a regular expression, the program passes the sanity check. Otherwise, an error occurs. llvm-svn: 22458
* Only get the .bss and .data sections when needed instead of unconditionally.Chris Lattner2005-07-161-11/+3
| | | | | | This allows is to not emit empty sections when .data or .bss is not used. llvm-svn: 22457
* Add two helper methods, adjust a prototypeChris Lattner2005-07-161-4/+12
| | | | llvm-svn: 22456
* Refactor getSection() method to make it easier to use.Chris Lattner2005-07-161-19/+15
| | | | llvm-svn: 22455
* Add ability to set TYPE and FLAGS field for section triviallyChris Lattner2005-07-161-1/+4
| | | | llvm-svn: 22454
* Major refactor of the ELFWriter code. Instead of building up one bigChris Lattner2005-07-162-206/+264
| | | | | | | | | | | vector that represents the .o file at once, build up a vector for each section of the .o file. This is needed because the .o file writer needs to be able to switch between sections as it emits them (e.g. switch between the .text section and the .rel section when emitting code). This patch has no functionality change. llvm-svn: 22453
* Teach the legalizer how to promote SINT_TO_FP to a wider SINT_TO_FP thatNate Begeman2005-07-162-54/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the target natively supports. This eliminates some special-case code from the x86 backend and generates better code as well. For an i8 to f64 conversion, before & after: _x87 before: subl $2, %esp movb 6(%esp), %al movsbw %al, %ax movw %ax, (%esp) filds (%esp) addl $2, %esp ret _x87 after: subl $2, %esp movsbw 6(%esp), %ax movw %ax, (%esp) filds (%esp) addl $2, %esp ret _sse before: subl $12, %esp movb 16(%esp), %al movsbl %al, %eax cvtsi2sd %eax, %xmm0 addl $12, %esp ret _sse after: subl $12, %esp movsbl 16(%esp), %eax cvtsi2sd %eax, %xmm0 addl $12, %esp ret llvm-svn: 22452
* Teach the register allocator that movaps is also a move instructionNate Begeman2005-07-161-1/+1
| | | | llvm-svn: 22451
* A couple more darwinismsNate Begeman2005-07-161-2/+5
| | | | llvm-svn: 22450
* Remove all knowledge of UINT_TO_FP from the X86 backend, relying on theChris Lattner2005-07-161-53/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | legalizer to eliminate them. With this comes the expected code quality improvements, such as, for this: double foo(unsigned short X) { return X; } we now generate this: _foo: subl $4, %esp movzwl 8(%esp), %eax movl %eax, (%esp) fildl (%esp) addl $4, %esp ret instead of this: _foo: subl $4, %esp movw 8(%esp), %ax movzwl %ax, %eax ;; Load not folded into this. movl %eax, (%esp) fildl (%esp) addl $4, %esp ret -Chris llvm-svn: 22449
* Break the code for expanding UINT_TO_FP operations out into its ownChris Lattner2005-07-161-35/+116
| | | | | | | | | | | | | | SelectionDAGLegalize::ExpandLegalUINT_TO_FP method. Add a new method, PromoteLegalUINT_TO_FP, which allows targets to request that UINT_TO_FP operations be promoted to a larger input type. This is useful for targets that have some UINT_TO_FP or SINT_TO_FP operations but not all of them (like X86). The same should be done with SINT_TO_FP, but this patch does not do that yet. llvm-svn: 22447
* You can't use config options without config.hChris Lattner2005-07-151-0/+1
| | | | llvm-svn: 22446
* Fix PR595: These error messages should not be looking at CGI.Name, theyChris Lattner2005-07-151-9/+13
| | | | | | should be looking at CGI.TheDef->getName(). llvm-svn: 22445
* Fixed some punctuation.John Criswell2005-07-151-3/+3
| | | | llvm-svn: 22443
* Get closer to fully working scalar FP in SSE regs. This gets singlesourceNate Begeman2005-07-153-52/+53
| | | | | | working, and Olden/power. llvm-svn: 22441
* Add support for printing the sse scalar comparison instruction mnemonics.Nate Begeman2005-07-144-0/+34
| | | | llvm-svn: 22440
* Add support for a TODO; instructions in .td files can now have argumentsNate Begeman2005-07-141-1/+24
| | | | | | | | printed as part of the opcode. This allows something like cmp${cc}ss in the x86 backed to be printed as cmpltss, cmpless, etc. depending on what the value of $cc is. llvm-svn: 22439
* Regression test for PR#596: Make sure that negation of a minus doesn'tJohn Criswell2005-07-141-0/+19
| | | | | | turn into a C predecrement operator. llvm-svn: 22438
* Fixed PR#596:John Criswell2005-07-141-2/+2
| | | | | | | | Add parenthesis around the value being negated; that way, if the value begins with a minus sign (e.g. negative integer), we won't generate a C predecrement operator by mistake. llvm-svn: 22437
* Make this use the new autoconf support for finding the executables forChris Lattner2005-07-141-5/+8
| | | | | | gv and Graphviz. llvm-svn: 22434
* * Correct the AC_DEFINE for LLVM_PATH_GRAPHVIZ to use AC_DEFINE_UNQUOTED soReid Spencer2005-07-143-32/+97
| | | | | | | we actually get the path and not $GRAPHVIZ as the value. * Add a #define for the gv program (HAVE_GV) and its value LLVM_PATH_GV. llvm-svn: 22433
* As discussed on IRC, this stuff is just for debugging.Chris Lattner2005-07-141-0/+5
| | | | llvm-svn: 22432
* Put the path to the Graphviz program in the #defines so it can be used.Reid Spencer2005-07-143-33/+43
| | | | llvm-svn: 22430
* If the Graphviz program is available, use it to visualize dot graphs.Chris Lattner2005-07-141-1/+10
| | | | llvm-svn: 22429
* Get rid of warnings on AlphaReid Spencer2005-07-131-4/+4
| | | | llvm-svn: 22428
* Implement a test for the Graphviz program for Chris Lattner. The symbolReid Spencer2005-07-133-30/+85
| | | | | | | GRAPHVIZ will contain the path to the program if its found (or "echo Graphviz" if not) and the #define HAVE_GRAPHVIZ will be defined if its found. llvm-svn: 22424
* Don't call pthread_mutexattr_setpshared on FreeBSD because its implementationReid Spencer2005-07-131-0/+2
| | | | | | of pthreads is missing that call (despite it violating the spec). llvm-svn: 22423
OpenPOWER on IntegriCloud