Commit Graph

28994 Commits

Author SHA1 Message Date
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
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