Commit Graph

272 Commits

Author SHA1 Message Date
Chris Lattner b1ed91f397 Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM.  One way to look at it
is through diffstat:
 109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing.  Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
   union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
   uniques them.  This means that the compiler doesn't merge them structurally
   which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
   struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
   in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead 
   "const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.  
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.

llvm-svn: 134829
2011-07-09 17:41:24 +00:00
Eric Christopher 70cc6b8a85 Fix this test to actually check something and be able to be compiled.
llvm-svn: 133952
2011-06-27 22:30:14 +00:00
Chris Lattner dc7f4ee382 remove an unreduced testcase.
llvm-svn: 133356
2011-06-18 19:12:59 +00:00
Galina Kistanova 77f3811172 Reverted r132785. It seems this test needs more research.
llvm-svn: 132836
2011-06-10 05:35:25 +00:00
Galina Kistanova 5b4d7e3f1d Changed condition.
llvm-svn: 132834
2011-06-10 03:57:02 +00:00
Galina Kistanova 869e715691 Added dg.exp to run FrontendC ARM-dependent tests; updated inline-asm-multichar.c test per this change.
llvm-svn: 132785
2011-06-09 17:18:37 +00:00
Eric Christopher 98c01e8c13 Create a new ARM directory for FrontendC tests and use it.
llvm-svn: 132734
2011-06-07 22:20:13 +00:00
Eric Christopher 714af006a2 Testcase for llvm-gcc commit r132591.
Part of rdar://9037836 and rdar://9119939

llvm-svn: 132592
2011-06-03 20:56:31 +00:00
Bill Wendling 02da72f60e This should have been a C++ testcase.
llvm-svn: 132504
2011-06-02 22:26:15 +00:00
Bill Wendling f86a53493e Testcase for r132493.
llvm-svn: 132495
2011-06-02 22:12:42 +00:00
Bill Wendling 8eced30568 Update for r132493 change.
llvm-svn: 132494
2011-06-02 22:11:49 +00:00
Eric Christopher d949eb714a Add a testcase, enabled only on arm, for llvm-gcc r132366.
llvm-svn: 132409
2011-06-01 18:23:56 +00:00
Rafael Espindola 20ce0c0ce0 Pass -disable-cfi to llc.
llvm-svn: 130999
2011-05-06 18:01:58 +00:00
Rafael Espindola ac893d6898 Pass -disable-cfi.
llvm-svn: 130995
2011-05-06 17:44:58 +00:00
Jakob Stoklund Olesen f118fae233 Fix test to be less sensitive to coalescing.
This should unbreak llvm-gcc-i386-linux-selfhost.

llvm-svn: 130927
2011-05-05 16:48:00 +00:00
Rafael Espindola 75e70e16e0 Pass -disable-cfi to llc.
llvm-svn: 130713
2011-05-02 19:51:34 +00:00
Chris Lattner 0ab5e2cded Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!

llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Daniel Dunbar 76b4ceb897 tests: Remove a FrontendC test which is no longer valid.
llvm-svn: 129519
2011-04-14 15:21:16 +00:00
Bill Wendling 01cbbd8555 Testcase for r128619 (PR9571).
llvm-svn: 128620
2011-03-31 08:13:57 +00:00
Eric Christopher 3a213a50fe Testcase for llvm-gcc commit r128230.
llvm-svn: 128242
2011-03-24 21:59:03 +00:00
Devang Patel 6050de9689 Remove the test.
llvm-svn: 128119
2011-03-22 23:07:03 +00:00
Devang Patel bbc187c946 Try to appease buildbot gods.
llvm-svn: 128112
2011-03-22 22:13:17 +00:00
Devang Patel dddce99f02 Try again to make this test darwin only.
llvm-svn: 128036
2011-03-21 23:11:08 +00:00
Devang Patel e351f20061 Force x86_64.
llvm-svn: 128027
2011-03-21 21:37:52 +00:00
Devang Patel d39242369a Enable this test only for Darwin.
llvm-svn: 128017
2011-03-21 20:32:56 +00:00
Daniel Dunbar 76c90c65e2 Disable test in a way that keeps lit happy.
llvm-svn: 127962
2011-03-20 00:04:51 +00:00
Stuart Hastings 142f836d0e Disable test to unbreak Linux. Radar 9156771.
llvm-svn: 127945
2011-03-19 03:56:38 +00:00
Devang Patel 9cd6796104 Test case for r127940.
llvm-svn: 127941
2011-03-19 01:40:43 +00:00
Stuart Hastings 72ee53ef6a Add a RUN line to the test case to make it functional. <rdar://problem/9055247>
llvm-svn: 127312
2011-03-09 04:02:40 +00:00
Stuart Hastings d528660759 Test cases for r127309. <rdar://problem/9055247>
llvm-svn: 127310
2011-03-09 03:59:52 +00:00
Bill Wendling 5100c00fa6 Build bots hate me.
llvm-svn: 127307
2011-03-09 01:37:39 +00:00
Stuart Hastings e6fbe056b8 Reverting testcase at 4126896; r126672 broke something else. <rdar://problem/9055247>
llvm-svn: 127278
2011-03-08 21:54:17 +00:00
Bill Wendling c90ca36e29 Once again try to appease the buildbot gods.
llvm-svn: 127272
2011-03-08 21:36:29 +00:00
Bill Wendling 2e1e1c1e36 Try to fix the compilation error due to type incombatibility.
llvm-svn: 127265
2011-03-08 19:39:35 +00:00
Bill Wendling 05334dad60 Testcase for r127187.
llvm-svn: 127236
2011-03-08 10:27:58 +00:00
Stuart Hastings e5fe543878 Test case for r126672. Radar 9055247.
llvm-svn: 126896
2011-03-02 23:24:44 +00:00
Stuart Hastings 33a3f356ef Test case for r126127. Radar 9012638.
llvm-svn: 126131
2011-02-21 18:08:40 +00:00
Rafael Espindola b1ebba9ec3 Update llvm-gcc's tests.
llvm-svn: 123447
2011-01-14 17:01:20 +00:00
Stuart Hastings 34744b1d3e Test case for r120740. Radar 8712503.
llvm-svn: 120741
2010-12-02 21:25:55 +00:00
Duncan Sands b32d19de6a Remove explicit uses of -emit-llvm, the test infrastructure adds it
automatically.  Use -S with llvm-gcc rather than -c, so tests can
work when llvm-gcc is really dragonegg (which can output IR with -S
but not -c).

llvm-svn: 120158
2010-11-25 21:24:35 +00:00
Dale Johannesen fc4feca7d8 Test for llvm-gcc patch 119392.
llvm-svn: 119393
2010-11-16 21:57:15 +00:00
Dale Johannesen 7bcbfe9c80 Testcase for llvm-gcc 118368. 8629268.
llvm-svn: 118369
2010-11-07 04:58:48 +00:00
Duncan Sands 78617ea13a Get rid of the last use of -m64 in FrontendC. This solution
of checking for either 4 or 8 is not very satisfactory, but
it would catch the original problem (an alignment of 1).

llvm-svn: 113485
2010-09-09 12:57:29 +00:00
Duncan Sands 11d56c309a Another test that uses -m64. Here too it looks like it can be
removed.  Not that the XTARGET wasn't doing anything since it
does nothing without an accompanying XFAIL.

llvm-svn: 113484
2010-09-09 12:48:04 +00:00
Duncan Sands e194e0c077 On i386, llvm-gcc cannot be assumed to support -m64. Since these
tests pass here (i686-linux and x86-64-linux) without -m64, simply
remove the -m64.

llvm-svn: 113483
2010-09-09 12:43:44 +00:00
Stuart Hastings 420c8a604f Typo. Thanks to BillW for pointing it out!
llvm-svn: 113281
2010-09-07 20:39:07 +00:00
Stuart Hastings a3188a81c0 Test case for r113248. Raar 8361341.
llvm-svn: 113249
2010-09-07 18:43:57 +00:00
Chris Lattner 7bf4b82e97 update one more test
llvm-svn: 112910
2010-09-02 23:32:55 +00:00
Dale Johannesen 78d95e0089 Apparently only Darwin passes long double misaligned. Compensate.
llvm-svn: 112748
2010-09-01 21:57:20 +00:00
Dale Johannesen e13c04d6da Attempt to fix buildbot.
llvm-svn: 112697
2010-09-01 05:19:06 +00:00