- Apr 04, 2015
-
-
Rui Ueyama authored
Because of the previous change (r234074), ELFObjectReader became just an alias for ELFReader. We can replace all occurrences of ELFObjectReader with ELFReader. In this patch, I also replaced ELFDSOReader to remove the alias template. llvm-svn: 234076
-
Craig Topper authored
[X86] Don't use GR64 register 'and with immediate' instructions if the immediate is zero in the upper 33-bits or upper 57-bits. Use GR32 instructions instead. Previously the patterns didn't have high enough priority and we would only use the GR32 form if the only the upper 32 or 56 bits were zero. Fixes PR23100. llvm-svn: 234075
-
Rui Ueyama authored
So that we can remove one template parameter from ELFReader. ELF port is heavily templatized, and I want to reduce the usage where possible. llvm-svn: 234074
-
Rui Ueyama authored
llvm-svn: 234073
-
Rui Ueyama authored
llvm-svn: 234072
-
Chaoren Lin authored
Similar problem as in the last part of r200486. llvm-svn: 234071
-
Rui Ueyama authored
llvm-svn: 234070
-
Rui Ueyama authored
llvm-svn: 234069
-
Rui Ueyama authored
Only MIPS defined the member function, but this feature is not actually MIPS-specific. Also, the dependency to the MIPS-only member function prevented us from merging <Arch>ELF{Object,DSO}Reader classes. This patch moves the feature from MipsLinkingContext to LinkingContext. llvm-svn: 234068 -
David Majnemer authored
Now all fields in the WinEH xdata have been filled out. llvm-svn: 234067
-
Simon Atanasyan authored
llvm-svn: 234066
-
Simon Atanasyan authored
It is enough to have single TargetLayout class. llvm-svn: 234065
-
David Blaikie authored
llvm-svn: 234064
-
David Blaikie authored
Not all of them (there's still a fallback for this specific function that omits the type parameter) but it's some I bothered to do now. llvm-svn: 234063
-
David Majnemer authored
This add support for catching an exception such that an exception object available to the catch handler will be initialized by the runtime. llvm-svn: 234062
-
David Majnemer authored
We don't need to represent UnwindHelp in IR. Instead, we can use the knowledge that we are emitting the parent function to decide if we should create the UnwindHelp stack object. llvm-svn: 234061
-
Rui Ueyama authored
The two classes are the same other than a few exceptions. This patch merges them using templates. llvm-svn: 234060
-
Andrew Kaylor authored
llvm-svn: 234059
-
David Blaikie authored
llvm-svn: 234058
-
David Blaikie authored
llvm-svn: 234057
-
Rui Ueyama authored
<Arch>ELFReader.h contains only a few typedefs. The typedefs are used only by one class in <Arch>TargetHandler.h. Thus, the headers don't worth to be independent files. Since MipsELFReader.h contains code other than the boilerplate, I didn't touch that file in this patch. llvm-svn: 234056
-
Daniel Jasper authored
llvm-svn: 234055
-
Simon Atanasyan authored
No functional changes. llvm-svn: 234052
-
David Majnemer authored
CHECK-LABEL had the wrong function name. llvm-svn: 234051
-
Rui Ueyama authored
<Arch>TargetHandler.h and <ArcH>RelocationHandler.h include each other. This patch breaks the circular dependencies. llvm-svn: 234050
-
Zachary Turner authored
We try to run lldb -P and jump through a bunch of other hoops to figure out where the Python module is so that we can add its location to sys.path. The error message printed when this doesn't work was left over from the time when Mac was the only platform, so it presented a Mac-specific diagnostic on all platforms related to the LLDB Framework. This patch prints a more useful diagnostic when not on Mac that gives a number of other diagnostic messages to check. llvm-svn: 234049
-
Ed Maste authored
The FreeBSD debug register access is a little usual, but in any case different from Linux. As it stands it's not possible to share an implementation of DR_OFFSET, so revert that part of r233837 and provide a separate FreeBSD and Linux implementation. We'll still want a better fix, but this should restore basic functionality (and the buildbot). llvm-svn: 234048
-
Rui Ueyama authored
All <Arch>ELFFileCreateFileTraits structs are the same except its file type. That means that we don't need to pass the type traits. Instead, we can only pass file types. By doing this, we can remove copy-pasted boilerplates. llvm-svn: 234047
-
David Majnemer authored
InstCombine didn't realize that it needs to use DataLayout to determine how wide pointers are. This lead to assertion failures. This fixes PR23113. llvm-svn: 234046
-
Andrew Kaylor authored
llvm-svn: 234045
-
Rui Ueyama authored
result_type is no longer part of the type traits, so keeping it here is confusing. llvm-svn: 234044
-
Andrew Kaylor authored
llvm-svn: 234043
-
David Blaikie authored
The plan here is to push the API changes out from the common components (like Constant::getGetElementPtr and IRBuilder::CreateGEP related functions) and just update callers to either pass the type if it's obvious, or pass null. Do this with LoadInst as well and anything else that comes up, then to start porting specific uses to not pass null anymore - this may require some refactoring in each case. llvm-svn: 234042
-
Andrew Kaylor authored
Differential Revision: http://reviews.llvm.org/D8596 llvm-svn: 234041
-
Simon Atanasyan authored
No functional changes. llvm-svn: 234040
-
Rui Ueyama authored
What we are doing in ELFTarget.h was dubious. In the file, we define partial classes of <Arch>LinkingContexts to declare only static member functions. We have different (complete) class definitions in other files. They would conflict if they exist in the same compilation unit (because the ones defined in ELFTarget.h has only static member functions). I don't think this was valid C++. http://reviews.llvm.org/D8797 llvm-svn: 234039
-
Duncan P. N. Exon Smith authored
As a follow-up to r234021, assert that a debug info intrinsic variable's `MDLocalVariable::getInlinedAt()` always matches the `MDLocation::getInlinedAt()` of its `!dbg` attachment. The goal here is to get rid of `MDLocalVariable::getInlinedAt()` entirely (PR22778), but I'll let these assertions bake for a while first. If you have an out-of-tree backend that just broke, you're probably attaching the wrong `DebugLoc` to a `DBG_VALUE` instruction. The one you want is the location that was attached to the corresponding `@llvm.dbg.declare` or `@llvm.dbg.value` call that you started with. llvm-svn: 234038
-
Justin Bogner authored
llvm-svn: 234037
-
Justin Bogner authored
This avoids crashing or corrupting data if multiple concurrent processes write to the same .gcda file. This is hard to test, since the previous behaviour was a data race that often worked out, and it ignores errors in flock to fall back to the old racy behaviour so that it won't degrade the behaviour on filesystems that don't support flock. llvm-svn: 234036
-
Reid Kleckner authored
llvm-svn: 234034
-