summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* add a new method.Chris Lattner2005-02-241-0/+10
| | | | llvm-svn: 20293
* Only print out machine instructions before modulo scheduling if we are ↵Tanya Lattner2005-02-241-1/+1
| | | | | | actually doing modulo scheduling! :) llvm-svn: 20292
* Ah the problems you have to fix when you stray from the One True Way (TM)Andrew Lenharth2005-02-231-2/+2
| | | | llvm-svn: 20290
* make this more efficient. Scan up to 16 nodes, not the whole list.Chris Lattner2005-02-232-2/+2
| | | | llvm-svn: 20289
* new methodChris Lattner2005-02-231-0/+13
| | | | llvm-svn: 20288
* Reduce the amount of searching this assertion does. On a testcase of mine,Chris Lattner2005-02-231-1/+3
| | | | | | this reduces the time for -simplifycfg in a debug build from 106s to 14.82s llvm-svn: 20286
* Silence some uninit variable warnings.Chris Lattner2005-02-231-0/+2
| | | | llvm-svn: 20284
* Fixed bug in findAllcircuits. Fixed branch addition to schedule. Added debug ↵Tanya Lattner2005-02-234-92/+150
| | | | | | information. llvm-svn: 20280
* oopsAndrew Lenharth2005-02-221-1/+1
| | | | llvm-svn: 20278
* Remove use of bind_obj, deleter, and finegrainify namespacification.Chris Lattner2005-02-221-18/+15
| | | | llvm-svn: 20277
* Remove use of bind_objChris Lattner2005-02-221-2/+3
| | | | llvm-svn: 20276
* C++ is not a functional programming language.Chris Lattner2005-02-221-5/+7
| | | | llvm-svn: 20274
* dynamic stack allocasAndrew Lenharth2005-02-222-65/+154
| | | | llvm-svn: 20273
* Fix a bug in the 'store fpimm, ptr' -> 'store intimm, ptr' handling code.Chris Lattner2005-02-221-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changing 'op' here caused us to not enter the store into a map, causing reemission of the code!! In practice, a simple loop like this: no_exit: ; preds = %no_exit, %entry %indvar = phi uint [ %indvar.next, %no_exit ], [ 0, %entry ] ; <uint> [#uses=3] %tmp.4 = getelementptr "complex long double"* %P, uint %indvar, uint 0 ; <double*> [#uses=1] store double 0.000000e+00, double* %tmp.4 %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2] %exitcond = seteq uint %indvar.next, %N ; <bool> [#uses=1] br bool %exitcond, label %return, label %no_exit was being code gen'd to: .LBBtest_1: # no_exit movl %edx, %esi shll $4, %esi movl $0, 4(%eax,%esi) movl $0, (%eax,%esi) incl %edx movl $0, (%eax,%esi) movl $0, 4(%eax,%esi) cmpl %ecx, %edx jne .LBBtest_1 # no_exit Note that we are doing 4 32-bit stores instead of 2. Now we generate: .LBBtest_1: # no_exit movl %edx, %esi incl %esi shll $4, %edx movl $0, (%eax,%edx) movl $0, 4(%eax,%edx) cmpl %ecx, %esi movl %esi, %edx jne .LBBtest_1 # no_exit This is much happier, though it would be even better if the increment of ESI was scheduled after the compare :-/ llvm-svn: 20265
* no longer build as a shared libraryAndrew Lenharth2005-02-221-1/+0
| | | | llvm-svn: 20264
* Fix problems running the HowToUseJIT on powerpc, and probably problems withChris Lattner2005-02-201-2/+2
| | | | | | ANY program that does not have all functions internalized. llvm-svn: 20258
* Fix silly mistake.Jeff Cohen2005-02-201-1/+1
| | | | llvm-svn: 20256
* Implement standard I/O redirection in ExecuteAndWait().Jeff Cohen2005-02-201-7/+73
| | | | llvm-svn: 20255
* Add support for ".so" files compiled with LLVM which contain LLVM bytecode.Chris Lattner2005-02-192-3/+11
| | | | llvm-svn: 20253
* Eliminate silly warnings from the linker of the form:Chris Lattner2005-02-191-12/+0
| | | | | | | WARNING: Type conflict between types named 'union.._604.'. Src=' %union.._604.'. Dest=' %union.._604.' llvm-svn: 20252
* Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.Jeff Cohen2005-02-194-4/+4
| | | | llvm-svn: 20243
* Make PreventCoreFiles() do the right thing on Windows.Jeff Cohen2005-02-181-3/+6
| | | | llvm-svn: 20237
* Fix compilation errors with VS 2005, patch contributed by Aaron Gray.Misha Brukman2005-02-171-8/+28
| | | | llvm-svn: 20232
* Fix compilation errors with VS 2005, patch by Aaron Gray.Misha Brukman2005-02-171-0/+3
| | | | llvm-svn: 20231
* Don't rely on doubles comparing identical to each other, which doesn't workChris Lattner2005-02-171-4/+19
| | | | | | for 0.0 and -0.0. llvm-svn: 20230
* Don't sink argument loads into loops or other bad places. This disables ↵Chris Lattner2005-02-171-1/+8
| | | | | | folding of argument loads with instructions that are not in the entry block. llvm-svn: 20228
* Do not mark obviously unreachable blocks live when processing PHI nodes,Chris Lattner2005-02-171-40/+61
| | | | | | | | | | | | and handle incomplete control dependences correctly. This fixes: Regression/Transforms/ADCE/dead-phi-edge.ll -> a missed optimization Regression/Transforms/ADCE/dead-phi-edge.ll -> a compiler crash distilled from QT4 llvm-svn: 20227
* Scary typo that fixes ↵Chris Lattner2005-02-171-1/+1
| | | | | | | | Regression/Transforms/IndVarsSimplify/2005-02-17-TruncateExprCrash.ll and PR515. llvm-svn: 20224
* Arg list already has program name in it.Jeff Cohen2005-02-161-15/+2
| | | | llvm-svn: 20208
* Fixed node deletion bug.Tanya Lattner2005-02-162-6/+13
| | | | llvm-svn: 20207
* Instead of doing a manual comparison loop, just use memcmp, thanks to JohnCChris Lattner2005-02-151-9/+6
| | | | | | for the suggestion! :) llvm-svn: 20203
* Make this more efficient now that we know both files are the same length.Chris Lattner2005-02-151-2/+2
| | | | llvm-svn: 20202
* Fix spellingMisha Brukman2005-02-151-1/+1
| | | | llvm-svn: 20201
* Adjust DiffFilesWithTolerance to help poor cygwin's mmap facility byReid Spencer2005-02-151-8/+24
| | | | | | | | | | handling zero length files a little more intelligently. If both files are zero length then we return 0 (true) indicating a match. If only one of the files is zero length then we return 1 (false) indicating that the files differ. If the files don't agree in length then they can't match so we skip the first loop that looks for a quick match. llvm-svn: 20200
* Fix a problem where the PPC backend lost track of the fact that it hadChris Lattner2005-02-151-1/+3
| | | | | | | | to save and restore the LR register on entry and exit of a leaf function that needed to access globals or the constant pool. This should hopefully fix oscar from sending the PPC tester spinning out of control. llvm-svn: 20197
* Add a sanity check.Chris Lattner2005-02-151-0/+1
| | | | llvm-svn: 20195
* Add a new method to make it easy to update graphs.Chris Lattner2005-02-151-1/+23
| | | | llvm-svn: 20194
* Fix volatile load/store of pointers. Consider this testcase:Chris Lattner2005-02-151-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | void %test(int** %P) { %A = volatile load int** %P ret void } void %test2(int*** %Q) { %P = load int*** %Q volatile store int** %P, int*** %Q ret void } instead of emitting: void test(int **l1_P) { int *l2_A; l2_A = (int **((volatile int **)l1_P)); return; } void test2(int ***l2_Q) { int **l1_P; l1_P = *l2_Q; *((volatile int ***)l2_Q) = l1_P; return; } ... which is loading/storing volatile pointers, not through volatile pointers, emit this (which is right): void test(int **l1_P) { int *l3_A; l3_A = *((int * volatile*)l1_P); return; } void test2(int ***l2_Q) { int **l1_P; l1_P = *l2_Q; *((int ** volatile*)l2_Q) = l1_P; return; } llvm-svn: 20191
* Fix a bug in my previous change to this, which broke the build on sparcs.Chris Lattner2005-02-141-1/+1
| | | | llvm-svn: 20184
* Print GEP offsets as signed values instead of unsigned values. On X86, thisChris Lattner2005-02-141-3/+7
| | | | | | | | | | | | | | prints: getelementptr (int* %A, int -1) as: "(A) - 4" instead of "(A) + 18446744073709551612", which makes the assembler much happier. This fixes test/Regression/CodeGen/X86/2005-02-14-IllegalAssembler.ll, and Benchmarks/Prolangs-C/cdecl with LLC on X86. llvm-svn: 20183
* Fix the second bug attached to PR504.Chris Lattner2005-02-141-1/+1
| | | | llvm-svn: 20181
* Work around GCC PR19958, which causes programs to sometimes crash afterChris Lattner2005-02-141-0/+2
| | | | | | printing help output or version info. llvm-svn: 20180
* Write out single characters as chars, not strings.Misha Brukman2005-02-141-67/+67
| | | | llvm-svn: 20179
* Implement CodeGen/CBackend/2005-02-14-VolatileOperations.llChris Lattner2005-02-141-0/+15
| | | | | | Volatile loads and stores need to emit volatile pointer operations in C. llvm-svn: 20177
* fix setcc on floats, fixes singlesource:pi, perhaps othersAndrew Lenharth2005-02-141-1/+5
| | | | llvm-svn: 20172
* Fix the llvm bootstrapChris Lattner2005-02-131-2/+2
| | | | llvm-svn: 20170
* Move helper function here.Chris Lattner2005-02-131-0/+28
| | | | llvm-svn: 20168
* If errno is zero strerror_r does not modify the buffer, leaving it unterminated.Chris Lattner2005-02-132-2/+6
| | | | | | This causes garbage to be printed out after error messages. llvm-svn: 20165
* Make the check for global variables the same as the one for functions. InReid Spencer2005-02-131-1/+1
| | | | | | | | both cases they are looking for non-external variables/functions that do not have internal linkage. Using "!isExternal()" is a little more understandable than "hasInitializer()" llvm-svn: 20155
* Nuke blank line.Chris Lattner2005-02-131-1/+0
| | | | llvm-svn: 20154
OpenPOWER on IntegriCloud