~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to lib/Target/WebAssembly/WebAssemblySubtarget.cpp

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===-- WebAssemblySubtarget.cpp - WebAssembly Subtarget Information ------===//
 
2
//
 
3
//                     The LLVM Compiler Infrastructure
 
4
//
 
5
// This file is distributed under the University of Illinois Open Source
 
6
// License. See LICENSE.TXT for details.
 
7
//
 
8
//===----------------------------------------------------------------------===//
 
9
///
 
10
/// \file
 
11
/// \brief This file implements the WebAssembly-specific subclass of
 
12
/// TargetSubtarget.
 
13
///
 
14
//===----------------------------------------------------------------------===//
 
15
 
 
16
#include "WebAssemblyInstrInfo.h"
 
17
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
 
18
#include "WebAssemblySubtarget.h"
 
19
#include "llvm/Support/TargetRegistry.h"
 
20
using namespace llvm;
 
21
 
 
22
#define DEBUG_TYPE "wasm-subtarget"
 
23
 
 
24
#define GET_SUBTARGETINFO_CTOR
 
25
#define GET_SUBTARGETINFO_TARGET_DESC
 
26
#include "WebAssemblyGenSubtargetInfo.inc"
 
27
 
 
28
WebAssemblySubtarget &
 
29
WebAssemblySubtarget::initializeSubtargetDependencies(StringRef FS) {
 
30
  // Determine default and user-specified characteristics
 
31
 
 
32
  if (CPUString.empty())
 
33
    CPUString = "generic";
 
34
 
 
35
  ParseSubtargetFeatures(CPUString, FS);
 
36
  return *this;
 
37
}
 
38
 
 
39
WebAssemblySubtarget::WebAssemblySubtarget(const Triple &TT,
 
40
                                           const std::string &CPU,
 
41
                                           const std::string &FS,
 
42
                                           const TargetMachine &TM)
 
43
    : WebAssemblyGenSubtargetInfo(TT, CPU, FS), HasSIMD128(false),
 
44
      CPUString(CPU), TargetTriple(TT), FrameLowering(),
 
45
      InstrInfo(initializeSubtargetDependencies(FS)), TSInfo(),
 
46
      TLInfo(TM, *this) {}
 
47
 
 
48
bool WebAssemblySubtarget::enableMachineScheduler() const { return true; }