Commit Graph

16720 Commits

Author SHA1 Message Date
Chris Lattner 0982708a11 Testcase for PR494
llvm-svn: 19258
2005-01-02 21:11:11 +00:00
Chris Lattner 179457f062 xfail these tests, whcih require more info in the code generator to implement
correctly.

llvm-svn: 19257
2005-01-02 19:01:33 +00:00
Reid Spencer 34982d8dc8 Avoid use of -fomit-frame-pointer on FreeBSD platforms. It causes thrown
exceptions to abort() in cases where it should not.

Many thanks to Duraid Madina for doing the heavy lifting on the analysis
of this problem.

llvm-svn: 19256
2005-01-02 17:43:20 +00:00
Reid Spencer 74100aba4a Quote the PATH variable value just in case it has spaces in it (like on
Cygwin).

llvm-svn: 19255
2005-01-02 09:45:54 +00:00
Reid Spencer 862ebf5277 Correct the case of a #include directory name, just in case.
llvm-svn: 19254
2005-01-02 09:45:04 +00:00
Jeff Cohen 70d13a979c Cleanup some Visual Studio project dependencies.
llvm-svn: 19253
2005-01-02 04:44:36 +00:00
Jeff Cohen 2cf40e142c Eliminate the use of the global variable hack in the X86 target that was used
to get Visual Studio to link in X86.lib to the executables that need it.  There
is another way of doing it.

llvm-svn: 19252
2005-01-02 04:23:12 +00:00
Chris Lattner 733aac1270 Disable 2->3 address promotion of add and inc instructions to LEA's. In
addition to being three address, LEA's don't set the flags.

This fixes 186.crafty.

llvm-svn: 19251
2005-01-02 04:18:17 +00:00
Chris Lattner 252b68cfc8 Check in an old test that never made it into CVS
llvm-svn: 19250
2005-01-02 02:46:29 +00:00
Chris Lattner e7228736e0 Add a new method.
llvm-svn: 19249
2005-01-02 02:38:18 +00:00
Chris Lattner b62b45b3fc Add support for SETNPr to lower to memory form.
llvm-svn: 19248
2005-01-02 02:37:46 +00:00
Chris Lattner b7782d77c1 Implement the convertToThreeAddress method, add support for inverting JP/JNP
branches.

llvm-svn: 19247
2005-01-02 02:37:07 +00:00
Chris Lattner 295e45e60e Two changes here:
1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP.
2. Set the isCommutable and isPromotableTo3Address bits on several
   instructions.

llvm-svn: 19246
2005-01-02 02:35:46 +00:00
Chris Lattner 9590870a0d Make the 2-address instruction lowering pass smarter in two ways:
1. If we are two-addressing a commutable instruction and the LHS is not the
   last use of the variable, see if the instruction is the last use of the
   RHS.  If so, commute the instruction, allowing us to avoid a
   register-register copy in many cases for common instructions like ADD, OR,
   AND, etc on X86.
2. If #1 doesn't hold, and if this is an instruction that also existing in
   3-address form, promote the instruction to a 3-address instruction to
   avoid the register-register copy.  We can do this for several common
   instructions in X86, including ADDrr, INC, DEC, etc.

This patch implements test/Regression/CodeGen/X86/commute-two-addr.ll,
overlap-add.ll, and overlap-shift.ll when I check in the X86 support for it.

llvm-svn: 19245
2005-01-02 02:34:12 +00:00
Chris Lattner 835ae42300 Add several testcases for new optimizations in the code generator.
llvm-svn: 19244
2005-01-02 02:30:04 +00:00
Chris Lattner 733c82bfbf Expose isConvertibleToThreeAddress and isCommutable bits to the code generator.
llvm-svn: 19243
2005-01-02 02:29:04 +00:00
Chris Lattner a1a6be7e6e Add some bits that can be set on instructions. Renumber existing bits so
they are dense.  Add a virtual method that targets can choose to implement.

llvm-svn: 19242
2005-01-02 02:28:31 +00:00
Chris Lattner 182db0cac0 Add some bits that can be set for instructions.
llvm-svn: 19241
2005-01-02 02:27:48 +00:00
Reid Spencer 4e8dd44733 Make printing a warning message optional in CheckBytecodeOutputToConsole.
llvm-svn: 19240
2005-01-02 00:10:03 +00:00
Reid Spencer 742af2f2eb Prevent output of bytecode to std::cout unless the --force flag is given.
This prevents bytecode splats with usage like: cat file.ll | llvm-as -

llvm-svn: 19239
2005-01-02 00:08:46 +00:00
Reid Spencer c967184a50 Move the code for printing out a warning about bytecode output to a console
into lib/Support so it can be used with other tools.

llvm-svn: 19238
2005-01-01 23:57:01 +00:00
Reid Spencer 1263cfd14f Implement a function to print a warning if bytecode output is to be sent to
a terminal/console.

llvm-svn: 19237
2005-01-01 23:56:20 +00:00
Jeff Cohen b90c31fb49 Add functions for determining if the stdin/out/err is connected to a
console or not.

llvm-svn: 19236
2005-01-01 22:54:05 +00:00
Jeff Cohen e98c7b6f26 Add llvm-link, Linker projects to Visual Studio.
llvm-svn: 19235
2005-01-01 22:32:26 +00:00
Jeff Cohen 8db20fe964 Add missing header files to projects.
llvm-svn: 19234
2005-01-01 22:30:19 +00:00
Reid Spencer 6f802ba876 Add functions for determining if the stdin/out/err is connected to a
console or not.

llvm-svn: 19233
2005-01-01 22:29:26 +00:00
Jeff Cohen ca7d19e2af Fix typo 'ompress' => 'compress'.
llvm-svn: 19232
2005-01-01 22:10:32 +00:00
Jeff Cohen b06a83e285 Add llvm-ranlib project to Visual Studio.
llvm-svn: 19231
2005-01-01 22:05:56 +00:00
Jeff Cohen 5c3261e5f2 Add llvm-ar project to Visual Studio.
llvm-svn: 19230
2005-01-01 22:00:28 +00:00
Jeff Cohen 16034813e6 Add -v option to bison.
llvm-svn: 19229
2005-01-01 21:35:39 +00:00
Jeff Cohen 49123973f8 Add missing file SystemUtils.cpp to Support project.
llvm-svn: 19228
2005-01-01 21:34:18 +00:00
Jeff Cohen 1d2912470a Add llvm-as project to Visual Studio
llvm-svn: 19227
2005-01-01 20:51:41 +00:00
Jeff Cohen 980d6098b6 Add llvm-dis project to Visual Studio
llvm-svn: 19226
2005-01-01 20:18:03 +00:00
Jeff Cohen 08f30c0c33 Put executables into a single directory
llvm-svn: 19225
2005-01-01 19:37:14 +00:00
Jeff Cohen 4560c21dd2 Fix bountiful sources of VC++ 'possible loss of data' warnings
llvm-svn: 19224
2005-01-01 18:58:23 +00:00
Jeff Cohen 031c3d891c Improve TableGen dependencies
Move TableGen generated files out of the src tree
Add descriptions to the custom build steps

llvm-svn: 19223
2005-01-01 18:17:40 +00:00
Reid Spencer 3b8faf995d Add HAVE_SBRK
llvm-svn: 19222
2005-01-01 18:16:16 +00:00
Reid Spencer 9f0ce1772c Ignore some files
llvm-svn: 19221
2005-01-01 18:14:18 +00:00
Chris Lattner 86102b8ad5 This is a bulk commit that implements the following primary improvements:
* We can now fold cast instructions into select instructions that
    have at least one constant operand.
  * We now optimize expressions more aggressively based on bits that are
    known to be zero.  These optimizations occur a lot in code that uses
    bitfields even in simple ways.
  * We now turn more cast-cast sequences into AND instructions.  Before we
    would only do this if it if all types were unsigned.  Now only the
    middle type needs to be unsigned (guaranteeing a zero extend).
  * We transform sign extensions into zero extensions in several cases.

This corresponds to these test/Regression/Transforms/InstCombine testcases:
  2004-11-22-Missed-and-fold.ll
  and.ll: test28-29
  cast.ll: test21-24
  and-or-and.ll
  cast-cast-to-and.ll
  zeroext-and-reduce.ll

llvm-svn: 19220
2005-01-01 16:22:27 +00:00
Chris Lattner da15d4ba49 New testcases that we should combine.
llvm-svn: 19219
2005-01-01 16:14:46 +00:00
Chris Lattner 584e38313b New testcase for common bitfield manipulation instruction sequences.
llvm-svn: 19218
2005-01-01 16:14:18 +00:00
Chris Lattner 421477885f Add a bunch of tests for cases that should be eliminated.
llvm-svn: 19217
2005-01-01 16:13:43 +00:00
Chris Lattner 329d0255ae Add a bunch of tests for ANDs that should be eliminated.
llvm-svn: 19216
2005-01-01 16:13:19 +00:00
Chris Lattner ea4c66a083 This now works.
llvm-svn: 19215
2005-01-01 16:12:52 +00:00
Chris Lattner 83df5d25b7 Fix a FIXME: Select instructions on longs were miscompiled.
While we're at it, improve codegen of select instructions.  For this
testcase:

int %test(bool %C, int %A, int %B) {
  %D = select bool %C, int %A, int %B
  ret int %D
}

We used to generate this code:

_test:
        cmpwi cr0, r3, 0
        bne .LBB_test_2 ;
.LBB_test_1:    ;
        b .LBB_test_3   ;
.LBB_test_2:    ;
        or r5, r4, r4
.LBB_test_3:    ;
        or r3, r5, r5
        blr

Now we emit:

_test:
        cmpwi cr0, r3, 0
        bne .LBB_test_2 ;
.LBB_test_1:    ;
        or r4, r5, r5
.LBB_test_2:    ;
        or r3, r4, r4
        blr

-Chris

llvm-svn: 19214
2005-01-01 16:10:12 +00:00
Chris Lattner 78394258ae Substantially improve the code generated by non-folded setcc instructions.
In particular, instead of compiling this:

bool %test(int %A, int %B) {
  %C = setlt int %A, %B
  ret bool %C
}

to this:

test:
        save %sp, -96, %sp
        subcc %i0, %i1, %g0
        bl .LBBtest_1   !
        nop
        ba .LBBtest_2   !
        nop
.LBBtest_1:     !
        or %g0, 1, %i0
        ba .LBBtest_3   !
        nop
.LBBtest_2:     !
        or %g0, 0, %i0
        ba .LBBtest_3   !
        nop
.LBBtest_3:     !
        restore %g0, %g0, %g0
        retl
        nop

We now compile it to this:

test:
        save %sp, -96, %sp
        subcc %i0, %i1, %g0
        or %g0, 1, %i0
        bl .LBBtest_2   !
        nop
.LBBtest_1:     !
        or %g0, %g0, %i0
.LBBtest_2:     !
        restore %g0, %g0, %g0
        retl
        nop

llvm-svn: 19213
2005-01-01 16:06:57 +00:00
Chris Lattner 3215bb6049 Implement SimplifyCFG/DeadSetCC.ll
SimplifyCFG is one of those passes that we use for final cleanup: it should
not rely on other passes to clean up its garbage.  This fixes the "why are
trivially dead setcc's in the output of gccas" problem.

llvm-svn: 19212
2005-01-01 16:02:12 +00:00
Chris Lattner 21adf7d36e Add new test to make sure simplifycfg doesn't leave around trivially
dead instructions.

llvm-svn: 19211
2005-01-01 16:00:56 +00:00
Chris Lattner 1ece6f83ba Allow getZeroExtend and getSignExtend to work with boolean inputs.
llvm-svn: 19210
2005-01-01 15:59:57 +00:00
Chris Lattner 3196de7663 Add a useful accessor
llvm-svn: 19209
2005-01-01 15:58:55 +00:00
Chris Lattner 094e8b660b Add two helper functions.
llvm-svn: 19208
2005-01-01 15:58:41 +00:00
Reid Spencer 97d6cf262f Update to autoconf 2.59 standards.
llvm-svn: 19207
2005-01-01 09:26:55 +00:00
Reid Spencer 948499e820 Correct the conditional test for non-portable tools so that it will
correctly omit them for non-Unix operating systems.

llvm-svn: 19206
2004-12-31 22:56:14 +00:00
Reid Spencer d7287e05e3 For PR351:
Make LLVM_ON_UNIX and LLVM_ON_WIN32 available in the makefiles

llvm-svn: 19205
2004-12-31 22:54:28 +00:00
Reid Spencer cdf4d46551 Describe both objdir==srcdir and objdir!=srcdir methods of building LLVM
libraries and tools. Thanks to Henrik Bach for this suggestion.

llvm-svn: 19204
2004-12-31 19:48:59 +00:00
Jeff Cohen b6ecaa2d1c Where do these tabs keep coming from???
llvm-svn: 19203
2004-12-31 19:03:31 +00:00
Jeff Cohen 25dcdcc973 Mostly cleanup, but also some bug fixes, for win32/Path.cpp
llvm-svn: 19202
2004-12-31 19:01:08 +00:00
Reid Spencer 0f371a1637 Fix a compilation error for the case where mallinfo() is not available.
llvm-svn: 19201
2004-12-31 05:53:27 +00:00
Reid Spencer 0fcca1262b For PR351:
* lib/System depends on sbrk(3), make sure we check for it.

llvm-svn: 19200
2004-12-31 05:49:15 +00:00
Jeff Cohen 63f13c4cbc Get rid of those nasty tabs...
llvm-svn: 19199
2004-12-31 05:07:26 +00:00
Jeff Cohen 98aff88c9b Bring win32/Path.cpp up to date with respect to Unix/Path.cpp
llvm-svn: 19198
2004-12-31 04:39:07 +00:00
Reid Spencer 234dc34c77 * Add missing libraries: Linker, Archive, SparcV8
* Make library descriptions consistently lower case.

llvm-svn: 19197
2004-12-31 00:13:14 +00:00
Reid Spencer 266325e6d8 * Don't include weak definitions as a definition
* Make subordinate libraries presented with a vertical list instead of all
  listed on a single line.

llvm-svn: 19196
2004-12-30 23:13:12 +00:00
Reid Spencer 72767f611c Add a section on library dependencies now that GenLibDeps.html is written.
llvm-svn: 19195
2004-12-30 23:12:04 +00:00
Reid Spencer 271ed74132 A Perl script to generate an HTML definition list containing the LLVM
library dependencies, for documentation purposes.

llvm-svn: 19194
2004-12-30 23:07:56 +00:00
Reid Spencer e97198a38e Fix the help documentation to not imply multiple archive files can be
processed.

llvm-svn: 19193
2004-12-30 17:51:57 +00:00
Reid Spencer 996ec72d48 For PR351:
* Place a try/catch block around the entire tool to Make sure std::string
  exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
  abort with a useless message but indicate than an unhandled exception was
  generated.

llvm-svn: 19192
2004-12-30 05:36:08 +00:00
Jeff Cohen a6d9c1415c Fix MINGW compilation errors
llvm-svn: 19190
2004-12-30 03:02:31 +00:00
Reid Spencer 3d745d4378 * Fix a bug in an m4 macro that used an incorrect test operator
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
  program or not.
* Correct a warning messages to be a little more specific on what it checks

llvm-svn: 19184
2004-12-29 07:07:57 +00:00
Reid Spencer 42eaef40d8 Fix a Bourne Shell syntax error in a test
llvm-svn: 19183
2004-12-29 06:59:36 +00:00
Reid Spencer 5309e843d3 Fix one of the names to not have a . in front of it.
llvm-svn: 19182
2004-12-29 05:47:04 +00:00
Chris Lattner b5c253a58b Bug fixed
llvm-svn: 19181
2004-12-29 04:39:50 +00:00
Chris Lattner 13516fe2e7 Fix PR491 and testcase Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll
llvm-svn: 19180
2004-12-29 04:36:02 +00:00
Chris Lattner f2a5963737 Add a comment, add a new testcase
llvm-svn: 19179
2004-12-29 04:35:30 +00:00
Chris Lattner 44b225d4d4 New testcase for PR491
llvm-svn: 19178
2004-12-29 04:27:26 +00:00
Chris Lattner c6141111a5 Bug fixed
llvm-svn: 19177
2004-12-29 04:03:23 +00:00
Chris Lattner 93feeb18f1 Fix PR490
Fix testcase CodeGen/CBackend/2004-12-28-LogicalConstantExprs.ll

llvm-svn: 19176
2004-12-29 04:00:09 +00:00
Chris Lattner 5c87df3b7b new testcase for PR490
llvm-svn: 19175
2004-12-29 03:57:25 +00:00
Reid Spencer 46f8f24f15 XFAIL this test everywhere.
llvm-svn: 19174
2004-12-29 03:17:30 +00:00
Reid Spencer 28d2ad3396 XFAIL this everywhere, the CFE doesn't support bitfield initialization.
llvm-svn: 19173
2004-12-29 03:16:40 +00:00
Reid Spencer 9f4bb585f5 Remove potential platform portability issue with size of "int".
llvm-svn: 19172
2004-12-29 01:20:24 +00:00
Reid Spencer b9f8de6efe Correct the name of the variable for the LLVM examples directory so that
parallel builds don't attempt to create it twice.

llvm-svn: 19171
2004-12-28 07:59:22 +00:00
Reid Spencer 78d9e8763d Make the x86_64 target names match between def and use. Thanks Misha.
llvm-svn: 19170
2004-12-28 07:56:14 +00:00
Reid Spencer 307435c2ae Make the 64-bit x86 target named "x86_64" instead of "AMD64".
llvm-svn: 19169
2004-12-28 06:34:11 +00:00
Misha Brukman c57b9eb581 Add a note about registering the backend so it's available in LLC and LLI
llvm-svn: 19168
2004-12-27 19:05:16 +00:00
Jeff Cohen bb3d4a1b64 Bring VS projects up to date with respect to recent changes
llvm-svn: 19167
2004-12-27 16:49:34 +00:00
Reid Spencer cf8f341c36 Don't create symbolic links for lib/System any more. It doesn't need them.
llvm-svn: 19166
2004-12-27 09:33:46 +00:00
Reid Spencer c7f0a4733d Clean up some autoconf cruft
* Make the source detection use a file unique to Stacker
* Configure Makefile.common.in with AC_CONFIG_FILES not AC_CONFIG_MAKEFILE
* Use new autoconf format for invoking AC_OUTPUT

llvm-svn: 19165
2004-12-27 08:51:55 +00:00
Reid Spencer c4f0c739c9 Make it possible to reconfigure a project as well as just LLVM main dir.
llvm-svn: 19164
2004-12-27 08:50:27 +00:00
Reid Spencer ad7bdf7400 Fix a bug that made the nightly tester *really* slow. During changes for
portability, the --track-space option was inadvertently ignored. This patch
fixes that so that sys::Process::GetMallocUsage() is only invoked if the
--track-spaces option is given. Apparently the mallinfo() call that
GetMallocUsage() uses is *very* slow, especially when processing very large
modules like projects/llvm-test/MultiSource/Applications/kimwitu++.

llvm-svn: 19163
2004-12-27 08:03:04 +00:00
Reid Spencer a079b69981 For PR351:
* sys::PreventCoreFiles -> sys::Process::PreventCoreFiles

llvm-svn: 19162
2004-12-27 06:18:02 +00:00
Reid Spencer e925d8b8b2 For PR351:
* Ensure #includes are wrapped with appropriate HAVE_ guards
* Account for variations in time.h and sys/time.h inclusion.
* Add macros for getting wait(2) exit status correctly (per autoconf sugg.)
* Implement ThrowErrno in terms of strerror_r, strerror or none based on
  what is available on the platform.

llvm-svn: 19161
2004-12-27 06:17:50 +00:00
Reid Spencer efda887fe2 For PR351:
* Remove redundant #includes that are now in Unix.h

llvm-svn: 19160
2004-12-27 06:17:39 +00:00
Reid Spencer cf15b874e8 For PR351:
* Move implementation of sys::PreventCoreFiles function to this file from
  the now defunct SysConfig abstraction.

llvm-svn: 19159
2004-12-27 06:17:27 +00:00
Reid Spencer d103e0851c For PR351:
* Ensure #includes are wrapped with appropriate HAVE_ guards
* Ensure variations in "dirent" structure are accounted for.

llvm-svn: 19158
2004-12-27 06:17:15 +00:00
Reid Spencer 47cd653411 For PR351:
* Ensure #includes are wrapped with appropriate HAVE_ guards
* Consolidate implementation from operating system specific directory.

llvm-svn: 19157
2004-12-27 06:17:03 +00:00
Reid Spencer d554bbcefd For PR351:
* Ensure #includes are wrapped with appropriate HAVE_ guards

llvm-svn: 19156
2004-12-27 06:16:52 +00:00
Reid Spencer af6d3d5c8f For PR351:
* Consolidate implementation for Unix systems into Unix/TimeValue.cpp
* Avoid use of symbolic link to #include platform-specific implementation.

llvm-svn: 19155
2004-12-27 06:16:38 +00:00
Reid Spencer 51ea06abf8 For PR351:
* Consolidate implementation for Unix systems into Unix/Program.cpp
* Avoid use of symbolic link to #include platform-specific implementation.

llvm-svn: 19154
2004-12-27 06:16:25 +00:00
Reid Spencer 844f3fec49 For PR351:
* Consolidate implementation for Unix systems into Unix/Signals.cpp
* Avoid use of symbolic link to #include platform-specific implementation.

llvm-svn: 19153
2004-12-27 06:16:11 +00:00
Reid Spencer 71383fb646 For PR351:
* Consolidate implementation for Unix systems into Unix/Memory.cpp
* Avoid use of symbolic link to #include platform-specific implementation.

llvm-svn: 19152
2004-12-27 06:15:57 +00:00
Reid Spencer 1a7a435b49 For PR351:
* Consolidate implementation for Unix systems into Unix/MappedFile.cpp
* Avoid use of symbolic link to #include platform-specific implementation.

llvm-svn: 19151
2004-12-27 06:15:43 +00:00
Reid Spencer 97d4a17f04 For PR351:
* Consolidate implementation for Unix systems into Unix/Process.cpp
* Avoid use of symbolic link to #include platform-specific implementation.

llvm-svn: 19150
2004-12-27 06:15:29 +00:00
Reid Spencer 0d1ad6ac34 For PR351:
SysConf abstraction was pointless because it had a single function in it that
pertained only to the current process. So merge it into the Process abstraction
and remove the files completely.

llvm-svn: 19149
2004-12-27 06:15:14 +00:00
Reid Spencer b668158b7c For PR351:
* Add checks for sterror and strerror_r functions
* Add check to determine if /dev/zero is needed for allocating RWX memory.

llvm-svn: 19148
2004-12-27 06:15:02 +00:00
Reid Spencer 826da2a721 For PR351:
Provide a check to determine if /dev/zero is needed for AllocateRWX function.

llvm-svn: 19147
2004-12-27 06:14:48 +00:00
Reid Spencer 189c677549 Oops, reverse the logic on a test for WITH_LLVMGCCDIR to make it define
the path names correctly.

llvm-svn: 19146
2004-12-27 03:15:28 +00:00
Reid Spencer 474a09ca20 Provide a value for HAVE_MMAP_ANONYMOUS variable, for consistency with
other #define's.

llvm-svn: 19145
2004-12-27 03:14:43 +00:00
Reid Spencer 6bfa7a4f7b Describe the --with-llvmgccdir option to configure.
llvm-svn: 19144
2004-12-26 05:47:26 +00:00
Reid Spencer d2020acea0 Revert the last patch so that the LLVMGCCDIR environment variable is
still viable and will make use of the resurrected --with-llvmgccdir
configure option.

llvm-svn: 19143
2004-12-26 05:21:13 +00:00
Reid Spencer 8bc110c097 For PR351:
* Make sure all headers used by lib/System have checks
* Use "standard" autoconf checks for certain problematic headers
For PR432:
* Resurrect --with-llvmgccdir so a specific llvm-gcc/llvm-g++ installation
  can be specified.

llvm-svn: 19142
2004-12-25 07:31:29 +00:00
Jeff Cohen f365c33b62 mingw doesn't support the official debug API.
Old versions of the C runtime somehow get loaded into the process.  Make
sure they aren't searched for symbols.

llvm-svn: 19141
2004-12-25 04:50:17 +00:00
Jeff Cohen 683b1a5e3c Get VC++ building again
llvm-svn: 19140
2004-12-24 16:26:47 +00:00
Reid Spencer d06d026715 Ignore the autom4te.cache directoy.
llvm-svn: 19139
2004-12-24 15:11:23 +00:00
Reid Spencer c005fba17b Make sure llvm-g++ gets the right path for the llvm tools.
llvm-svn: 19138
2004-12-24 14:47:34 +00:00
Jeff Cohen 039b4abf6c Eliminate use of ltdl.c when doing a VC++ build. Because libtool isn't used,
ltdl's LGPL license would infect all of LLVM.

llvm-svn: 19137
2004-12-24 07:57:09 +00:00
Reid Spencer c81ccb488a Make the symbolic link using the correct variable!
llvm-svn: 19136
2004-12-24 06:49:16 +00:00
Reid Spencer 920b83d709 Remove references to LLVMGCCDIR because it was only used to provide a
value for the --with-llvmgccdir configure option which is no longer
supported.

llvm-svn: 19135
2004-12-24 06:32:54 +00:00
Reid Spencer 20540311e1 For PR351:
Merge implementations of isValid and GetTemporaryDirectory into this file. There
is not any point having the operating system specific files for such little
variation between the Unix family of systems.

llvm-svn: 19134
2004-12-24 06:29:42 +00:00
Reid Spencer e7c870364f For PR351:
This implementation is no longer needed, its been merged to Unix/Path.cpp since
there is such little variation between the platforms.

llvm-svn: 19133
2004-12-24 06:29:28 +00:00
Reid Spencer 328ee53573 For PR351:
Use the LLVM_ON_UNIX and LLVM_ON_WIN32 #defines to include the implementation
instead of relying upon the "platform" link

llvm-svn: 19132
2004-12-24 06:29:17 +00:00
Reid Spencer d3d6d9d691 For PR351:
Create new variables LLVM_ON_UNIX and LLVM_ON_WIN32 so we can start getting
rid of reliance upon a symbolic link to switch implementations in lib/System

llvm-svn: 19131
2004-12-24 06:29:05 +00:00
Reid Spencer 4befbf3f14 Resurrect this file.
llvm-svn: 19130
2004-12-24 06:03:31 +00:00
Reid Spencer 265b02ed3a Remove these files as they are not being included any more. DynamicLibrary
is now implemented via ltdl.cpp which has its own way of dealing with
the different platforms.

llvm-svn: 19129
2004-12-24 03:59:46 +00:00
Reid Spencer 0f996fe02c Make sure LLVMGCCWITHPATH is used instead of just LLVMGCC so that the
CFE tools can find the correct LLVM tools to invoke.

llvm-svn: 19128
2004-12-24 03:44:24 +00:00
Reid Spencer 69d897cc22 The dejagnu scripts need a path for llvm-gcc/llvm-g++ as well so use the
correct variable to get a "set the path first" invocation of those tools.

llvm-svn: 19127
2004-12-24 03:38:01 +00:00
Reid Spencer 35655d69b5 Two corrections:
* When reconfiguring, make sure the config.cache file is blown away so that
  its (old) values don't short-circuit doing the tests. When a reconfigure
  is done, it should be done from scratch, without the cache.
* For dist-check, don't pass --with-llvmgccdir any more because configure
  doesn't have this option any more.

llvm-svn: 19126
2004-12-24 03:36:31 +00:00
Reid Spencer b608aebc6c Change llvmgcc/llvmg++ to llvm-gcc and llvm-g++ respectively.
llvm-svn: 19125
2004-12-24 03:34:31 +00:00
Jeff Cohen d567bb6af6 Fix VC++ compilation error
llvm-svn: 19124
2004-12-24 02:38:34 +00:00
Reid Spencer 657b7343f3 Fix a bug in libtool's ltmain.sh. On Cygwin the "$output.exp" expression
expands to a full path name. Substitute $outputname.exp" instead and it
makes a viable temporary file name. This gets around the problem with lli
on Cygwin linking but not having any "C" library functions linked into it.

llvm-svn: 19123
2004-12-24 00:15:20 +00:00
Reid Spencer c84ee1aee0 Put CopyFile in the sys namespace.
llvm-svn: 19122
2004-12-23 22:14:32 +00:00
Misha Brukman e50986b39f Wrap at 80 cols
llvm-svn: 19121
2004-12-23 21:17:41 +00:00
Reid Spencer dee41307dc Correct the comments and file header.
llvm-svn: 19120
2004-12-23 21:16:46 +00:00
Reid Spencer 454a8afc6d Try to speed up gccld hot spot in BasicVN::getEqualNumberNodes by making
a function call at the core of the loop inline and removing unused
stack variables from an often called function. This doesn't improve things
much, the real saving will be by reducing the number of calls to this
function (100K+ when linking kimwitu++).

llvm-svn: 19119
2004-12-23 21:13:26 +00:00
Reid Spencer 0a54a58c63 Update the amd64 target detection checks.
Patch contributed by Markus F.X.J. Oberhumer.

llvm-svn: 19118
2004-12-23 21:08:52 +00:00
Reid Spencer 1097f7df5f Add a caution about using experimental versions of gnu binutils when
building Cygwin.

llvm-svn: 19117
2004-12-23 19:49:54 +00:00
Reid Spencer a8acd82275 Be specific about version of GCC and binutils on Cygwin since it matters.
llvm-svn: 19116
2004-12-23 19:39:54 +00:00
Misha Brukman 5ac308f43a LLVM now builds and runs on Linux/amd64, but we don't have 64-bit codegen yet
llvm-svn: 19115
2004-12-23 07:14:56 +00:00
Jeff Cohen cd80438755 Allow llc to recognize -march=x86. As it was, it didn't recognize any
architecture at all.

llvm-svn: 19114
2004-12-23 06:45:32 +00:00
Reid Spencer 864cee3355 Added support for detection of amd64 targets.
llvm-svn: 19113
2004-12-23 06:22:33 +00:00
Jeff Cohen 53fbecce6e Patch to fix mingw compilation problem contributed by Henrik.
llvm-svn: 19112
2004-12-23 03:44:40 +00:00
Brian Gaeke 737d3e8794 Fix the build on PowerPC/Darwin - it thought we were declaring a new
function or something. Since FileRemover takes a const reference to
sys::Path, we need to pass an actual sys::Path variable.

llvm-svn: 19111
2004-12-22 22:33:33 +00:00
Reid Spencer e0699f7466 * Remove an unnecessary step.
* Correct a path.

llvm-svn: 19110
2004-12-22 16:19:05 +00:00
Reid Spencer d94c5f8cc9 Correct compilation for Cygwin. FindExecutable now returns a sys::Path.
llvm-svn: 19109
2004-12-22 13:50:17 +00:00
Reid Spencer 3b21e3539a For PR351:
Include local FDHandle.h file now that FDHandle is local to this library
and not in lib/System/FileUtilities.

llvm-svn: 19108
2004-12-22 10:25:06 +00:00
Reid Spencer 756d023539 For PR351:
FDHandle class (non-portable) moved here from lib/Support/FileUtilities

llvm-svn: 19107
2004-12-22 10:24:55 +00:00
Reid Spencer 5260b5b46d For PR351:
Move non-portable FDHandle class to its only user: lib/Debugger

llvm-svn: 19106
2004-12-22 10:24:43 +00:00
Reid Spencer 3e41cd50b4 Add a blurb about using the GCC 3.4.3 compiler on Cygwin (which works) for
the CFE instead of the default GCC 3.3.3 compiler that comes with Cygwin.

llvm-svn: 19104
2004-12-22 09:52:30 +00:00
Reid Spencer c5f858ca52 For PR432:
* Remove the idiotic windows environment setting, its not needed.
* Remove an extraneous "mkdir" instruction.

llvm-svn: 19103
2004-12-22 09:07:51 +00:00
Reid Spencer 296cf274fd Hopefully fix a link.
llvm-svn: 19102
2004-12-22 06:48:03 +00:00