- Dec 04, 2012
-
-
Chandler Carruth authored
missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] llvm-svn: 169224
-
Nadav Rotem authored
llvm-svn: 169223
-
Chandler Carruth authored
This comment has the dual effect of blocking reorderings with the sort_include script. llvm-svn: 169221
-
Bill Wendling authored
The count field is necessary because there isn't a difference between the 'lo' and 'hi' attributes for a one-element array and a zero-element array. When the count is '0', we know that this is a zero-element array. When it's >=1, then it's a normal constant sized array. When it's -1, then the array is unbounded. llvm-svn: 169218
-
Nadav Rotem authored
Add the last part that is needed for vectorization of if-converted code. Added the code that actually performs the if-conversion during vectorization. We can now vectorize this code: for (int i=0; i<n; ++i) { unsigned k = 0; if (a[i] > b[i]) <------ IF inside the loop. k = k * 5 + 3; a[i] = k; <---- K is a phi node that becomes vector-select. } llvm-svn: 169217
-
Kostya Serebryany authored
[asan] add experimental -asan-realign-stack option (true by default, which does not change the current behavior) llvm-svn: 169216
-
Matt Beaumont-Gay authored
llvm-svn: 169214
-
Jyotsna Verma authored
llvm-svn: 169213
-
Jyotsna Verma authored
llvm-svn: 169212
-
rdar://12329730Shuxin Yang authored
The type of shirt-right (logical or arithemetic) should remain unchanged when transforming "X << C1 >> C2" into "X << (C1-C2)" llvm-svn: 169209
-
Alexey Samsonov authored
ASan: add initial support for handling llvm.lifetime intrinsics in ASan - emit calls into runtime library that poison memory for local variables when their lifetime is over and unpoison memory when their lifetime begins. llvm-svn: 169200
-
Jakub Staszak authored
llvm-svn: 169198
-
Manman Ren authored
the alignment is clamped to TargetFrameLowering.getStackAlignment if the target does not support stack realignment or the option "realign-stack" is off. This will cause miscompile if the address is treated as aligned and add is replaced with or in DAGCombine. Added a bool StackRealignable to TargetFrameLowering to check whether stack realignment is implemented for the target. Also added a bool RealignOption to MachineFrameInfo to check whether the option "realign-stack" is on. rdar://12713765 llvm-svn: 169197
-
Jakub Staszak authored
llvm-svn: 169196
-
NAKAMURA Takumi authored
llvm-svn: 169195
-
NAKAMURA Takumi authored
llvm-svn: 169194
-
Jakob Stoklund Olesen authored
These functions have been replaced by TRI::getRegAllocationHints() which provides the same capabilities. llvm-svn: 169192
-
Jakob Stoklund Olesen authored
Now that there can be multiple hint registers from targets, it doesn't make sense to have a function that returns 'the' preferred register. llvm-svn: 169190
-
Jakob Stoklund Olesen authored
Targets can provide multiple hints now, so getRegAllocPref() doesn't make sense any longer because it only returns one preferred register. Replace it with getSimpleHint() in the remaining heuristics. This function only llvm-svn: 169188
-
Manman Ren authored
No functional change for this commit. The follow-up patch will add more stuff to these functions. rdar://12713765 llvm-svn: 169186
-
NAKAMURA Takumi authored
llvm-svn: 169183
-
rdar://12329730Shuxin Yang authored
This change tries to simmplify E1 = " X >> C1 << C2" into : - E2 = "X << (C2 - C1)" if C2 > C1, or - E2 = "X >> (C1 - C2)" if C1 > C2, or - E2 = X if C1 == C2. Reviewed by Nadav. Thanks! llvm-svn: 169182
-
Jakob Stoklund Olesen authored
Virtual registers with a known preferred register are prioritized by RAGreedy. This function makes the condition explicit without depending on getRegAllocPref(). llvm-svn: 169179
-
Akira Hatanaka authored
This small change adds support for that. It will make all MCJIT tests pass in make-check on BigEndian platforms. Patch by Petar Jovanovic. llvm-svn: 169178
-
Akira Hatanaka authored
This change adds endian-awareness to MipsJITInfo and emitWordLE in MipsCodeEmitter has become emitWord now to support both endianness. Patch by Petar Jovanovic. llvm-svn: 169177
-
- Dec 03, 2012
-
-
Michael Ilseman authored
llvm-svn: 169176
-
Nadav Rotem authored
llvm-svn: 169175
-
Akira Hatanaka authored
code. Removing it. Patch by Petar Jovanovic. llvm-svn: 169174
-
Jakob Stoklund Olesen authored
This simplifies the hinting code quite a bit while making the targets easier to write at the same time. llvm-svn: 169173
-
Nadav Rotem authored
llvm-svn: 169172
-
Nadav Rotem authored
llvm-svn: 169171
-
Jakob Stoklund Olesen authored
This provides the same functionality as getRawAllocationOrder() for the even/odd hints, but without the many constant register arrays. llvm-svn: 169169
-
Jyotsna Verma authored
using multiclass. llvm-svn: 169168
-
Michael J. Spencer authored
llvm-svn: 169167
-
Michael J. Spencer authored
llvm-svn: 169166
-
Michael J. Spencer authored
"Windows.h" includes <Windows.h> which defines a bunch of stuff it shouldn't (even with all the restriction macros). We have no control over this file, so make it's scope as small as possible. llvm-svn: 169165
-
Pedro Artigas authored
moves doInitialization and doFinalization to the Pass class and removes some unreachable code in MachineModuleInfo reviewed by Evan Cheng <evan.cheng@apple.com> llvm-svn: 169164
-
Nadav Rotem authored
"single basic block loop vectorizer" to "innermost loop vectorizer". llvm-svn: 169158
-
Michael Ilseman authored
Since this SmallVector immediately grows on the next line, don't waste stack space. SmallVector is still needed due to existing APIs growing their arguments llvm-svn: 169157
-
Jakob Stoklund Olesen authored
The TargetRegisterInfo::getRegAllocationHints() function is going to replace the existing mechanisms for providing target-dependent hints to the register allocator: ResolveRegAllocHint() and getRawAllocationOrder(). The new hook is more flexible because it allows the target to provide multiple preferred candidate registers for each virtual register, and it is easier to use because targets are not required to return a reference to a constant array like getRawAllocationOrder(). An optional VirtRegMap argument can be used to provide target-dependent hints that depend on the provisional assignments of other virtual registers. llvm-svn: 169154
-