1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
Commit Graph

28714 Commits

Author SHA1 Message Date
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
Chris Lattner
7a0046dc65 this final call to canLosslesslyBitCastTo is dead, because ValueRequiresCast
is only called on integers.

llvm-svn: 32949
2007-01-06 02:11:56 +00:00
Chris Lattner
3155b15453 simplify some more code now that there are not multiple different integer
types of the same size

llvm-svn: 32948
2007-01-06 02:09:32 +00:00
Chris Lattner
9691941c37 eliminate some uses of canLosslesslyBitCastTo, this actually makes the code stronger, by nuking
relational pointer comparisons with casts.

llvm-svn: 32947
2007-01-06 01:45:59 +00:00
Chris Lattner
176b690f07 no need to worry about int vs uint any more.
llvm-svn: 32946
2007-01-06 01:37:35 +00:00
Chris Lattner
aed0e0292b new note
llvm-svn: 32945
2007-01-06 01:30:45 +00:00
Reid Spencer
227f5ff545 Regenerate
llvm-svn: 32944
2007-01-06 00:23:53 +00:00
Reid Spencer
fb503a19e7 Test Case for PR1080.
llvm-svn: 32943
2007-01-06 00:22:38 +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
Evan Cheng
5ba049eabf setSetCCIsExpensive is gone.
llvm-svn: 32941
2007-01-05 23:42:53 +00:00
Evan Cheng
d378a229c5 Expand fcopysign to the bitwise sequence if select is marked as expensive.
llvm-svn: 32940
2007-01-05 23:33:44 +00:00
Evan Cheng
38cb858ee5 - Remove isSetCCExpensive() etc. These are no longer used.
- Add isSelectExpensive() etc. It's used to tell codegen that select is expensive for a given target, avoid using it if possible. Currently it's only
used to expand FCOPYSIGN.

llvm-svn: 32939
2007-01-05 23:31:08 +00:00
Devang Patel
c1627f6538 1) Remove old AnalysisResolver.
2) Rename AnalysisResolver_New as AnalysisResolver

llvm-svn: 32938
2007-01-05 22:47:07 +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
Evan Cheng
c61b85bdef Update test case.
llvm-svn: 32936
2007-01-05 21:53:15 +00:00
Reid Spencer
03c96bbe17 For PR1077:
Remove the XFAIL now that global redefinitions are not permitted.

llvm-svn: 32935
2007-01-05 21:51:57 +00:00
Reid Spencer
3e9aba042b Regenerate.
llvm-svn: 32934
2007-01-05 21:51:07 +00:00
Reid Spencer
6cec5bdd1c For PR1077:
Disallow merging of dupliate global variables. It is now illegal to declare
or define two global variables of the same name and same type. llvm-gcc3 is
dead in 2.0 and llvm-gcc4 doesn't have that problem nor need the hack.

llvm-svn: 32933
2007-01-05 21:50:38 +00:00
Evan Cheng
df277336b8 - FCOPYSIGN custom lowering bug. Clear the sign bit of operand 0 first before
or'ing in the sign bit of operand 1.
- Tweaking: rather than left shift the sign bit, fp_extend operand 1 first
  before taking its sign bit if its type is smaller than that of operand 0.

llvm-svn: 32932
2007-01-05 21:37:56 +00:00
Reid Spencer
638b8441d3 Add an example to the trunc instruction to clarify trunc to bool.
Example provided by Baptiste Lepilleur.

llvm-svn: 32931
2007-01-05 21:33:08 +00:00
Evan Cheng
cb71f273ff Bug in ExpandFCOPYSIGNToBitwiseOps(). Clear the old sign bit of operand 0
before or'ing in the sign bit of operand 1.

llvm-svn: 32930
2007-01-05 21:31:51 +00:00
Evan Cheng
237ec557ae CopyToReg source operand can be a register as well. e.g. Copy from GlobalBaseReg.
llvm-svn: 32929
2007-01-05 20:59:06 +00:00
Devang Patel
c5a284c3c6 Remove PassManagerT.h
llvm-svn: 32928
2007-01-05 20:21:13 +00:00
Devang Patel
fcddd83bfc Remove old pass manager.
llvm-svn: 32927
2007-01-05 20:16:23 +00:00
Reid Spencer
ea6dbeed39 This test case needs parameter attributes, manually upgrade and don't
run llvm-upgrade.

llvm-svn: 32926
2007-01-05 18:38:33 +00:00
Reid Spencer
0843be69e6 Global variables are not renamed by llvm-upgrade any more.
llvm-svn: 32925
2007-01-05 18:37:18 +00:00
Reid Spencer
6dd1f88bff Update for change in parameter attribute syntax.
llvm-svn: 32924
2007-01-05 18:35:52 +00:00
Reid Spencer
83270c01d2 Update for change in parameter attributes syntax.
llvm-svn: 32923
2007-01-05 18:34:20 +00:00
Reid Spencer
619271c675 Wrap long RUN: line.
llvm-svn: 32922
2007-01-05 18:33:43 +00:00
Reid Spencer
701ed3a4c4 Globals are not renamed any more.
llvm-svn: 32921
2007-01-05 18:33:16 +00:00
Reid Spencer
c6741500ce This test case needs zext and sext attributes so manually upgrade it and
don't run llvm-upgrade.

llvm-svn: 32920
2007-01-05 18:31:56 +00:00
Reid Spencer
840b40f6b8 Changes to parameter attribute syntax.
llvm-svn: 32919
2007-01-05 17:41:34 +00:00
Reid Spencer
0de0baf365 Changes to parameter attributes syntax.
llvm-svn: 32918
2007-01-05 17:40:40 +00:00
Reid Spencer
3495245ed0 Globals are not being renamed any more.
llvm-svn: 32917
2007-01-05 17:39:54 +00:00
Reid Spencer
ef31b4b173 This test case has been translated to 2.0 assembly so don't run
llvm-upgrade on it.

llvm-svn: 32916
2007-01-05 17:39:07 +00:00
Reid Spencer
a7f82d3210 Fix this to check for the correct error message.
llvm-svn: 32915
2007-01-05 17:37:59 +00:00
Reid Spencer
1472514984 This tests for something that will become illegal soon. The test/Feature
suite has a test for renaming of global variables.

llvm-svn: 32914
2007-01-05 17:36:59 +00:00
Reid Spencer
121d795195 Beef up this test case a little by introducing a global variable name
conflict after upgrade resulting from collapsed type planes. The test now
checks to make sure llvm-upgrade produces appropriate warning messages.

llvm-svn: 32913
2007-01-05 17:35:05 +00:00
Reid Spencer
450624cc8a Make this test that we can drop the implementation keyword for llvm-as.
llvm-upgrade is irrelevant for this test case.

llvm-svn: 32912
2007-01-05 17:29:41 +00:00
Reid Spencer
25f6be8634 Fix the test case for the change in parameter attribute syntax. The @ is
no longer needed and the @(...) syntax has been dropped in favor of a
simple space separated list of attribute names.

llvm-svn: 32911
2007-01-05 17:26:04 +00:00
Reid Spencer
845f216f53 For PR1077:
Split this test case into three cases. globalredefinition.ll just tests
that a global can be forward referenced. globalredefinition2.ll tests
that llvm-upgrade will warn about renaming duplicate global variables.
globalredefinition3.ll tests that llvm-as will generate an error on
duplicate global variables. This last test is currently XFAIL because
the restriction is not implemented yet.

llvm-svn: 32910
2007-01-05 17:25:12 +00:00
Reid Spencer
8453db2776 For PR1077:
Global variable definitions with the same name and same type are no longer
valid so don't attempt to test for this "feature".

llvm-svn: 32909
2007-01-05 17:22:13 +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
Reid Spencer
a6f1f11d07 Regenerate.
llvm-svn: 32905
2007-01-05 17:07:23 +00:00
Reid Spencer
4f14887126 Change the syntax for parameter attributes:
1. The @ sign is no longer necessary.
2. We now support "function attributes" as parameter attribute 0.
3. Instead of locating the return type attributes after the type of a
   function result, they are now located after the function header's
   closing paranthesis and before any alignment or section options.
4. The way has been prepared for a new "noreturn" function attribute but
   there is no support for recognizing it in the lexer nor doing anything
   with it if it does get set.
5. The FunctionType::getParamAttrsText method now has support for
   returning multiple attributes. This required a change in its interface.

I'm unhappy that this change leads to 6 new shift/reduce conflicts, but
in each case bison's decision to choose the shift is correct so there
shouldn't be any damage from these conflicts.

llvm-svn: 32904
2007-01-05 17:06:19 +00:00
Reid Spencer
14db5be69c Give the assembler some input.
llvm-svn: 32903
2007-01-05 16:45:06 +00:00
Evan Cheng
c273c9c830 Typo
llvm-svn: 32902
2007-01-05 08:32:24 +00:00
Evan Cheng
818d565b40 Add a test case for SSE fcopysign using SSE bitwise operations.
llvm-svn: 32901
2007-01-05 08:12:59 +00:00