Commit Graph

28752 Commits

Author SHA1 Message Date
Chris Lattner
57d8637468 eliminate some uses of canLosslesslyBitCastTo, this actually makes the code stronger, by nuking
relational pointer comparisons with casts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32947 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 01:45:59 +00:00
Chris Lattner
d5dc0fb011 no need to worry about int vs uint any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32946 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 01:37:35 +00:00
Chris Lattner
ab4be63287 new note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32945 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 01:30:45 +00:00
Reid Spencer
a7c46fa921 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32944 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 00:23:53 +00:00
Reid Spencer
eb0d1d3508 Test Case for PR1080.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32943 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 00:22:38 +00:00
Reid Spencer
520071af0a 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32942 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-06 00:12:05 +00:00
Evan Cheng
d08d23315d setSetCCIsExpensive is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32941 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 23:42:53 +00:00
Evan Cheng
636c753b6b Expand fcopysign to the bitwise sequence if select is marked as expensive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32940 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 23:33:44 +00:00
Evan Cheng
257464a072 - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32939 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 23:31:08 +00:00
Devang Patel
cde53d3c1e 1) Remove old AnalysisResolver.
2) Rename AnalysisResolver_New as AnalysisResolver


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32938 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 22:47:07 +00:00
Reid Spencer
8b31b2dea6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32937 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 22:03:42 +00:00
Evan Cheng
bafe19d595 Update test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32936 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:53:15 +00:00
Reid Spencer
7fa67b7805 For PR1077:
Remove the XFAIL now that global redefinitions are not permitted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32935 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:51:57 +00:00
Reid Spencer
63c3445cfe Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32934 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:51:07 +00:00
Reid Spencer
90e2f63151 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32933 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:50:38 +00:00
Evan Cheng
73d6cf12ad - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32932 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:37:56 +00:00
Reid Spencer
5cf0fe40d0 Add an example to the trunc instruction to clarify trunc to bool.
Example provided by Baptiste Lepilleur.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32931 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:33:08 +00:00
Evan Cheng
068c5f47ea Bug in ExpandFCOPYSIGNToBitwiseOps(). Clear the old sign bit of operand 0
before or'ing in the sign bit of operand 1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32930 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 21:31:51 +00:00
Evan Cheng
489a87ca09 CopyToReg source operand can be a register as well. e.g. Copy from GlobalBaseReg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32929 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 20:59:06 +00:00
Devang Patel
ddbc606e94 Remove PassManagerT.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32928 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 20:21:13 +00:00
Devang Patel
cccd80dfa3 Remove old pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32927 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 20:16:23 +00:00
Reid Spencer
3b29264c11 This test case needs parameter attributes, manually upgrade and don't
run llvm-upgrade.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32926 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:38:33 +00:00
Reid Spencer
e5fe98cbb0 Global variables are not renamed by llvm-upgrade any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32925 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:37:18 +00:00
Reid Spencer
98ed6963e3 Update for change in parameter attribute syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32924 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:35:52 +00:00
Reid Spencer
bf8955346a Update for change in parameter attributes syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32923 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:34:20 +00:00
Reid Spencer
cfd09d9820 Wrap long RUN: line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32922 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:33:43 +00:00
Reid Spencer
6b91775db6 Globals are not renamed any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32921 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:33:16 +00:00
Reid Spencer
c33a34ffba This test case needs zext and sext attributes so manually upgrade it and
don't run llvm-upgrade.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32920 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:31:56 +00:00
Reid Spencer
7a50c236e9 Changes to parameter attribute syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32919 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:41:34 +00:00
Reid Spencer
02b9a0f19a Changes to parameter attributes syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:40:40 +00:00
Reid Spencer
90dd87195e Globals are not being renamed any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32917 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:39:54 +00:00
Reid Spencer
ab7b74a3fa This test case has been translated to 2.0 assembly so don't run
llvm-upgrade on it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32916 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:39:07 +00:00
Reid Spencer
869f8eb52b Fix this to check for the correct error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32915 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:37:59 +00:00
Reid Spencer
71fc834b3f This tests for something that will become illegal soon. The test/Feature
suite has a test for renaming of global variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32914 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:36:59 +00:00
Reid Spencer
89d983720e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:35:05 +00:00
Reid Spencer
280e6467c3 Make this test that we can drop the implementation keyword for llvm-as.
llvm-upgrade is irrelevant for this test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32912 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:29:41 +00:00
Reid Spencer
2fd6c65010 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32911 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:26:04 +00:00
Reid Spencer
dfa4b1aab6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32910 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:25:12 +00:00
Reid Spencer
4933af147a 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".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32909 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:22:13 +00:00
Reid Spencer
319a730353 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32908 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:20:02 +00:00
Reid Spencer
bcdd54cf6f Adjust to new header file name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32907 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:19:32 +00:00
Reid Spencer
90eb4d653c 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32906 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:18:58 +00:00
Reid Spencer
218ded2fc9 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32905 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:07:23 +00:00
Reid Spencer
2c261789d3 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32904 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:06:19 +00:00
Reid Spencer
bdcb9dfc3a Give the assembler some input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32903 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 16:45:06 +00:00
Evan Cheng
1722eeeaa4 Typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32902 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 08:32:24 +00:00
Evan Cheng
00c29703fe Add a test case for SSE fcopysign using SSE bitwise operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32901 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 08:12:59 +00:00
Evan Cheng
68c47cba35 With SSE2, expand FCOPYSIGN to a series of SSE bitwise operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32900 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 07:55:56 +00:00
Chris Lattner
e4929dd0cc Implement InstCombine/vec_shuffle.ll:%test7, simplifying shuffles with
undef operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 07:36:08 +00:00
Chris Lattner
4e56f7c81c new test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32898 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 07:35:24 +00:00