~ubuntu-branches/ubuntu/trusty/llvm-toolchain-snapshot/trusty-201310232150

« back to all changes in this revision

Viewing changes to lib/Target/SystemZ/SystemZConstantPoolValue.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-27 15:01:57 UTC
  • mfrom: (0.10.1) (0.9.1) (0.8.1) (0.7.1) (0.6.1) (0.5.2)
  • Revision ID: package-import@ubuntu.com-20130527150157-tdkrsjpuvht7v0qx
Tags: 1:3.4~svn182733-1~exp1
* New snapshot release (3.4 release)
* Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
    to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
  * Various packages rename to allow co installations:
    * libclang1 => libclang1-3.4
    * libclang1-dbg => libclang1-3.4-dbg
    * libclang-dev => libclang-3.4-dev
    * libclang-common-dev => libclang-common-3.4-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===- SystemZConstantPoolValue.h - SystemZ constant-pool value -*- C++ -*-===//
 
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
#ifndef SYSTEMZCONSTANTPOOLVALUE_H
 
11
#define SYSTEMZCONSTANTPOOLVALUE_H
 
12
 
 
13
#include "llvm/CodeGen/MachineConstantPool.h"
 
14
#include "llvm/Support/ErrorHandling.h"
 
15
 
 
16
namespace llvm {
 
17
 
 
18
class GlobalValue;
 
19
 
 
20
namespace SystemZCP {
 
21
  enum SystemZCPModifier {
 
22
    NTPOFF
 
23
  };
 
24
}
 
25
 
 
26
/// A SystemZ-specific constant pool value.  At present, the only
 
27
/// defined constant pool values are offsets of thread-local variables
 
28
/// (written x@NTPOFF).
 
29
class SystemZConstantPoolValue : public MachineConstantPoolValue {
 
30
  const GlobalValue *GV;
 
31
  SystemZCP::SystemZCPModifier Modifier;
 
32
 
 
33
protected:
 
34
  SystemZConstantPoolValue(const GlobalValue *GV,
 
35
                           SystemZCP::SystemZCPModifier Modifier);
 
36
 
 
37
public:
 
38
  static SystemZConstantPoolValue *
 
39
    Create(const GlobalValue *GV, SystemZCP::SystemZCPModifier Modifier);
 
40
 
 
41
  // Override MachineConstantPoolValue.
 
42
  virtual unsigned getRelocationInfo() const LLVM_OVERRIDE;
 
43
  virtual int getExistingMachineCPValue(MachineConstantPool *CP,
 
44
                                        unsigned Alignment) LLVM_OVERRIDE;
 
45
  virtual void addSelectionDAGCSEId(FoldingSetNodeID &ID) LLVM_OVERRIDE;
 
46
  virtual void print(raw_ostream &O) const LLVM_OVERRIDE;
 
47
 
 
48
  // Access SystemZ-specific fields.
 
49
  const GlobalValue *getGlobalValue() const { return GV; }
 
50
  SystemZCP::SystemZCPModifier getModifier() const { return Modifier; }
 
51
};
 
52
 
 
53
} // End llvm namespace
 
54
 
 
55
#endif