; folded completely away if possible. This is a very common case, so it should
; be efficient.
;
+; RUN: analyze %s -tddatastructure
+;
implementation
sbyte* %merge1([100 x sbyte] *%A, long %N) {
-
+;
+; RUN: analyze %s -tddatastructure
%crazy = type [2 x { [2 x sbyte], short } ]
implementation
; This file contains a list of situations where node folding should happen...
+;
+; RUN: analyze %s -tddatastructure
implementation
-
; very simple test
+;
+; RUN: analyze %s -tddatastructure
implementation
+;
+; RUN: analyze %s -tddatastructure
%str = type { int*, int* }
; This file contains a list of cases where node folding should NOT happen
;
+; RUN: analyze %s -tddatastructure
+;
implementation
+;
+; RUN: analyze %s -tddatastructure
+
%G = global int 2 ; <int*> [#uses=1]
%H = global int* null
-
+;
+; RUN: analyze %s -tddatastructure
int* %test1(int *%A) {
%R = getelementptr int* %A, long 1
; A test for "physical subtyping" used in some C programs...
;
+; RUN: analyze %s -tddatastructure
+;
%ST = type { int, int* } ; "Subtype"
%DT = type { int, int*, int } ; "derived type"
+; RUN: analyze %s -tddatastructure
+
implementation ; Functions:
declare void %__main()
-
+; RUN: analyze %s -tddatastructure
void %foo(int* %X) {
store int 4, int* %X
+; RUN: analyze %s -tddatastructure
implementation
+; RUN: analyze %s -tddatastructure
%str = type { int, int* }