Alexis Hunt
483cf24547
Make all fstream tests use tmpnam if creating files, rather than
...
hard-coded names.
llvm-svn: 135444
2011-07-18 23:51:21 +00:00
Bill Wendling
353404d924
Move the compact encoding from the target-specific library to the code-gen
...
library.
llvm-svn: 135443
2011-07-18 23:38:40 +00:00
Owen Anderson
83c6c4f30e
Revamp our handling of tLDMIA[_UPD] and tSTMIA[_UPD] to avoid having multiple instructions with the same encoding. This resolves another conflict when bringing up the new-style disassembler.
...
llvm-svn: 135442
2011-07-18 23:25:34 +00:00
Johnny Chen
f74cb50cda
Add SWIG Python interface files for SBLineEntry, SBListener, and SBModule.
...
llvm-svn: 135441
2011-07-18 23:11:07 +00:00
Eric Christopher
6fdc34054f
Add .gitignore file.
...
llvm-svn: 135440
2011-07-18 23:05:36 +00:00
Evan Cheng
4ce2e4f289
Eliminate TargetAsmInfo::getCompactUnwindEncoding. This get rid of the
...
use of TargetFrameLowering in TargetAsmInfo.
llvm-svn: 135439
2011-07-18 22:32:12 +00:00
Evan Cheng
67c033e6b8
Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for
...
better location welcome).
llvm-svn: 135438
2011-07-18 22:29:13 +00:00
Devang Patel
11de9a966a
Check column number also.
...
llvm-svn: 135437
2011-07-18 22:18:04 +00:00
Johnny Chen
d84a9a1249
Missed the interface file for SBFunction in the previous checkin.
...
llvm-svn: 135436
2011-07-18 22:15:37 +00:00
Owen Anderson
eab4625763
Mark the Darwin assembler workout as isCodeGenOnly, so that it doesn't cause decoding conflicts in the new-style disassembler.
...
llvm-svn: 135434
2011-07-18 22:14:02 +00:00
Johnny Chen
0eca544b45
Add SWIG Python interface files for SBDebugger, SBCompileUnit, and SBEvent.
...
llvm-svn: 135432
2011-07-18 22:11:53 +00:00
Jeffrey Yasskin
7a16288157
Add APInt(numBits, ArrayRef<uint64_t> bigVal) constructor to prevent future ambiguity
...
errors like the one corrected by r135261. Migrate all LLVM callers of the old
constructor to the new one.
llvm-svn: 135431
2011-07-18 21:45:40 +00:00
Johnny Chen
5de6a790f2
Add SWIG Python interface files for SBAddress, SBBlock, SBBreakpoint, and SBBreakpointLocation.
...
llvm-svn: 135430
2011-07-18 21:30:21 +00:00
Sean Callanan
22c52d9a98
Removed a redundant dyn_cast. Thanks to Felipe
...
Cabecinhas.
llvm-svn: 135429
2011-07-18 21:30:18 +00:00
Tobias Grosser
0c0acb02d5
www: Fix typo
...
Reported by: Chad Rosier <mcrosier@apple.com>
llvm-svn: 135428
2011-07-18 21:27:42 +00:00
Eli Friedman
4d5532a085
FileCheck-ize a couple tests.
...
llvm-svn: 135427
2011-07-18 21:23:42 +00:00
Andrew Trick
c43b67644c
Compiler warning.
...
llvm-svn: 135426
2011-07-18 21:15:03 +00:00
Evan Cheng
b505ace101
MCContext now takes MCRegisterInfo.
...
llvm-svn: 135425
2011-07-18 20:57:51 +00:00
Evan Cheng
d60fa58ba1
Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo down
...
to MCRegisterInfo. Also initialize the mapping at construction time.
This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step
towards fixing the layering violation.
llvm-svn: 135424
2011-07-18 20:57:22 +00:00
Devang Patel
4dc76f2438
During bottom up fast-isel, instructions emitted to materalize registers are at top of basic block and do not have debug location. This may misguide debugger while entering the basic block and sometimes debugger provides semi useful view of current location to developer by picking up previous known location as current location. Assign a sensible location to the first instruction in a basic block, if it does not have one location derived from source file, so that debugger can provide meaningful user experience to developers in edge cases.
...
[take 2]
llvm-svn: 135423
2011-07-18 20:55:23 +00:00
Alexis Hunt
4c14ed75ee
Do a litmus test of using tmpnam to generate safe temporary file names
...
for the tests that open new data files.
llvm-svn: 135422
2011-07-18 20:46:16 +00:00
Tobias Grosser
276aab5a21
www: Mention new Polly Builder in News
...
llvm-svn: 135421
2011-07-18 20:34:41 +00:00
Andrew Trick
7da2417c8a
indvars: LinearFunctionTestReplace for non-canonical IVs.
...
For -disable-iv-rewrite, perform LFTR without generating a new
"canonical" induction variable. Instead find the "best" existing
induction variable for use in the loop exit test and compute the final
value of that IV for use in the new loop exit test. In short,
convert to a simple eq/ne exit test as long as it's cheap to do so.
llvm-svn: 135420
2011-07-18 20:32:31 +00:00
Johnny Chen
357033b337
Add SWIG Python interface files for SBProcess, SBThread, and SBFrame.
...
llvm-svn: 135419
2011-07-18 20:13:38 +00:00
Akira Hatanaka
338879a7f4
Do not treat atomic.load.sub differently than other atomic binary intrinsics.
...
llvm-svn: 135418
2011-07-18 19:58:59 +00:00
Johnny Chen
9a5b16b87c
Fix header documentations.
...
llvm-svn: 135417
2011-07-18 19:15:22 +00:00
Johnny Chen
67ae7bdb54
Add two new interface files SBValue.i and SBValueList.i, instead of directly swigging the header files.
...
llvm-svn: 135416
2011-07-18 19:08:30 +00:00
Akira Hatanaka
27292638bd
Set mayLoad or mayStore flags for SC and LL in order to prevent LICM from
...
moving them out of the loop. Previously, stores and loads to a stack frame
object were inserted to accomplish this. Remove the code that was needed to do
this. Patch by Sasa Stankovic.
llvm-svn: 135415
2011-07-18 18:52:12 +00:00
Owen Anderson
64d53620aa
Re-apply r135319 with a fix for the constant island pass.
...
Original Log: Get rid of the separate opcodes for the Darwin versions of tBL, tBLXi, and tBLXr, using pseudo-instructions to lower to the single final opcode. Update the ARM disassembler for this change.
llvm-svn: 135414
2011-07-18 18:50:52 +00:00
Jakob Stoklund Olesen
c45d38e14a
Fix a crash when building 177.mesa for armv6.
...
When splitting a live range immediately before an LDR_POST instruction
that redefines the address register, make sure to use the correct value
number in leaveIntvBefore.
We need the value number entering the instruction.
<rdar://problem/9793765>
llvm-svn: 135413
2011-07-18 18:47:13 +00:00
Andrew Trick
494c549ebd
indvars: Added verification that LFTR and other indvars goodness does
...
not interfere with BackedgeTakenCount computation.
llvm-svn: 135412
2011-07-18 18:44:20 +00:00
Alexis Hunt
397d787642
Given that __underlying_type is now available in clang, implement
...
std::underlying_type.
llvm-svn: 135410
2011-07-18 18:37:21 +00:00
Andrew Trick
a27d8b183a
indvars: Added isHighCostExpansion. Avoid generating extra ops in the
...
preheader for the sole purpose of LFTR, since LFTR itself is usually not
a clear optimization.
llvm-svn: 135409
2011-07-18 18:21:35 +00:00
Bruno Cardoso Lopes
50c1d9816c
Be more smart with VCVTSS2SD. Also place the patterns close to the
...
definitions.
llvm-svn: 135407
2011-07-18 18:11:25 +00:00
Johnny Chen
482ad087ef
Cleaned up the interface file for SBTarget.
...
llvm-svn: 135405
2011-07-18 17:53:20 +00:00
Bruno Cardoso Lopes
4208cace5f
Add AVX 128-bit sqrt versions
...
llvm-svn: 135404
2011-07-18 17:51:40 +00:00
Akira Hatanaka
8b98515c29
Change destination register operands of SC instructions so that unique
...
virtual registers are used.
llvm-svn: 135403
2011-07-18 17:44:27 +00:00
Alexis Hunt
106b4924e2
Thanks to Chandler for reminding me to update the documentation for the
...
__underlying_type feature.
llvm-svn: 135402
2011-07-18 17:22:33 +00:00
Alexis Hunt
c6d1d946e7
Remember to add a has_feature macro for __underlying_type now that it is
...
correctly impelmented
llvm-svn: 135401
2011-07-18 17:08:00 +00:00
Alexis Hunt
f3ff971561
Give A an explicitly non-throwing destructor so that B's destructor is
...
itself non-throwing. Since nested_exception's destructor is
non-throwing, if B's destructor is not, this causes an error in C++03
mode due to the overriding function having a more lax specification.
This did not occur in C++0x mode as A's destructor was implicitly
non-throwing.
llvm-svn: 135400
2011-07-18 17:07:53 +00:00
Jakob Stoklund Olesen
abcfdcea5c
Intern all RecTy subclass instances to avoid duplicates.
...
Make all of the RecTy constructors private, and use get() factory
methods instead. Return singleton instances when it makes sense.
ListTy instance pointers are stored in the element RecTy instance.
BitsRecTy instance pointers, one per length, are stored in a static vector.
Also unique DefInit instances. A Record has a unique DefInit which
has a unique RecordRecTy instance.
This saves some 200k-300k RecTy allocations when parsing ARM.td. It
reduces TableGen's heap usage by almost 50%.
llvm-svn: 135399
2011-07-18 17:02:57 +00:00
Jeffrey Yasskin
d2af962eee
Define DiagnosticBuilder<<APValue so it's easy to include APValues in
...
diagnostics.
llvm-svn: 135398
2011-07-18 16:43:53 +00:00
Howard Hinnant
4af8869934
Update by Marshall Clow
...
llvm-svn: 135397
2011-07-18 16:38:32 +00:00
Chris Lattner
71fbd6b228
various cleanups noticed by Frits
...
llvm-svn: 135396
2011-07-18 16:35:57 +00:00
Enrico Granata
03f16a09bf
Runtime errors in Python scripts were not being shown; this fix makes them print out to ease correcting errors
...
llvm-svn: 135395
2011-07-18 16:24:10 +00:00
Chris Lattner
e5f440204b
remove pasto
...
llvm-svn: 135394
2011-07-18 16:04:11 +00:00
Howard Hinnant
e3163f5ae3
http://llvm.org/bugs/show_bug.cgi?id=10390
...
llvm-svn: 135393
2011-07-18 15:51:59 +00:00
Frits van Bommel
1b3ee75077
Hopefully fix some GCC-based buildbots. GCC apparently decays the array to a pointer here before overload resolution, so construct with an explicit length instead.
...
llvm-svn: 135391
2011-07-18 12:31:03 +00:00
Frits van Bommel
717d7edd3e
Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previously explicit non-default constructors were used.
...
Mostly mechanical with some manual reformatting.
llvm-svn: 135390
2011-07-18 12:00:32 +00:00
Frits van Bommel
23db45e99c
Introduce the 'makeArrayRef(...)' family of functions, which fills a similar role for ArrayRef<> as std::make_pair() fills for std::pair<>: they return the right instantiation of ArrayRef<T> based on the types of the parameters.
...
They mostly mirror the ArrayRef constructors, with two exceptions:
* There's no function mirroring the default constructor because it wouldn't have any parameters to deduce the right ArrayRef<T> from.
* There's an explicit SmallVector<T> overload in addition to the SmallVectorImpl<T> overload. Without it, the single-element overload would try to create an ArrayRef<Smallvector<T> > because it's a better match according to the overloading rules. (And both overloads are used in the current tree, so neither is redundant)
llvm-svn: 135389
2011-07-18 11:58:53 +00:00