summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Minor cleanup. No need to explicitly tell the compiler the template arguments.Chris Lattner2005-02-131-3/+2
| | | | llvm-svn: 20153
* Make sure to clear the LazyFunctionLoadMap after we ParseAllFunctionBodies.Chris Lattner2005-02-131-1/+2
| | | | | | | | | Otherwise, clients who call ParseAllFunctionBodies will attempt to parse the function bodies twice, which is (uh) very very bad (tm). This fixes gccld on python. llvm-svn: 20152
* Do not put internal symbols into the symbol table. This shrinks the symbolChris Lattner2005-02-131-21/+11
| | | | | | | | table for archives in common cases, and prevents trying to resolve a external reference with an internal reference. This shrinks the libpython.a symbol table from 126302 to 19770 bytes. llvm-svn: 20151
* Print something useful for gccld -v with an archive.Chris Lattner2005-02-131-0/+2
| | | | llvm-svn: 20148
* Correct the recursive PHI node handling routines in a way that CANNOT induceChris Lattner2005-02-131-27/+83
| | | | | | | | | | | | | | | infinite loops (using the new replaceSymbolicValuesWithConcrete method). This patch reverts this patch: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050131/023830.html ... which was an attempted fix for this problem. Unfortunately, that patch caused test/Regression/Transforms/IndVarsSimplify/exit_value_tests.llx to fail and slightly castrated the entire analysis. This patch fixes it right. This patch is dedicated to jeffc, for making me deal with this. :) llvm-svn: 20146
* try to do better match for i32 addsAndrew Lenharth2005-02-121-1/+22
| | | | llvm-svn: 20143
* make FP conversion more conservative (matches gcc)Andrew Lenharth2005-02-121-3/+4
| | | | llvm-svn: 20142
* oops, I was sure this had already gond though the nightly testerAndrew Lenharth2005-02-121-1/+1
| | | | llvm-svn: 20141
* added sign extend for booleanAndrew Lenharth2005-02-121-3/+5
| | | | llvm-svn: 20137
* Allow globals to be of different const'nesses when we link.Chris Lattner2005-02-121-8/+2
| | | | | | | This finally resolves PR502, PR450, and test/Regression/Linker/2005-02-12-ConstantGlobals{,-2}.ll correctly llvm-svn: 20135
* Fix for testcase Transforms/IndVarsSimplify/2005-02-11-InvokeCrash.llChris Lattner2005-02-121-0/+2
| | | | | | and PR504. llvm-svn: 20129
* fix a bunch of regressions due to call behaviorAndrew Lenharth2005-02-101-4/+4
| | | | llvm-svn: 20110
* Localize globals if they are only used in main(). This replaces theAlkis Evlogimenos2005-02-101-0/+40
| | | | | | | global with an alloca, which eventually gets promoted into a register. This enables a lot of other optimizations later on. llvm-svn: 20109
* Added new circuit finding alogrithm.Tanya Lattner2005-02-104-51/+487
| | | | | | Fixed bug in graph so that phi ite diff edges are added. llvm-svn: 20108
* Allow modsched and local scheduling to both be run.Tanya Lattner2005-02-101-4/+3
| | | | llvm-svn: 20107
* so, if you beat on it, you too can talk emacs into having a sane indenting ↵Andrew Lenharth2005-02-103-549/+575
| | | | | | policy... Also, optimize many function calls with pc-relative calls (partial prologue skipping for that case coming soon), try to fix the random jumps to strange places problem by pesimizing div et. al. register usage and fixing up GP before using, some calling convention tweaks, and make frame pointer unallocatable (not strickly necessary, but let's go for correctness first) llvm-svn: 20106
* fix fp branchAndrew Lenharth2005-02-101-6/+6
| | | | llvm-svn: 20105
* * Fix spelling of `volatile'Misha Brukman2005-02-101-9/+9
| | | | | | * Align comments with tablegen elements llvm-svn: 20103
* Don't print a 'Total Execution Time' line for the 'Miscellaneous UngroupedChris Lattner2005-02-091-6/+14
| | | | | | | Timers' section. Since these are random timers in the program it doesn't make sense to sum them up. llvm-svn: 20090
* Fix test/Regression/Assembler/2005-02-09-AsmWriterStoreBug.llChris Lattner2005-02-091-1/+1
| | | | llvm-svn: 20089
OpenPOWER on IntegriCloud