1*945a660cSMehdi Amini; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios 26d68c7cfSChad Rosier 36d68c7cfSChad Rosier; This test ensures HandlePHINodesInSuccessorBlocks() is able to promote basic 46d68c7cfSChad Rosier; non-legal integer types (i.e., i1, i8, i16). 56d68c7cfSChad Rosier 66d68c7cfSChad Rosierdeclare void @fooi8(i8) 76d68c7cfSChad Rosierdeclare void @fooi16(i16) 86d68c7cfSChad Rosier 96d68c7cfSChad Rosierdefine void @foo(i1 %cmp) nounwind ssp { 106d68c7cfSChad Rosierentry: 116d68c7cfSChad Rosier br i1 %cmp, label %cond.true, label %cond.false 126d68c7cfSChad Rosier 136d68c7cfSChad Rosiercond.true: ; preds = %entry 146d68c7cfSChad Rosier br label %cond.end 156d68c7cfSChad Rosier 166d68c7cfSChad Rosiercond.false: ; preds = %entry 176d68c7cfSChad Rosier br label %cond.end 186d68c7cfSChad Rosier 196d68c7cfSChad Rosiercond.end: ; preds = %cond.false, %cond.true 206d68c7cfSChad Rosier %cond = phi i1 [ 0, %cond.true ], [ 1, %cond.false ] 216d68c7cfSChad Rosier br i1 %cond, label %cond.true8, label %cond.false8 226d68c7cfSChad Rosier 236d68c7cfSChad Rosiercond.true8: ; preds = %cond.end 246d68c7cfSChad Rosier br label %cond.end8 256d68c7cfSChad Rosier 266d68c7cfSChad Rosiercond.false8: ; preds = %cond.end 276d68c7cfSChad Rosier br label %cond.end8 286d68c7cfSChad Rosier 296d68c7cfSChad Rosiercond.end8: ; preds = %cond.false8, %cond.true8 306d68c7cfSChad Rosier %cond8 = phi i8 [ 0, %cond.true8 ], [ 1, %cond.false8 ] 316d68c7cfSChad Rosier call void @fooi8(i8 %cond8) 326d68c7cfSChad Rosier br i1 0, label %cond.true16, label %cond.false16 336d68c7cfSChad Rosier 346d68c7cfSChad Rosiercond.true16: ; preds = %cond.end8 356d68c7cfSChad Rosier br label %cond.end16 366d68c7cfSChad Rosier 376d68c7cfSChad Rosiercond.false16: ; preds = %cond.end8 386d68c7cfSChad Rosier br label %cond.end16 396d68c7cfSChad Rosier 406d68c7cfSChad Rosiercond.end16: ; preds = %cond.false16, %cond.true16 416d68c7cfSChad Rosier %cond16 = phi i16 [ 0, %cond.true16 ], [ 1, %cond.false16 ] 426d68c7cfSChad Rosier call void @fooi16(i16 %cond16) 436d68c7cfSChad Rosier ret void 446d68c7cfSChad Rosier} 45