1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
Commit Graph

1748 Commits

Author SHA1 Message Date
Zhou Sheng
23d24526b2 For PR1043:
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.

llvm-svn: 33073
2007-01-11 12:24:14 +00:00
Chandler Carruth
75f3e74eba Fixing a ">" redirect to be a ">>" redirect, so a sed command doesn't get clobbered.
llvm-svn: 33032
2007-01-09 02:38:29 +00:00
Devang Patel
05a840dae2 Modules are consumed when they are merged together by Linker.
Clear modules vector so that destructure does not try to
delete these modules again. Patch by Chandler Carruth.

llvm-svn: 33017
2007-01-08 18:42:27 +00:00
Chris Lattner
f153633017 fix atexit. This is an overcomplex way of calling exit, but it is required,
as the jit intercepts exit calls to implement atexit handlers.  This
fixes SingleSource/UnitTests/2003-05-14-AtExit

llvm-svn: 33008
2007-01-08 07:36:34 +00:00
Chandler Carruth
c98caae603 Build libLLVMlto on non-Darwin architectures. Resolves PR1055: http://llvm.org/PR1055
llvm-svn: 33006
2007-01-08 06:25:29 +00:00
Chris Lattner
59ef93ed62 relax type
llvm-svn: 32990
2007-01-07 08:13:39 +00:00
Reid Spencer
a56e79c32d Regenerate.
llvm-svn: 32987
2007-01-07 08:07:39 +00:00
Reid Spencer
5c270b3d20 Upgrade the llvm.isunordered intrinsics to "fcmp uno" instruction.
llvm-svn: 32986
2007-01-07 08:07:10 +00:00
Chris Lattner
af9e5ba7fa this is an overcomplex way to call exit :)
llvm-svn: 32978
2007-01-07 06:43:08 +00:00
Chris Lattner
9460b57b97 Add C wrappers for the LTO library (PR1081). Patch by Chandler Carruth!
llvm-svn: 32966
2007-01-06 23:53:43 +00:00
Chris Lattner
a24004487c fix typo
llvm-svn: 32965
2007-01-06 23:51:31 +00:00
Reid Spencer
cdaf88ff9d For PR411:
Take an incremental step towards type plane elimination. This change
separates types from values in the symbol tables by finally making use
of the TypeSymbolTable class. This yields more natural interfaces for
dealing with types and unclutters the SymbolTable class.

llvm-svn: 32956
2007-01-06 07:24:44 +00:00
Reid Spencer
86cc7756cd Regenerate.
llvm-svn: 32955
2007-01-06 06:04:32 +00:00
Reid Spencer
5676c4009d For PR1082:
Solve several related problems by making variable names more unique and
dealing with recursive phi nodes. Unfortunately, this doesn't solve the
main issue reported in the PR, but its a step in that direction.

llvm-svn: 32953
2007-01-06 06:03:09 +00:00
Reid Spencer
691c0b441f Add an option for getting the C compiler flags, --cflags.
Patch contributed by Chandler Carruth

llvm-svn: 32950
2007-01-06 02:48:03 +00:00
Reid Spencer
227f5ff545 Regenerate
llvm-svn: 32944
2007-01-06 00:23:53 +00:00
Reid Spencer
1c20034d33 For PR1080:
Emit the correct syntax for icmp and fcmp constant expressions. The
predicate goes outside the parentheses not inside. This was a change made
in the assembler without the corresponding change made in llvm-upgrade.

llvm-svn: 32942
2007-01-06 00:12:05 +00:00
Reid Spencer
bed19cee73 Fix dependencies. The lexer depends on the grammar for the UpgradeParser.h
file so make it depend on the .y file as well. This ensures that in
parallel builds the lexer is built after bison runs.

llvm-svn: 32937
2007-01-05 22:03:42 +00:00
Reid Spencer
a8a4cdc2cb Regenerate
llvm-svn: 32908
2007-01-05 17:20:02 +00:00
Reid Spencer
b5198c9e06 Adjust to new header file name.
llvm-svn: 32907
2007-01-05 17:19:32 +00:00
Reid Spencer
e1e9aa99ae Major update of llvm-upgrade:
1. Completely revise the type system so that types are handled as const
   objects and not created multiple times, cloned, or otherwise copied.
   This gets around memory issues, saves memory, and also emulates LLVM's
   no-two-types-of-the-same-shape-created semantics.
2. Adjust the handling of global names. Basically, we cannot rename them
   for a variety of reasons: linking, forward references, etc.
3. Detect global names that have name conflicts as the result of collapsed
   type planes or redefinitions that llvm-as no longer accepts. These will
   produce warnings on stderr and one of the globals will be renamed.
4. Rename ParserInternals.h as UpgradeInternals.h so it doesn't conflict
   in the debugger with ParserInternals.h from lib/AsmParser.
5. Move the guts of the TypeInfo class into the grammar so we aren't
   implementing large functions in a header file. This also helps with
   debugging a bit.

llvm-svn: 32906
2007-01-05 17:18:58 +00:00
Chris Lattner
6ef6a513f8 regenerate
llvm-svn: 32880
2007-01-04 18:46:42 +00:00
Chris Lattner
b3c4e9aa67 If we hit a parse error, emit something bad to the output stream. This ensures that
llvm-upgrade < foo | llvm-as | llvm-dis

will fail if llvm-upgrade fails.

llvm-svn: 32879
2007-01-04 18:45:51 +00:00
Reid Spencer
016eed41fd Regenerate.
llvm-svn: 32848
2007-01-03 23:45:42 +00:00
Reid Spencer
05b5eea728 Implement many new type features including upreferences, proper retention
of structure contents, counts of packed and array types, etc.

llvm-svn: 32847
2007-01-03 23:45:17 +00:00
Reid Spencer
82042de44e Finish implementation of variable renaming to handle collapsed type planes
by correctly handling up references and enumerated types. Previously there
was some confusion of these two. Thanks to Chris Lattner for demistifying
llvm up references.

llvm-svn: 32846
2007-01-03 23:43:55 +00:00
Evan Cheng
bc534764ad A bit more debugging printf's.
llvm-svn: 32832
2007-01-03 07:44:30 +00:00
Reid Spencer
b053ee57b0 Regenerate.
llvm-svn: 32817
2007-01-02 06:34:08 +00:00
Reid Spencer
740121454a Permit signed and unsigned integer constants to be used with either signed
or unsigned integer types.

llvm-svn: 32816
2007-01-02 06:33:02 +00:00
Reid Spencer
58e33da5ec Regenerate.
llvm-svn: 32811
2007-01-02 05:45:11 +00:00
Reid Spencer
538a40d6b8 For PR1070:
Revise the upgrade parser to keep track of types more faithfully and use
this information to resolve name conflicts resulting from collapsed type
planes. The type planes have collapsed because the integer types are now
signless so that uint and int became i32. Where two planes existed for uint
and int, only i32 exists. Any variable names depending on the type planes
to pmake the identifier unique would cause a conflict. This patch resolves
that conflict for many but not all cases.

Situations involving the integer types and pointers to them are handled
by this patch.  However, there are corner cases that are not handled
well, such as:

%t1 = type { uint, int }
%t2 = type { int, uint }

void %myfunc(%t1* one, %t2* two) {
  %var = load %t1* one
  %var = load %t2* two
}

In the scenario above, %t1 and %t2 are really the same type: { i32, i32 }
Consequently attempting to name %var twice will yield a redefinition error
when assembled.

While this patch is sufficien to allow the llvm/test suite to pass, More
work needs to be to complete the handling of these corner cases.

llvm-svn: 32810
2007-01-02 05:44:33 +00:00
Reid Spencer
be379ce176 Regenerate.
llvm-svn: 32805
2007-01-01 01:20:41 +00:00
Reid Spencer
9bd62917ea For PR1070:
Remove useless bitcasts by commenting them out.

llvm-svn: 32804
2007-01-01 01:20:16 +00:00
Reid Spencer
6678d20ec9 For PR950:
Convert signed integer types to signless.

llvm-svn: 32790
2006-12-31 06:02:26 +00:00
Reid Spencer
1ed4f1e97d For PR950:
Don't attempt to parse both the old and new grammars. It is near impossible
to get it right. Remove support for the new define keyword and don't
attempt to insert parameter attributes because there isn't enough
contextual information for it.

llvm-svn: 32784
2006-12-31 05:45:57 +00:00
Reid Spencer
0c70732d9d Regenerate.
llvm-svn: 32772
2006-12-29 20:35:03 +00:00
Reid Spencer
5520923eb5 For PR950:
Fix several bugs and update for new assembly syntax. Changes made include:
1. Fixing rules for icmp/fcmp instructions to not require a closing paren
   at the end. This was a cut-and-paste error from a previous commit.
2. Changing things like Out << " " to Out << ' '
3. Adding the "define" keyword for function definitions
4. Adding support for packed structures

llvm-svn: 32771
2006-12-29 20:33:37 +00:00
Reid Spencer
4428c3483b For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.

llvm-svn: 32751
2006-12-23 06:05:41 +00:00
Reid Spencer
c1f8c25766 Ignore the LibDeps.txt.tmp file.
llvm-svn: 32742
2006-12-22 02:02:45 +00:00
Reid Spencer
9c4041605f Remove a call to Type::isSigned().
llvm-svn: 32651
2006-12-18 07:58:01 +00:00
John Criswell
165218fb87 Remove DSA.
llvm-svn: 32542
2006-12-13 16:54:24 +00:00
Reid Spencer
d0bbb4e6dc Ressurrect this needed file.
llvm-svn: 32537
2006-12-13 08:10:16 +00:00
Reid Spencer
2cbf14dc54 Ressurrect the Stacker "st" configuration. Someday this will all go
away, but until then Stacker needs its configuration.

llvm-svn: 32536
2006-12-13 08:09:48 +00:00
Reid Spencer
3ccf5596ee Generate the correct cast opcode for constant expressions.
llvm-svn: 32461
2006-12-12 01:31:37 +00:00
Reid Spencer
5b4bc02c1f Fix PR1040:
Don't rebuild llvm-config if none of the library dependencies changed.

llvm-svn: 32455
2006-12-12 00:43:38 +00:00
Chris Lattner
7a39524d63 make statistics and timing info print even if the JIT'd program calls exit
instead of returning from main.

llvm-svn: 32414
2006-12-10 19:01:52 +00:00
Reid Spencer
6957f0edcf Regenerate.
llvm-svn: 32405
2006-12-09 19:41:25 +00:00
Reid Spencer
2f57ee5361 Fix test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll
Do not upgrade casts of bool to bool.

llvm-svn: 32404
2006-12-09 19:40:41 +00:00
Reid Spencer
0c2c4241c5 Regenerate.
llvm-svn: 32400
2006-12-09 16:57:22 +00:00
Reid Spencer
cc5dff3e5d When upgrading cast to bool to a setne, generate icmp ne instead.
llvm-svn: 32399
2006-12-09 16:56:55 +00:00
Reid Spencer
c495569ff4 Regenerate.
llvm-svn: 32303
2006-12-07 04:23:03 +00:00
Reid Spencer
a11c3316a3 Create an option to turn off generation of fcmp instructions while still
allowing integer setxx instructions to be converted to icmp.

llvm-svn: 32302
2006-12-07 04:22:23 +00:00
Bill Wendling
a3246c4272 Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.

llvm-svn: 32298
2006-12-07 01:30:32 +00:00
Jim Laskey
4a11d12ea4 No need to update generated files.
llvm-svn: 32275
2006-12-06 11:03:10 +00:00
Jim Laskey
aa484b9305 Fix build for older versios of bison.
llvm-svn: 32274
2006-12-06 10:57:33 +00:00
Reid Spencer
6c5d0a9e1e Regenerate.
llvm-svn: 32269
2006-12-06 06:30:15 +00:00
Reid Spencer
1190eda624 Don't turn on SETCC upgrade yet!
llvm-svn: 32268
2006-12-06 06:29:36 +00:00
Reid Spencer
57550d241d Regenerate.
llvm-svn: 32267
2006-12-06 06:25:46 +00:00
Reid Spencer
649b2046eb Fix upgrade of setcc with bool operands.
llvm-svn: 32266
2006-12-06 06:25:22 +00:00
Chris Lattner
d23555d081 reword message
llvm-svn: 32257
2006-12-06 05:39:18 +00:00
Chris Lattner
41c5ddb8cb make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.
With this change, I can now move -stats to print when llvm_shutdown is called.

llvm-svn: 32250
2006-12-06 01:18:01 +00:00
Chris Lattner
bd4c022c56 This needs the callgraph data structure to stick around as long as the
printer does.

llvm-svn: 32236
2006-12-05 19:43:42 +00:00
Reid Spencer
4cd933d737 Regenerate.
llvm-svn: 32235
2006-12-05 19:21:25 +00:00
Reid Spencer
52be984fa1 For PR645:
Keep track of global constant and variable definitions for eventual use
in resolving conflicts between global and local symbol usage.

llvm-svn: 32234
2006-12-05 19:18:29 +00:00
Reid Spencer
5f8360b8a4 Regenerate.
llvm-svn: 32178
2006-12-04 15:41:36 +00:00
Reid Spencer
be32949823 Match the llvmAsmParser's handling of ICmp and FCmp instructions.
llvm-svn: 32153
2006-12-03 07:10:26 +00:00
Reid Spencer
6fa332c118 Regenerate.
llvm-svn: 32142
2006-12-03 03:16:48 +00:00
Reid Spencer
460a5c1421 Add a needed #include.
llvm-svn: 32141
2006-12-03 03:15:23 +00:00
Reid Spencer
0b2fca760d Regenerate.
llvm-svn: 32140
2006-12-02 22:14:11 +00:00
Reid Spencer
97cae19c07 Implement upgrade of setcc instruction to icmp/fcmp, but don't enable it
yet.

llvm-svn: 32139
2006-12-02 22:09:27 +00:00
Reid Spencer
f57b9b8461 Regenerate.
llvm-svn: 32128
2006-12-02 20:21:22 +00:00
Reid Spencer
e71c22e44a Support several new upgrades:
div -> fdiv/udiv/sdiv
  rem -> frem/urem/srem
  except -> unwind
  uninitialized -> external
as well as tracking the element type of pointers, packed, and array.

llvm-svn: 32127
2006-12-02 20:19:56 +00:00
Reid Spencer
87934cca95 Regenerate.
llvm-svn: 32122
2006-12-02 16:19:52 +00:00
Reid Spencer
e81f44521c Implement the GEP upgrade for non-constant unsigned indices
llvm-svn: 32121
2006-12-02 16:19:28 +00:00
Reid Spencer
b80f070688 Keep lists of values so they can be examined.
llvm-svn: 32120
2006-12-02 15:16:01 +00:00
Reid Spencer
84066cbeea Build llvm-update now.
llvm-svn: 32116
2006-12-02 04:46:36 +00:00
Reid Spencer
9120a12f23 Add support for global types and type resolution. Fix several minor
formatting and spacing bugs. This is sufficient for llvm-upgrade to
correctly upgrade all of llvm/test.

llvm-svn: 32114
2006-12-02 04:11:07 +00:00
Reid Spencer
f6209db146 Handle upgrade of fp -> ptr cast with fp -> int -> ptr
llvm-svn: 32109
2006-12-01 23:40:53 +00:00
Reid Spencer
ea755fc9d2 Don't convert {} into []!
llvm-svn: 32106
2006-12-01 22:42:01 +00:00
Reid Spencer
404afdfaf5 Allow the new cast instructions.
llvm-svn: 32104
2006-12-01 22:34:43 +00:00
Reid Spencer
1fda3ddad9 Upgrade shr to ashr and lshr
llvm-svn: 32103
2006-12-01 22:26:37 +00:00
Chris Lattner
679e419c6b target constructors are never used
llvm-svn: 32099
2006-12-01 21:59:37 +00:00
Reid Spencer
f20f7dacec Don't treat numeric (untyped) constants as a ConstInfo, just pass the
string and let ConstVal add the type.

llvm-svn: 32096
2006-12-01 21:52:30 +00:00
Reid Spencer
359a9d8247 First version of llvm-upgrade that can correctly upgrade all of
test/Feature

llvm-svn: 32092
2006-12-01 21:10:07 +00:00
Reid Spencer
0444ba7677 valgrind clean version of llvm-upgrade
llvm-svn: 32090
2006-12-01 20:36:40 +00:00
Reid Spencer
d98e9df87f First version of llvm-upgrade that can correctly upgrade a large test
case.

llvm-svn: 32089
2006-12-01 20:26:20 +00:00
Nick Lewycky
041b79ad53 Remove extra header.
llvm-svn: 32056
2006-12-01 01:05:14 +00:00
Nick Lewycky
1b245e4f5c Fix opt -o option. Don't pass a pointer to an auto variable which is going
away before it's needed, and don't try to delete that pointer!

llvm-svn: 32055
2006-12-01 00:43:14 +00:00
Reid Spencer
6ba44b183b Allow llvm-upgrade to read from stdin. Configure the lexer for reading
from C++ std::istream.

llvm-svn: 32041
2006-11-30 16:50:26 +00:00
Reid Spencer
4b5f94e616 Ignore generated files.
llvm-svn: 32031
2006-11-30 06:37:43 +00:00
Reid Spencer
1eebd168fe Initial, non-functional, version of llvm-upgrade. This version just echos
its input. Committed for safekeeping purposes. Don't use this yet.

llvm-svn: 32030
2006-11-30 06:36:44 +00:00
Bill Wendling
4effa38086 Replacing std::iostreams with llvm iostreams. Some of these changes involve
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.

llvm-svn: 31990
2006-11-29 00:19:40 +00:00
Bill Wendling
2477c0ac3d Convert to using llvm streams instead of iostreams.
llvm-svn: 31989
2006-11-28 23:33:06 +00:00
Reid Spencer
b7f47f0420 Add an -append-exit-code option to bugpoint. This will cause bugpoint to
append "exit <retcode>" to the end of the output file. This is used by
the nightly tester to make bugpoint match the output generated by the
RunSafely.sh script so it doesn't find false positives.

llvm-svn: 31960
2006-11-28 07:04:10 +00:00
Reid Spencer
992d9788b3 For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.

llvm-svn: 31931
2006-11-27 01:05:10 +00:00
Nick Lewycky
cd25e651c2 Update to new predicate simplifier VRP design. Fixes PR966 and PR967.
Remove predicate simplifier from default gcc3 pipeline. New design is too
slow to enable by default.
Add new testcases for problems encountered in development.

llvm-svn: 31895
2006-11-22 23:49:16 +00:00
John Criswell
c71d7dd4f8 Added the --disable-compression option which controls whether the
generated bytecode uses compression.

llvm-svn: 31891
2006-11-21 22:50:24 +00:00
Bill Wendling
17c96ef0de Need <iostream> for the time being.
llvm-svn: 31821
2006-11-17 10:09:22 +00:00
Bill Wendling
68b475d560 Need iostream to be included for the time being.
llvm-svn: 31820
2006-11-17 10:05:07 +00:00
Reid Spencer
6b01730b52 Minor style fixes from review.
llvm-svn: 31685
2006-11-11 19:59:25 +00:00
Reid Spencer
c08e36fd77 Add a -disable-loop-extraction option to bugpoint.
llvm-svn: 31683
2006-11-11 19:05:02 +00:00
Reid Spencer
72bcd0530b For PR998:
Fix an infinite loop in the Linker and a few other assorted link problems.

Patch contributed by Scott Michel. Thanks, Scott!

llvm-svn: 31680
2006-11-11 11:54:25 +00:00
Chris Lattner
ae15a1f88d completely revert patrick's enhancement to bugpoint. Though it makes bugpoint
speed up, it sometimes makes it crash on complex bc files, which isn't very nice.


With this, bugpoint can reduce the 176.gcc failure.

llvm-svn: 31589
2006-11-09 06:24:56 +00:00
Chris Lattner
3488208b8e add a new bugpoint mode -llc-safe. This uses LLC for both halves of a
miscompilation.  This is useful for working around GCC+CBE bugs or for handling
programs that CBE doesn't support (e.g. inline asm) when searching for
optimizer bugs.

llvm-svn: 31588
2006-11-09 05:57:53 +00:00
Reid Spencer
da1f5b882a For PR950:
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.

llvm-svn: 31542
2006-11-08 06:47:33 +00:00
Reid Spencer
f508606997 Fix a problem in the the last patch that subverts error message printing.
llvm-svn: 31466
2006-11-05 19:53:08 +00:00
Jeff Cohen
e1003da1a2 Unbreak VC++ build.
llvm-svn: 31464
2006-11-05 19:31:28 +00:00
Reid Spencer
2bda89b474 Make llvm2cpp -pedantic clean.
llvm-svn: 31389
2006-11-03 00:05:16 +00:00
Reid Spencer
4bafa71dc1 For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.

llvm-svn: 31380
2006-11-02 20:25:50 +00:00
Reid Spencer
1abf69e923 For PR950:
Replace the REM instruction with UREM, SREM and FREM.

llvm-svn: 31369
2006-11-02 01:53:59 +00:00
Bill Wendling
dde9793f0c Forgot a }
llvm-svn: 31226
2006-10-27 20:22:04 +00:00
Bill Wendling
b8441e6cce Re-added the part where it tries to remove all global variables first.
llvm-svn: 31225
2006-10-27 20:18:06 +00:00
Devang Patel
ac5109eec8 Save temp. bc files when saveTemps flag is true. Use final output file
name supplied by linker to construct temp bc file names.

Remove tabs.

llvm-svn: 31205
2006-10-26 20:46:22 +00:00
Reid Spencer
6833ffe8b8 For PR950:
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.

llvm-svn: 31195
2006-10-26 06:15:43 +00:00
Bill Wendling
b9780660dd Fix for PR960. Improves bugpoint so that it removes global variable
initializers as well. This is only a first pass. It can be slow because
it clones the module for each pass. An obvious improvement is not to do that.

llvm-svn: 31182
2006-10-25 18:36:14 +00:00
Devang Patel
3c1afad503 Supply alignment info to linker through LLVMSymbol.
llvm-svn: 31181
2006-10-25 18:10:07 +00:00
Devang Patel
c114a200c5 Instead of hard coding global prefix, use TargetAsmInfo.
Add LTO destructor.

llvm-svn: 31168
2006-10-24 18:41:02 +00:00
Devang Patel
b7f1981edd Fix typo. Add more comment. Avoid extra hash_map search.
llvm-svn: 31144
2006-10-23 23:57:53 +00:00
Devang Patel
5ff2903a58 Add removeModule().
llvm-svn: 31142
2006-10-23 23:12:26 +00:00
Reid Spencer
d414793dbc For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.

llvm-svn: 31063
2006-10-20 07:07:24 +00:00
Chris Lattner
325671d406 Make the bugpoint reduction heuristics more effective. Patch submitted by
Domagoj Babic, thanks!

llvm-svn: 30863
2006-10-10 21:42:25 +00:00
Devang Patel
850e8d4fef Use FindProgramByName instead of FindExecutable.
llvm-svn: 30846
2006-10-09 21:16:05 +00:00
Devang Patel
94499cd79f Do error checking.
llvm-svn: 30842
2006-10-09 20:20:13 +00:00
Chris Lattner
2fb91841be Remove a dead var noticed by Yorion
llvm-svn: 30841
2006-10-09 20:12:37 +00:00
Devang Patel
51ec4965d5 Use GetTemporaryDirectory. Fix http://llvm.org/bugs/show_bug.cgi?id=894
llvm-svn: 30838
2006-10-09 19:04:51 +00:00
Chris Lattner
f0241b0652 simplify code
llvm-svn: 30661
2006-09-28 23:24:48 +00:00
Nick Lewycky
d97d360598 Enable 'predsimplify' optimization.
llvm-svn: 30589
2006-09-24 00:08:16 +00:00
Devang Patel
5bc8dcf913 Use abstract class to facilitate dlopen() interface.
llvm-svn: 30569
2006-09-21 17:22:55 +00:00
Chris Lattner
36793aa9ed comment out debug code
llvm-svn: 30401
2006-09-15 23:01:10 +00:00
Chris Lattner
1e2c7fe283 Add a new -cbe-bug mode, which works just like -run-llc, except that it uses
LLC as the reference compiler to reduce testcases for bugs in GCC.

llvm-svn: 30400
2006-09-15 21:29:15 +00:00
Anton Korobeynikov
6e19f80688 Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.

llvm-svn: 30374
2006-09-14 18:23:27 +00:00
Chris Lattner
93e6f9d3b7 add a new (hidden) -disable-core-files option
llvm-svn: 30318
2006-09-14 06:17:09 +00:00
Devang Patel
2d7d441483 Add comment.
llvm-svn: 30315
2006-09-14 05:49:10 +00:00
Nick Lewycky
3c0bf01e9b Fix --enable-valgrind. Add room for the new arguments, and don't keep
a pointer to a temporary.

llvm-svn: 30312
2006-09-14 04:20:17 +00:00
Nick Lewycky
fcd43d78a2 Add --enable-valgrind option to run optimizations through valgrind to
pick up on memory errors.

llvm-svn: 30311
2006-09-14 03:49:54 +00:00
Devang Patel
d2db52f4ee GlobalValue with InternalLinkage may have operands with ExternalLinkage
type. Do not ignore these operands while finding external references.

llvm-svn: 30310
2006-09-14 01:35:13 +00:00
Chris Lattner
1f4901d69e Move ipsccp pass earlier to clean up obvious bogosities
llvm-svn: 30232
2006-09-09 21:30:13 +00:00
Chris Lattner
818f2a71e8 ok this really works :)
llvm-svn: 30195
2006-09-08 18:33:49 +00:00
Devang Patel
325ff2c001 Remove redundant include.
llvm-svn: 30194
2006-09-08 18:20:25 +00:00
Chris Lattner
701a3083ec Need to include Makefile.config to get the value of $(OS). Add a comment.
llvm-svn: 30193
2006-09-08 18:08:50 +00:00
Anton Korobeynikov
c63a56537f Enabling LTO building on Darwin only right now. This probably should be
removed after 'PIC vs non-PIC' problem solution

llvm-svn: 30192
2006-09-08 18:00:43 +00:00
Devang Patel
18046380ee Using addPassesToEmitWholeFile is not a good idea here.
Use FunctionPassManager to do the job.

llvm-svn: 30160
2006-09-07 21:41:11 +00:00
Devang Patel
f8e6dcc443 Add linker into list of LINK_COMPONENTS.
llvm-svn: 30159
2006-09-07 21:36:55 +00:00
Devang Patel
2c28439303 Add lto into the list of PARALLEL_DIRS
llvm-svn: 30154
2006-09-07 20:21:58 +00:00
Devang Patel
46b6b1195a Use addPassesToEmitWholeFile() instead of addPassesToEmitFile()
llvm-svn: 30153
2006-09-07 20:20:56 +00:00
Chris Lattner
064d0ec956 Change DisambiguateGlobalSymbols to not rename asm globals, which breaks
bugpoint on leopard.

llvm-svn: 30150
2006-09-07 18:21:07 +00:00
Devang Patel
2e6c5085f8 Add getTargetTriple() that linker can use to query target architecture.
llvm-svn: 30132
2006-09-06 20:16:28 +00:00
Devang Patel
bb3ca8e494 Keep track of all modules crated using a name to module map.
Add private member function getMoudle().

llvm-svn: 30130
2006-09-06 18:50:26 +00:00
Devang Patel
2d6a17a0fa Instead of demangling symbol name by hand, use original name, which was
used to mangle symbol name, directly.

llvm-svn: 30124
2006-09-06 00:45:52 +00:00
Devang Patel
208eaf86a6 Extract target triplet from optimized module.
Untabify.

llvm-svn: 30123
2006-09-06 00:28:22 +00:00