Refactor pragma handling (pass everything to LLVM)

Change-Id: Id09d4934af06f0880cd867456218602ce9a9e2de
diff --git a/slang_backend.cpp b/slang_backend.cpp
index cb17984..35f725f 100644
--- a/slang_backend.cpp
+++ b/slang_backend.cpp
@@ -180,7 +180,7 @@
 Backend::Backend(clang::Diagnostic *Diags,
                  const clang::CodeGenOptions &CodeGenOpts,
                  const clang::TargetOptions &TargetOpts,
-                 const PragmaList &Pragmas,
+                 PragmaList *Pragmas,
                  llvm::raw_ostream *OS,
                  Slang::OutputType OT)
     : ASTConsumer(),
@@ -238,10 +238,10 @@
   assert(mpModule == M && "Unexpected module change during LLVM IR generation");
 
   // Insert #pragma information into metadata section of module
-  if (!mPragmas.empty()) {
+  if (!mPragmas->empty()) {
     llvm::NamedMDNode *PragmaMetadata =
         mpModule->getOrInsertNamedMetadata(Slang::PragmaMetadataName);
-    for (PragmaList::const_iterator I = mPragmas.begin(), E = mPragmas.end();
+    for (PragmaList::const_iterator I = mPragmas->begin(), E = mPragmas->end();
          I != E;
          I++) {
       llvm::SmallVector<llvm::Value*, 2> Pragma;