Index: lib/Sema/SemaDeclAttr.cpp
===================================================================
--- lib/Sema/SemaDeclAttr.cpp	(revision 160178)
+++ lib/Sema/SemaDeclAttr.cpp	(working copy)
@@ -1359,11 +1359,15 @@
     return;
   }
 
-  if (S.Context.getTargetInfo().getTriple().isOSDarwin()) {
+  // Disable aliases for all Target Triples where the OS is Darwin except when
+  // the arch name is AMD. This is because the AMD backend outputs AMD IL and
+  // aliases are allowed.
+  if (S.Context.getTargetInfo().getTriple().isOSDarwin() &&
+      !S.Context.getTargetInfo().getTriple().getArchName().startswith("amd")) {
     S.Diag(Attr.getLoc(), diag::err_alias_not_supported_on_darwin);
     return;
   }
-
+  
   // FIXME: check if target symbol exists in current file
 
   D->addAttr(::new (S.Context) AliasAttr(Attr.getRange(), S.Context,
