Chad Rosier
1df1fb511f
Whitespace.
...
llvm-svn: 162370
2012-08-22 17:34:11 +00:00
Chad Rosier
671dc096ae
Add test case for r162368.
...
llvm-svn: 162369
2012-08-22 17:31:04 +00:00
Chad Rosier
0122909d95
Add a few float shrinking optimizations to SimplifyLibCalls. Unsafe
...
optimizations are guarded by the -enable-double-float-shrink LLVM option.
Last bit of PR13574. Patch by Weiming Zhao <weimingz@codeaurora.org>.
llvm-svn: 162368
2012-08-22 17:22:33 +00:00
David Blaikie
c8c2920a3f
Tidy up a few more uses of MF.getFunction()->getName().
...
Based on CR feedback from r162301 and Craig Topper's refactoring in r162347
here are a few other places that could use the same API (& in one instance drop
a Function.h dependency).
llvm-svn: 162367
2012-08-22 17:18:53 +00:00
Chad Rosier
b2f5c1cdbb
Add a new helper function, AddOpt(F1, F1, Opt), as part of PR13574. No
...
functional change intended. Patch by Weiming Zhao <weimingz@codeaurora.org>.
llvm-svn: 162363
2012-08-22 16:52:57 +00:00
Benjamin Kramer
f29db275b2
Reduce duplicated hash map lookups.
...
llvm-svn: 162362
2012-08-22 15:37:57 +00:00
Stepan Dyatkovskiy
99120e04be
Rejected 169195. As Duncan commented, bitcasting to proper type is wrong approach. We need to insert some valid TRANCATE node here.
...
llvm-svn: 162354
2012-08-22 09:33:55 +00:00
Craig Topper
a538d831e6
Add a getName function to MachineFunction. Use it in places that previously did getFunction()->getName(). Remove includes of Function.h that are no longer needed.
...
llvm-svn: 162347
2012-08-22 06:07:19 +00:00
Craig Topper
056dfcccb7
Don't cache the MBB in the class. Its only used by one function. Change a for loop over operands to use unsigned instead of int.
...
llvm-svn: 162344
2012-08-22 05:59:59 +00:00
Craig Topper
455bcafa3b
Mark a function as static since it doesn't use anything in the class.
...
llvm-svn: 162342
2012-08-22 05:36:44 +00:00
Akira Hatanaka
ad4950258b
Add register Mips::GP to the list of reserved registers if target is bare-metal
...
to prevent it from being clobbered. mips uses $gp to access small data section.
This bug was originally reported by Carl Norum.
llvm-svn: 162340
2012-08-22 03:18:13 +00:00
Akira Hatanaka
9d957842e1
Add option disable-mips-delay-filler. Turn on mips' delay slot filler by
...
default.
Patch by Carl Norum.
llvm-svn: 162339
2012-08-22 02:51:28 +00:00
Jim Grosbach
c93f6c7ec5
TblGen: Make asm-matcher ConvertToMCInst() table driven.
...
No change in interface or functionality. Purely under-the-hood
details of the generated function that change.
The X86 assembly parser is reduced in size by over 15% and ARM by
over 10%.
No performance change by my measurements.
llvm-svn: 162337
2012-08-22 01:06:23 +00:00
Jack Carter
77064c0590
For mips64 switch statements in subroutines could generate
...
within the codegen EK_GPRel64BlockAddress. This was not
supported for direct object output and resulted in an assertion.
This change adds support for EK_GPRel64BlockAddress for
direct object.
One fallout from this is to turn on rela relocations
for mips64 to match gas.
llvm-svn: 162334
2012-08-22 00:49:30 +00:00
Richard Smith
3fb2047f82
Initialize SelectionDAGBuilder's Context in 'init', not in its constructor. The
...
SelectionDAG's 'init' has not been called when the SelectionDAGBuilder is
constructed (in SelectionDAGISel's constructor), so this was previously always
initialized with 0.
llvm-svn: 162333
2012-08-22 00:42:39 +00:00
Richard Smith
24f09cc82d
Reduce alignment of SmallVector<T> to the required amount, rather than forcing 16-byte alignment. This fixes misaligned SmallVector accesses via ExtractValueInst's SmallVector data member.
...
llvm-svn: 162331
2012-08-22 00:11:07 +00:00
Chad Rosier
7fb0cd26f7
Add a few functions to TargetLibraryInfo as part of PR13574.
...
Patch by Weiming Zhao <weimingz@codeaurora.org>.
llvm-svn: 162329
2012-08-21 23:28:56 +00:00
Richard Smith
976f8605e2
MaximumSpanningTree::EdgeWeightCompare: Make this comparator actually be a
...
strict weak ordering, and don't pass possibly-null pointers to dyn_cast.
llvm-svn: 162314
2012-08-21 21:03:40 +00:00
Richard Smith
da32944cac
Fix misaligned access in MachO object file reader: despite containing an
...
int64_t, Symbol64TableEntry is actually only stored with 4-byte alignment
within the file.
The usage of #pragma pack here is copied from the corresponding code in
Support/Endian.h, so shouldn't introduce any new portability problems.
llvm-svn: 162312
2012-08-21 20:52:03 +00:00
Richard Smith
13473857a7
Fix unaligned memory accesses when performing relocations in X86 JIT. There's
...
no cost to using memcpy here: the fixed code is optimized by LLVM to perfect
machine code.
llvm-svn: 162311
2012-08-21 20:48:36 +00:00
Richard Smith
c4379c3b7e
Don't pass a null pointer to cast<> in its unit tests.
...
llvm-svn: 162310
2012-08-21 20:39:25 +00:00
Richard Smith
ad9c8e839e
Don't bind a reference to a dereferenced null pointer (for return value of WeakVH::operator*).
...
llvm-svn: 162309
2012-08-21 20:35:14 +00:00
Chad Rosier
3d4bc62a5c
[ms-inline asm] Do not report a Parser error when matching inline assembly.
...
llvm-svn: 162306
2012-08-21 19:36:59 +00:00
David Blaikie
f737cb3b92
Ignore the documentation-suggested location for compile_commands.json
...
According to http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
it's suggested that compile_commands.json in the root of the LLVM source tree
should be a symlink to the json file produced by your build system of choice.
So here's a patch so it doesn't turn up in git status, etc.
llvm-svn: 162305
2012-08-21 19:23:30 +00:00
David Blaikie
a77f8c8cad
The presence of the empty file "foo" unfortunately does not improve LLVM in any way.
...
Thanks to Duncan Sands for catching this random file in code review.
llvm-svn: 162304
2012-08-21 19:13:12 +00:00
David Blaikie
9c7226b456
Remove unnecessary cast that was also unnecessarily casting away constness.
...
Even looking at the revision history I couldn't quite piece together why this
cast was ever written in the first place, but I assume it was because of some
change in the inheritance, perhaps this function was reimplemented in a
derived type & this caller was meant to get the base version (& it wasn't
virtual)?
llvm-svn: 162301
2012-08-21 18:54:23 +00:00
David Blaikie
a789c40380
Provide a portability macro for __builtin_trap.
...
llvm-svn: 162300
2012-08-21 18:54:21 +00:00
Rafael Espindola
2c06448360
Fix macros arguments with an underscore, dot or dollar in them. This is based
...
on a patch by Andy/PaX. I added the support for dot and dollar.
llvm-svn: 162298
2012-08-21 18:29:30 +00:00
Chad Rosier
79e766c38e
[ms-inline asm] Expose the ErrorInfo from the MatchInstructionImpl. In general,
...
this is the index of the operand that failed to match.
Note: This may cause a buildbot failure due to an API mismatch in clang. Should
recover with my next commit to clang.
llvm-svn: 162295
2012-08-21 18:14:59 +00:00
Chad Rosier
4ee038421b
Formatting. No functional change.
...
llvm-svn: 162292
2012-08-21 17:22:47 +00:00
Rafael Espindola
af6da83a2c
Make the wording in of the "expected identifier" error in the .macro directive
...
consistent with the other "expected identifier" errors.
Extracted from the Andy/PaX patch. I added the test.
llvm-svn: 162291
2012-08-21 17:12:05 +00:00
Duncan Sands
d232ac54c0
Pacify PVS-Studio by changing the type rather than doing a cast, a tweak
...
suggested by David Blaikie.
llvm-svn: 162286
2012-08-21 16:20:37 +00:00
Chad Rosier
d269bd8c24
Add support for the --param ssp-buffer-size= driver option.
...
PR9673
llvm-svn: 162284
2012-08-21 16:15:24 +00:00
Rafael Espindola
d2dc2a7af3
Use typedefs. Fix indentation. Extracted from the Andy/PaX patch.
...
llvm-svn: 162283
2012-08-21 16:06:48 +00:00
Rafael Espindola
5535863043
Remove unused variable. Extracted from the Andy/PaX patch.
...
llvm-svn: 162282
2012-08-21 16:01:14 +00:00
Rafael Espindola
3e5eb4263a
Fix typo. Extracted from the Andy/PaX patch.
...
llvm-svn: 162281
2012-08-21 15:55:04 +00:00
Jim Grosbach
bea6753f4f
MCJIT: Tidy up the constructor.
...
The MCJIT doesn't need or want a TargetJITInfo. That's vestigal from the old
JIT, so just remove it.
rdar://12119347
llvm-svn: 162280
2012-08-21 15:42:49 +00:00
Duncan Sands
68256859ff
PVS-Studio noticed that EmitVBR64 would perform undefined behaviour if the
...
number of bits was bigger than 32. I checked every use of this function
that I could find and it looks like the maximum number of bits is 32, so I've
added an assertion checking this property, and a type cast to (hopefully) stop
PVS-Studio from warning about this in the future.
llvm-svn: 162277
2012-08-21 13:47:25 +00:00
Tim Northover
f39c1a3f72
Add correct set of regression tests for r162094 commit.
...
llvm-svn: 162276
2012-08-21 12:43:03 +00:00
Chandler Carruth
c908ca1766
Port the global copy optimization from the SROA pass to InstCombine.
...
This optimization is really just replacing allocas wholesale with
globals, there is no scalarization.
The underlying motivation for this patch is to simplify the SROA pass
and focus it on splitting and promoting allocas.
llvm-svn: 162271
2012-08-21 08:39:44 +00:00
Craig Topper
bab0c76674
Fix up indentation and remove a couple else's after returns.
...
llvm-svn: 162270
2012-08-21 08:29:51 +00:00
Kostya Serebryany
f4be019fba
[asan] add code to detect global initialization fiasco in C/C++. The sub-pass is off by default for now. Patch by Reid Watson. Note: this patch changes the interface between LLVM and compiler-rt parts of asan. The corresponding patch to compiler-rt will follow.
...
llvm-svn: 162268
2012-08-21 08:24:25 +00:00
Craig Topper
bfcfdeb563
Use uint16_t for tables of opcodes.
...
llvm-svn: 162267
2012-08-21 08:23:21 +00:00
Craig Topper
a0cabf19f8
Fix up indentation. No functional change.
...
llvm-svn: 162264
2012-08-21 08:17:07 +00:00
Craig Topper
4bc3e5a1bf
Add a couple llvm_unreachables. Add a message to several others.
...
llvm-svn: 162263
2012-08-21 08:16:16 +00:00
Craig Topper
653e759046
Replace a break with llvm_unreachable in the default case of a nested switch. Condense code a bit. No functional change.
...
llvm-svn: 162261
2012-08-21 07:32:16 +00:00
Craig Topper
384fae2f0d
Cleanup the scalar FMA3 definitions. Add patterns to fold loads with scalar forms.
...
llvm-svn: 162260
2012-08-21 07:11:11 +00:00
Craig Topper
4f3879dfa7
Merge FMA3 instructions with and without patterns into single classes using null_frag.
...
llvm-svn: 162257
2012-08-21 05:56:45 +00:00
Michael Liao
6e12d12830
revise debug output to avoid dangling pointer
...
llvm-svn: 162256
2012-08-21 05:55:22 +00:00
Jakob Stoklund Olesen
74e6f9fc65
Add a missing def flag.
...
*** Bad machine code: Explicit definition marked as use ***
- function: test_cos
- basic block: BB#0 L.entry (0x7ff2a2024fd0)
- instruction: VSETLNi32 %D11, %D11<undef>, %R0, 0, pred:14, pred:%noreg, %Q5<imp-use,kill>, %Q5<imp-def>
- operand 0: %D11
llvm-svn: 162247
2012-08-21 00:34:53 +00:00