Commit Graph

28785 Commits

Author SHA1 Message Date
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
Chris Lattner
15411cbe6b manually upgrade this testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32897 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 07:34:41 +00:00
Chris Lattner
4f0e33d145 fold things like a^b != c^a -> b != c. This implements InstCombine/xor.ll:test27
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32893 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 03:04:57 +00:00
Chris Lattner
297a22b97d new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32892 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 03:03:51 +00:00
Chris Lattner
e76b77c96a llvm upgrade doesn't accept 'define'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32891 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 03:03:27 +00:00
Chris Lattner
e617c9ed5d Compile X + ~X to -1. This implements Instcombine/add.ll:test34
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32890 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 02:17:46 +00:00
Chris Lattner
0a2c88dafc new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32889 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 02:16:36 +00:00
Evan Cheng
0d630d2204 GEP subscript is interpreted as a signed value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32888 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 01:46:20 +00:00
Reid Spencer
ac8d27686d Correct the documentation for function declarations. They can have dllimport
or extern_weak linkage as well as "externally visible".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32887 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 00:59:10 +00:00
Chris Lattner
05a1416463 add missing flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32885 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 23:18:14 +00:00
Chris Lattner
f8e7a21912 fix PowerPC/2007-01-04-ArgExtension.ll, a bug handling K&R prototypes with
the recent signless changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32884 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 22:22:37 +00:00
Chris Lattner
e0170dfd2a new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32883 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 22:22:07 +00:00
Chris Lattner
008151782f Fix broken links, reported by Baptiste Lepilleur
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32882 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 22:01:45 +00:00
Evan Cheng
912095beca Expand fcopysign to a series of bitwise of operations when it's profitable to
do so.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32881 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 21:56:39 +00:00
Chris Lattner
37e01c5e90 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32880 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 18:46:42 +00:00
Chris Lattner
b9240544d7 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32879 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 18:45:51 +00:00
Reid Spencer
aae58841c6 Document this tool as experimental and list its deficiencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32878 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 17:55:11 +00:00
Chris Lattner
cf130b3544 remove the 'protected' workaround now that we don't care about gcc 2.95 anymore.
Reid already did this for FunctionType, this just cleans the rest up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32877 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 17:50:42 +00:00