llvm/test/Feature
Rafael Espindola 27c076ae40 Fix most of PR10367.
This patch changes the design of GlobalAlias so that it doesn't take a
ConstantExpr anymore. It now points directly to a GlobalObject, but its type is
independent of the aliasee type.

To avoid changing all alias related tests in this patches, I kept the common
syntax

@foo = alias i32* @bar

to mean the same as now. The cases that used to use cast now use the more
general syntax

@foo = alias i16, i32* @bar.

Note that GlobalAlias now behaves a bit more like GlobalVariable. We
know that its type is always a pointer, so we omit the '*'.

For the bitcode, a nice surprise is that we were writing both identical types
already, so the format change is minimal. Auto upgrade is handled by looking
through the casts and no new fields are needed for now. New bitcode will
simply have different types for Alias and Aliasee.

One last interesting point in the patch is that replaceAllUsesWith becomes
smart enough to avoid putting a ConstantExpr in the aliasee. This seems better
than checking and updating every caller.

A followup patch will delete getAliasedGlobal now that it is redundant. Another
patch will add support for an explicit offset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209007 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-16 19:35:39 +00:00
..
alias2.ll Fix most of PR10367. 2014-05-16 19:35:39 +00:00
aliases.ll Fix most of PR10367. 2014-05-16 19:35:39 +00:00
alignment.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
attributes.ll Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
basictest.ll
callingconventions.ll Update tests to the newest EH syntax. 2011-08-25 01:30:18 +00:00
calltest.ll Update tests to the newest EH syntax. 2011-08-25 01:30:18 +00:00
casttest.ll
cfgstructures.ll
cold.ll Add a new function attribute 'cold' to functions. 2013-05-24 12:26:52 +00:00
const_pv.ll There was a switch fall-through in the parser for textual LLVM that caused 2013-01-07 13:32:38 +00:00
constexpr.ll
constpointer.ll
escaped_label.ll
exception.ll Add feature test for the new exception handling stuff. 2011-08-25 01:19:13 +00:00
float.ll The powers that be have decided that LLVM IR should now support 16-bit 2011-12-17 00:04:22 +00:00
fold-fpcast.ll
forwardreftest.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
global_pv.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
global_section.ll
globalredefinition3.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
globalvars.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
indirectcall2.ll
indirectcall.ll
inlineasm.ll
instructions.ll [IR] Make {extract,insert}element accept an index of any integer type. 2014-05-01 22:12:39 +00:00
intrinsic-noduplicate.ll Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
intrinsics.ll Change math intrinsic attributes from readonly to readnone. These 2014-03-06 00:18:15 +00:00
load_module.ll Remove "lto_on_osx" xfails, now that -rdynamic works on Darwin. 2013-08-04 23:55:24 +00:00
md_on_instruction.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-23 01:16:29 +00:00
memorymarkers.ll
metadata.ll
minsize_attr.ll Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
NamedMDNode2.ll
NamedMDNode.ll
newcasts.ll Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
optnone-llc.ll Disable each MachineFunctionPass for 'optnone' functions, unless that 2014-03-31 17:43:35 +00:00
optnone-opt.ll Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
optnone.ll The 'optnone' attribute means don't inline anything into this function 2013-11-18 21:44:03 +00:00
packed_struct.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
packed.ll
paramattrs.ll Stop accepting and ignoring attributes in function types. Attributes are applied 2011-06-17 17:37:13 +00:00
ppcld.ll
prefixdata.ll Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
properties.ll Remove the dependent libraries feature. 2012-11-27 09:55:56 +00:00
prototype.ll
README.txt
recursivetype.ll
simplecalltest.ll
small.ll
smallest.ll
sparcld.ll
terminators.ll
testalloca.ll
testconstants.ll
testlogical.ll
testtype.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
testvarargs.ll
undefined.ll
unreachable.ll
varargs_new.ll
varargs.ll
vector-cast-constant-exprs.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
weak_constant.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
weirdnames.ll
x86ld.ll

This directory contains test cases for individual source features of LLVM.
It is designed to make sure that the major components of LLVM support all of the
features of LLVM, for very small examples.  Entire programs should not go here.

Regression tests for individual bug fixes should go into the test/Regression dir.