aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Final Changes For PR495:Reid Spencer2005-07-0817-189/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | This chagne just renames some sys::Path methods to ensure they are not misused. The Path documentation now divides methods into two dimensions: Path/Disk and accessor/mutator. Path accessors and mutators only operate on the Path object itself without making any disk accesses. Disk accessors and mutators will also access or modify the file system. Because of the potentially destructive nature of disk mutators, it was decided that all such methods should end in the work "Disk" to ensure the user recognizes that the change will occur on the file system. This patch makes that change. The method name changes are: makeReadable -> makeReadableOnDisk makeWriteable -> makeWriteableOnDisk makeExecutable -> makeExecutableOnDisk setStatusInfo -> setStatusInfoOnDisk createDirectory -> createDirectoryOnDisk createFile -> createFileOnDisk createTemporaryFile -> createTemporaryFileOnDisk destroy -> eraseFromDisk rename -> renamePathOnDisk These changes pass the Linux Deja Gnu tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22354 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix VC++ breakageJeff Cohen2005-07-083-13/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22353 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typoJeff Cohen2005-07-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22352 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for assembling .s files on mac os x for intelNate Begeman2005-07-086-9/+97
| | | | | | | Add support for running bugpoint on mac os x for intel git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22351 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to mimic those in Unix/Path.inc in support of PR495. This hasn'tReid Spencer2005-07-071-155/+94
| | | | | | | been compiled or tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22350 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR495:Reid Spencer2005-07-0729-331/+249
| | | | | | | | | | | | | | | | | | | | | | Get rid of the difference between file paths and directory paths. The Path class now simply stores a path that can refer to either a file or a directory. This required various changes in the implementation and interface of the class with the corresponding impact to its users. Doxygen comments were also updated to reflect these changes. Interface changes are: appendDirectory -> appendComponent appendFile -> appendComponent elideDirectory -> eraseComponent elideFile -> eraseComponent elideSuffix -> eraseSuffix renameFile -> rename setDirectory -> set setFile -> set Changes pass Dejagnu and llvm-test/SingleSource tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22349 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a problem that instcombine would hit when dealing with unreachable code.Chris Lattner2005-07-071-5/+29
| | | | | | | | | | Because the instcombine has to scan the entire function when it starts up to begin with, we might as well do it in DFO so we can nuke unreachable code. This fixes: Transforms/InstCombine/2005-07-07-DeadPHILoop.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22348 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase distilled from a large chunk of code Misha sent me.Chris Lattner2005-07-071-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22347 91177308-0d34-0410-b5e6-96231b3b80d8
* clean up prolouge and epilougeAndrew Lenharth2005-07-072-28/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22346 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR495:Reid Spencer2005-07-0712-39/+47
| | | | | | | | | | | | Change interface to Path class: readable -> canRead writable -> canWrite executable -> canExecute More (incremental) changes coming to close 495. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22345 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore some code that was accidentally removed by Nate's patch yesterday.Chris Lattner2005-07-071-1/+20
| | | | | | | This fixes the regressions from last night. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22344 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for emitting the symbol table (and its string table) of theChris Lattner2005-07-071-54/+141
| | | | | | | | | | | | | | | | | | | | | module to the ELF file. Test it by adding support for emitting common symbols. This allows us to compile this: %X = weak global int 0 %Y = weak global int 0 %Z = weak global int 0 to an elf file that 'readelf's this: Symbol table '.symtab' contains 4 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000004 4 OBJECT GLOBAL DEFAULT COM X 2: 00000004 4 OBJECT GLOBAL DEFAULT COM Y 3: 00000004 4 OBJECT GLOBAL DEFAULT COM Z git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22343 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for building/representing the symbol table, add some enum constantsChris Lattner2005-07-071-7/+56
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22342 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in my checkin today that caused regressions. Oops!Nate Begeman2005-07-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22341 91177308-0d34-0410-b5e6-96231b3b80d8
* First round of support for doing scalar FP using the SSE2 ISA extension andNate Begeman2005-07-0611-91/+388
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XMM registers. There are many known deficiencies and fixmes, which will be addressed ASAP. The major benefit of this work is that it will allow the LLVM register allocator to allocate FP registers across basic blocks. The x86 backend will still default to x87 style FP. To enable this work, you must pass -enable-sse-scalar-fp and either -sse2 or -sse3 to llc. An example before and after would be for: double foo(double *P) { double Sum = 0; int i; for (i = 0; i < 1000; ++i) Sum += P[i]; return Sum; } The inner loop looks like the following: x87: .LBB_foo_1: # no_exit fldl (%esp) faddl (%eax,%ecx,8) fstpl (%esp) incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit SSE2: addsd (%eax,%ecx,8), %xmm0 incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22340 91177308-0d34-0410-b5e6-96231b3b80d8
* Make several cleanups to Andrews varargs change:Chris Lattner2005-07-054-120/+90
| | | | | | | | | | | | | 1. Pass Value*'s into lowering methods so that the proper pointers can be added to load/stores from the valist 2. Intrinsics that return void should only return a token chain, not a token chain/retval pair. 3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone. 4. Now that we have Value*'s available in the lowering methods, pass them into any load/stores from the valist that are emitted git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22339 91177308-0d34-0410-b5e6-96231b3b80d8
* Make several cleanups to Andrews varargs change:Chris Lattner2005-07-052-37/+45
| | | | | | | | | | | 1. Pass Value*'s into lowering methods so that the proper pointers can be added to load/stores from the valist 2. Intrinsics that return void should only return a token chain, not a token chain/retval pair. 3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22338 91177308-0d34-0410-b5e6-96231b3b80d8
* 2 fixes:Andrew Lenharth2005-07-051-4/+13
| | | | | | | | | 1: Legalize operand in UINT_TO_FP expanision 2: SRA x, const i8 was not promoting the constant to shift amount type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22337 91177308-0d34-0410-b5e6-96231b3b80d8
* Fit to 80 columnsChris Lattner2005-07-051-3/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22336 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PowerPC varargsChris Lattner2005-07-051-24/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22335 91177308-0d34-0410-b5e6-96231b3b80d8
* oopsAndrew Lenharth2005-07-052-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22334 91177308-0d34-0410-b5e6-96231b3b80d8
* updatesAndrew Lenharth2005-07-052-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22333 91177308-0d34-0410-b5e6-96231b3b80d8
* check the correct VTAndrew Lenharth2005-07-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22332 91177308-0d34-0410-b5e6-96231b3b80d8
* fix loading address of fp symbolsAndrew Lenharth2005-07-031-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22331 91177308-0d34-0410-b5e6-96231b3b80d8
* Percolate the call up to the right superclassChris Lattner2005-07-031-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22330 91177308-0d34-0410-b5e6-96231b3b80d8
* I really didn't think this was necessary. But, Legalize wasn't running againAndrew Lenharth2005-07-021-2/+3
| | | | | | | and legalizing the extload. Strange. Should fix most alpha regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22329 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding new files to Visual Studio projects.Jeff Cohen2005-07-021-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22328 91177308-0d34-0410-b5e6-96231b3b80d8
* The statistic needs to be in the correct namespace.Nate Begeman2005-07-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22327 91177308-0d34-0410-b5e6-96231b3b80d8
* Varargs is apparently currently broken on PPC. This hacks it so that itChris Lattner2005-07-011-4/+9
| | | | | | | | | is at least overloading the right virtual methods. The implementations are currently wrong though. This fixes Ptrdist/bc, but not other programs (e.g. siod). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22326 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor X86AsmPrinter.cpp into multiple files. Patch contributedChris Lattner2005-07-016-557/+676
| | | | | | | by Aaron Gray, cleaned up by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22324 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify call code, remove pseudo ops for div and rem, track more loads and ↵Andrew Lenharth2005-07-011-17/+0
| | | | | | stores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22323 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify call code, remove pseudo ops for div and rem, track more loads and ↵Andrew Lenharth2005-07-013-80/+92
| | | | | | stores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22322 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some debugging codeChris Lattner2005-07-011-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22321 91177308-0d34-0410-b5e6-96231b3b80d8
* oopsAndrew Lenharth2005-06-301-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22320 91177308-0d34-0410-b5e6-96231b3b80d8
* FP EXTLOAD is not support on all archs, expand to LOAD and FP_EXTENDAndrew Lenharth2005-06-301-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22319 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR590 and Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll.Chris Lattner2005-06-301-19/+65
| | | | | | | | | The optimization for locally used allocas was not safe for allocas that were read before they were written. This change disables that optimization in that case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22318 91177308-0d34-0410-b5e6-96231b3b80d8
* new testcase for PR590Chris Lattner2005-06-301-0/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22317 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the x86 asm printer darwin-aware. This mostly entails doing the sameNate Begeman2005-06-301-12/+15
| | | | | | | | thing as cygwin most of the time, and printing our alignments in log2 rather than number of bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22316 91177308-0d34-0410-b5e6-96231b3b80d8
* restore old srcValueNode behavior and try to to work around itAndrew Lenharth2005-06-294-55/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22315 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't crash on a query where the block is not in any loop. Thanks toChris Lattner2005-06-291-1/+2
| | | | | | | Sameer D. Sahasrabuddhe for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22314 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fixed.John Criswell2005-06-291-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22313 91177308-0d34-0410-b5e6-96231b3b80d8
* Doh! Forgot to LLVMify the style.John Criswell2005-06-291-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22312 91177308-0d34-0410-b5e6-96231b3b80d8
* tracking the instructions causing loads and stores provides more information ↵Andrew Lenharth2005-06-293-8/+5
| | | | | | than just the pointer being loaded or stored git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22311 91177308-0d34-0410-b5e6-96231b3b80d8
* Basic fix for PR#591; don't convert an fprintf() to an fwrite() if thereJohn Criswell2005-06-291-0/+9
| | | | | | | | | | is a mismatch in their character type pointers (i.e. fprintf() prints an array of ubytes while fwrite() takes an array of sbytes). We can probably do better than this (such as casting the ubyte to an sbyte). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22310 91177308-0d34-0410-b5e6-96231b3b80d8
* thinkoAndrew Lenharth2005-06-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22309 91177308-0d34-0410-b5e6-96231b3b80d8
* unify SelectExpr and SelectFPAndrew Lenharth2005-06-291-190/+155
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22308 91177308-0d34-0410-b5e6-96231b3b80d8
* fix most regressionsAndrew Lenharth2005-06-291-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22307 91177308-0d34-0410-b5e6-96231b3b80d8
* support more relocations for stores alsoAndrew Lenharth2005-06-292-1/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22306 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of all symbolic loads. I now do gernate all relocations sequencesAndrew Lenharth2005-06-293-230/+76
| | | | | | | | rather than relying on the assembler. Only a few more pseudo instructions left. Also merge load code paths. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22305 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ElfWriter stuff to Visual StudioJeff Cohen2005-06-282-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22304 91177308-0d34-0410-b5e6-96231b3b80d8